Age | Commit message (Collapse) | Author |
|
The internal cache is used as a faster replacement to parsing the active
and proposed configs on initialization of a commit session.
|
|
|
|
|
|
libvyosconfig is both a build and a run dependency of vyos-1x.
Satisfying the build dependency within the Docker image requires
coordination of updates to vyos-build/libvyosconfig/vyos-1x on any
changes to the library; simplify this process by moving the build to a
step of the vyos-1x Makefile.
|
|
This reverts commit bb70ea569f4548b103c54bbb7c393221a6da0a23.
|
|
T6948: Keep DHCP server leases in sync with hostd records
|
|
T7171: Add dstport option to GENEVE tunnels
|
|
|
|
|
|
WireGuardOperational().show_interface() method"
This reverts commit 98414a69f0018915ac999f51975618dd5fbe817d.
|
|
Add helpers:
- `kea_add_lease` to add a lease to the running kea server
- `kea_get_domain_from_subnet_id` to get the domain name
from subnet id
Also, enrich leases with domain name from subnet id
|
|
|
|
Always stop the DHCP client process to clean up routes within the VRF where the
process was originally started. There is no need to add a condition to only
call the method if "address dhcp" was defined, as this is handled inside
set_dhcp(v6) by only stopping if the daemon is running.
DHCP client process restart will be handled later on once the interface is
moved to the new VRF.
|
|
T6058: Fix popen command wrapper handling
|
|
Ensure `wrapper` is only prepended to `command` when it is non-empty
|
|
vyos.ifconfig: T5103: force dhclient restart on VRF change
|
|
|
|
An optional argument vrf_changed was added to the function signature but it
was not put to use. We only need to restart DHCP client on add_addr().
|
|
Previously the DHCPv6 client was restarted on any change to the interface,
including changes only to the interface description. Re-use pattern from IPv4
DHCP to only restart the DHCP client if necessary.
|
|
|
|
Moving an interface in, out or between VRFs will not re-install the received
default route. This is because the dhclient binary is not restarted in the new
VRF. Dhclient itself will report an error like: "receive_packet failed on
eth0.10: Network is down".
Take the return value of vyos.ifconfig.Interface().set_vrf() into account to
forcefully restart the DHCP client process and optain a proper lease.
|
|
syslog: T6989: convert old configuration format to "advanced"
|
|
Some systemd services are re-used over multiple configuration files. Keep a
single source of the real systemd names and only reference them by dictionary
keys.
|
|
The 'hybrid' mode of vyconfd validation and Cstore commit is no longer
needed, in preparation for full vyconfd support.
Revert "vyconf: T6718: use vy_set/delete in configsession and util"
This reverts commit 6999f85b2fc1c6e2421242e30e3810bd19250f3e.
|
|
* 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'
|
|
|