Age | Commit message (Collapse) | Author |
|
* opmode: T7084: reorganize the op mode cache format for ease of search
* opmode: T7084: normalize formatting
|
|
dhcp: T7052: Fix remaining time evaluation and formatting errors
|
|
The remaining time for a lease was not being correctly
evaluated and formatted. As a result, expired leases
show up with `show dhcp server leases`.
Also, the empty hostname should be replaced by '-'.
|
|
|
|
|
|
T4930: Allow WireGuard peers via DNS hostname
|
|
T6641: Add vyos-network-event-logger Service
|
|
The service parses and logs network events for improved monitoring and diagnostics.
Supported event types include:
- `RTM_NEWROUTE`, `RTM_DELROUTE`
- `RTM_NEWLINK`, `RTM_DELLINK`
- `RTM_NEWADDR`, `RTM_DELADDR`
- `RTM_NEWNEIGH`, `RTM_DELNEIGH`, `RTM_GETNEIGH`
- `RTM_NEWRULE`, `RTM_DELRULE`
Added operational mode commands for filtered log retrieval:
- `show log network-event <event-type> <interface>`: Retrieve logs filtered by event type and interface.
- `show interfaces <type> <name> event-log <event-type>`: Display interface-specific logs filtered by event type.
|
|
T7046: add wrappers for reference tree utilities
|
|
dhcp: T7052: Refactor kea dhcp op-mode functions to vyos.kea
|
|
T681: Fix QoS DSCP filter
|
|
Method is not referenced in the code base, remove dead code.
|
|
Extend ConfigTreeQuery().get_config_dict() with arguments to read in default
CLI values, too. This removes the need for hardcoded default values at
multiple places like:
if max_dns_retry is None:
max_dns_retry = 3
in this case.
|
|
WireGuard performs a handshake every WIREGUARD_REKEY_AFTER_TIME if data is
being transmitted between the peers. If no data is transmitted, the handshake
will not be initiated unless new data begins to flow. Each handshake generates
a new session key, and the key is rotated at least every 120 seconds or upon
data transmission after a prolonged silence.
|
|
* set interfaces wireguard wgXX peer YY hostname <fqdn>
|
|
|
|
Relocate the kea dhcp op-mode functions to kea helper
functions in vyos.kea. This allows the functions to
be reused by other scripts, not just op-mode wrappers.
This moves the source of truth for the op-mode
commands to the actual running kea instance,
rather than VyOS config path.
Also, apply some minor code cleanup and make some
of the mappings consistent across the functions.
|
|
|
|
|
|
allows utilizing ssh-agent and other environment-variable-based behavior
customizations
|
|
The left shift operation aligns the DSCP/TOS value with its bit position in the IP header.
TC expects a DSCP value with this shift
|
|
NHRP migration to FRR
|
|
T7016: Simplify logic for force deleting dynamic IPv4 address from interface
|
|
Under very rare cases we can run into a race condition where interfaces are
still in creation phase but are already referenced..
This can trigger:
File "/usr/libexec/vyos/conf_mode/system_conntrack.py", line 270, in <module>
apply(c)
File "/usr/libexec/vyos/conf_mode/system_conntrack.py", line 249, in apply
call_dependents()
File "/usr/lib/python3/dist-packages/vyos/configdep.py", line 147, in call_dependents
f()
File "/usr/lib/python3/dist-packages/vyos/configdep.py", line 118, in func_impl
run_config_mode_script(script, config)
File "/usr/lib/python3/dist-packages/vyos/configdep.py", line 106, in run_config_mode_script
mod.verify(c)
File "/usr/libexec/vyos//conf_mode/service_conntrack-sync.py", line 72, in verify
if len(get_ipv4(interface)) < 1:
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/template.py", line 458, in get_ipv4
return Interface(interface).get_addr_v4()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 334, in __init__
if not self.iftype:
^^^^^^^^^^^
AttributeError: 'Interface' object has no attribute 'iftype'
This commit removes the code path in question and the class attribute check.
The reason for the iftype attribute in the past was a common _create() method
serving for all interface types. As we already have a lot of derived
implementations and not all honor the classes iftype/type member - or even
worse honor it only in 50% of the occurrences it's time to drop it.
|
|
utils: T6975: Add 'vrf' and 'netns' arguments to functions in 'vyos.utils.process'
|
|
|
|
'vyos.utils.process'
|
|
interfaces attached to VRFs
|
|
|
|
The reason is that DHCP routes are not re-generated during FRRrender as long
as there is no protocols static entry in the configuration at all. Move out the
DHCP configuration read-in from the static section.
|
|
* smoketest: T6746: add substring search in getFRRconfig()
Some daemons (e.g. bgpd) have several nested substrings/sections like
router bgp 100
address-family ipv4 unicast
..
exit-address-family
exit
We can now use getFRRconfig() with the substring option to extract only
address-family ipv4 unicast
..
exit-address-family
Making config validation more granular
* frrender: T6746: only re-render FRR config if config_dict did change
* frrender: T6746: fix naming glitch isis/eigrp
* frrender: T6746: add --stdout option when running with debug flags
* smoketest: T6746: remove unneeded commit_guard time
It was an invalid workarround as the underlaying issue seems to be a race
condition in CStore.
The commit process is not finished until all pending files from
VYATTA_CHANGES_ONLY_DIR are copied to VYATTA_ACTIVE_CONFIGURATION_DIR. This is
done inside libvyatta-cfg1 and the FUSE UnionFS part. On large non-interactive
commits FUSE UnionFS might not replicate the real state in time, leading to
errors when querying the working and effective configuration.
TO BE DELETED AFTER SWITCH TO IN MEMORY CONFIG
|
|
|
|
|
|
From time to time integration tests fail as the DHCP assigned IP address is not
removed in time then dhclient stops. Add an explicit code path cleaning dynamic
assigned addresses from interface when disabling DHCP - if such a dynamic
address is remaining.
======================================================================
FAIL: test_dhcp_vrf (__main__.EthernetInterfaceTest.test_dhcp_vrf)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/libexec/vyos/tests/smoke/cli/test_interfaces_ethernet.py", line 72, in tearDown
self.assertNotIn(AF_INET, ifaddresses(interface))
AssertionError: 2 unexpectedly found in {17: [{'addr': '52:54:00:00:00:00',
'broadcast': 'ff:ff:ff:ff:ff:ff'}], 2: [{'addr': '192.0.2.103', 'netmask': '255.255.255.0',
'broadcast': '192.0.2.255'}], 10: [{'addr': 'fe80::5054:ff:fe00:0%eth0',
'netmask': 'ffff:ffff:ffff:ffff::/64'}]}
|
|
pppoe: T6930: Remove unnecessary code
|
|
In case of changes in config that require reconnect PPPoEIF.remove() function is called and old default routes are removed. So we do not need to do it once again.
|
|
frrender: T6746: runtime improvements
|
|
File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 342
if not self.iftype:
^^^^^^^^^^^
AttributeError: 'Interface' object has no attribute 'iftype'
|
|
Keep all FRRender stuff in one place.
|
|
op_mode: T6767: Check latest image version in VRF context for "add system image latest vrf <name>"
|
|
T6874: [QoS] Add class filter by ether
|
|
Previously the FRR configuration was rendered via Jinja2 on every call to
get_frrendet_dict() - but it was used/applied only once.
We save the CPU cycles and render the FRR configuration only once prior to
applying it in FRR.
|
|
|
|
Always evaluate if the debug file exsits and not once during module init. Thus
we can always eanble/disable FRR command debugging during runtime even under
vyos-configd.
|
|
* frr-10:
op-mode: T6746: add "show log frr" and "monitor log frr" commands
frrender: T6746: do not render candidate FRR config to running FRR config file path
frrender: T6746: ensure there are no empty lines in the rendered FRR configuration
bgp: T6746: remove debug code
|
|
Implement a command to configure QoS policy filters by ether properties.
The supported match types include:
- Destination: Specify the Ethernet destination address.
- Protocol: Define the Ethernet protocol.
- Source: Set the Ethernet source address.
`set qos policy <type> <name> class <id> match <match-id> ether <destination|protocol|source> <val>`
|
|
file path
|
|
configuration
|
|
T6799: QoS: Improve Priority-Queue Policy
|
|
Do not use custom daemon definitions like bgpd - re-use them from e.g.
vyos.frrender.bgp_daemon
|