Age | Commit message (Collapse) | Author |
|
|
|
The NAT system consists out of nested tag nodes which makes manual parsing very
hard. This is a perfect candidate for migrating this to get_config_dict() as
there is already a smoketest in place.
In addition this should make it easier to add features like static nat/hairpin.
|
|
/dev/console is not always present, e.g. on headless devices like an APU4.
|
|
|
|
Commit a2ac9fac ("vyos.template: T2720: always enable Jinja2 trim_blocks
feature") globally enabled the trim_blocks feature. Some templates still used
in-line trim_blocks "{%"- or "-%}" which caused miss-placed line endings.
This is fixed by removing all in-line trim_block statememnts of Jinja2 templates.
|
|
After commit a2ac9fac16eeb626d3969092fecf463650750640 remove no longer
required template trim block statements.
|
|
arping: T2715: Duplicate address detection option supporting ARP
|
|
|
|
|
|
|
|
|
|
pim: igmp: igmp-proxy: T2744: Add check to prevent pimd and igmp-prox…
|
|
|
|
class
|
|
FileNotFoundError: [Errno 2] failed to run command: ip link set dev wg01 master br0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also drop the Python2 print formatting code in favour of Python3 formatted
strings.
|
|
Trimming blocks manually is not needed as the renderer is already called with
the 'trim_blocks' option.
|
|
The dependency on the WireGuard modules actually depend on the runnning Kernel.
While already working on 5.9 support which has a buildin version of WireGuard,
this also eases ARM development.
|
|
When rendering the configs "ifconfig" statement wrong IP addresses have been
used for the "tun" operating mode. This has been corrected.
|
|
Commit 6962bc53 ("vyos.template: provide general is_ip(v4|v6) helpers")
introduced new Jinja2 template filters, but the one for checking an address
if it is an IPv6 address was broken as it was yet unused.
|
|
mpls-conf: T915: Refactored template, handler, added global features
|
|
global features
So this is a big update.
The first thing that was done was a refactor to the FRR LDP template, MPLS handler, and XML conf tree MPLS global additions.
The refactors should work and I did test them in my lab. It seems that everything does work as needed so far in my testing.
There is something here that is considered configuration breaking from the old setup though. In the old setup the MPLS interface operation (as in the interfaces accepting MPLS labels and processing them) was tied with LDP. What this means is that MPLS processing was enabled at the same time as LDP interfaces were configured. We do not want this behavior for the future as there's other MPLS underlay technologies like SR and RSVP. If someone wants to enable SR or RSVP without enabling LDP then they now can. Before, they couldn't. The other additions are global changes to MPLS TTL propagation and MPLS max TTL enforcement. They have now been added.
Lastly, there is an frr-reload bug that Runar Borge found with this. We have found that when totally deleting LDP that there has to be 3 commits done. This is because frr-reload doesn't properly do what it needs to do in 1 operation so we had to do 3. This will only affect people that are doing an entire LDP clear using "delete protocols mpls ldp." Otherwise it isn't seen.
Anyway, this refactor now works with the FRR daemon directly for all changes. This also makes it much easier for adding stuff in the future.
Thank you
|
|
|
|
|
|
The Jinja2 template contained a lot of redundant paths which only differed in
either the address-family or neighbor vs. peer-group. This paths have been
combined into for loops and a macro for generating a neighbor statement as
peer-groups and regular neighbors share ~95% of the config.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In commit 193323ba ('system: T3078: rename "system options" -> "system option'")
the Python handler was renamed but so was not the JSON file corresponding to
the vyos-configd enabled scripts.
|
|
|
|
When VyOS boots the first time with the default configuration there it actually
no "interface ethernet" node present in the config, thus we must exit the
migrator.
Without this change vyos.configtree.ConfigTreeError: Path [b'interfaces ethernet']
doesn't exist will be thrown.
|
|
By design a CLI node should not be named by its plural but rather describe it
as singular.
|
|
After migrating the ethernet interfaces from the good old Perl days the
smp-affinity node yet has no effect anymore as the code is still missing (my
bad, sorry).
Drop the smp-affinity node and rather use tuned instead with the
network-throughput or network-latency profile.
- network-throughput: Profile for throughput network tuning. It is based on the
throughput-performance profile. It additionaly increases kernel network buffers.
- network-latency: Profile for low latency network tuning. It is based on the
latency-performance profile. It additionaly disables transparent hugepages,
NUMA balancing and tunes several other network related sysctl parameters.
I'd set network-throughput as the default on a new set system option performance
<throughput | latency> CLI node which is present in the default configuration.
https://access.redhat.com/sites/default/files/attachments/201501-perf-brief-low-latency-tuning-rhel7-v2.1.pdf
|
|
policy-conf: T439: Add policy local-route PBR
|
|
|
|
|
|
|
|
|
|
|
|
While migration to get_config_dict() was introduced in commit 789775af9f5 the
logic for adding an IPv4 or IPv6 peer address was using the wrong dictionary
to determine if it's an IPv4 or IPv6 address.
We now use the proper peer dict over the wrong config dict.
|