Age | Commit message (Collapse) | Author |
|
ifconfig: T2057: allow unknown config keys, and fix variable name ref.
|
|
|
|
|
|
Error introduced in commit b38dcaf ("ifconfig: T2057: generic interface option
setting").
File "/usr/lib/python3/dist-packages/vyos/ifconfig.py", line 146, in _get_sysfs
filename = self._sysfs_get[name]['location'].format(config)
KeyError: 'ifname'
|
|
this patch allows to get or change many interface options (mtu, arp settings, ...)
using get_interface / set_interface functions
|
|
|
|
|
|
Provides a way to pass options to interface consistent between
subclasses of Interface
|
|
|
|
THe delta check/calculation always returned False on system startup leading
to a non functioning bond interface after a reboot as no physical interface
actually enslaved.
This was fixed by not calculating the current enslaved interfaces from
the existing config but rather retrieving the interfaces from sysfs.
|
|
|
|
The removal of interfaces loopback lo results in all address being
removed from the loopback interface. (also not cli controlled addresses)
In this process 127.0.0.1/8 and ::1/128 are also removed witch results
in error for services that are dependent on these adresses, this includes
eg. snmp and ssh
Removal of these addresses needs to be disallowed by the config backend
and removal of the whole config block interfaces loopback lo needs to
result in removal of all non-default addresses only.
|
|
|
|
This reverts commit 4a4e2b6386b4c036bbf4486a8a7ac7002d08158b.
|
|
interfaces"
This reverts commit 95f7a440031c58b47fd88d6aa9fac3ddaf6ae231.
|
|
Commit 4a4e2b6 ("ifconfig: T2002: only admin up interfaces if parent interface
is up") contained an inheritance issue where the Ethernet and Bond interface
was always admin down. This was caused by wrong calls in the inheritance
structure.
|
|
On an A/D (administrative down) interface the VLAN code tries to still admin
up the interface. This won't work and the kernel will complain with:
RTNETLINK answers: Operation not permitted
With this change the VLAN interface is only enabled when the parent interface
is administrative up, too.
|
|
Provide an XML/Python abstraction to
* ip disable-arp-filter
* ip enable-arp-accept
* ip enable-arp-announce
* ip enable-arp-ignore
The old implementation can co-exist until the last interfaces have been
migrated.
|
|
|
|
Tested using:
R1:
---
set interfaces l2tpv3 l2tpeth10 address '2001:db8:beef::1/64'
set interfaces l2tpv3 l2tpeth10 address '100.0.0.1/24'
set interfaces l2tpv3 l2tpeth10 destination-port '3000'
set interfaces l2tpv3 l2tpeth10 encapsulation 'udp'
set interfaces l2tpv3 l2tpeth10 local-ip '172.18.201.10'
set interfaces l2tpv3 l2tpeth10 peer-session-id '10'
set interfaces l2tpv3 l2tpeth10 peer-tunnel-id '100'
set interfaces l2tpv3 l2tpeth10 remote-ip '172.18.204.10'
set interfaces l2tpv3 l2tpeth10 session-id '20'
set interfaces l2tpv3 l2tpeth10 source-port '6000'
set interfaces l2tpv3 l2tpeth10 tunnel-id '200'
R2:
---
set interfaces l2tpv3 l2tpeth10 address '2001:db8:beef::2/64'
set interfaces l2tpv3 l2tpeth10 address '100.0.0.2/24'
set interfaces l2tpv3 l2tpeth10 destination-port '6000'
set interfaces l2tpv3 l2tpeth10 encapsulation 'udp'
set interfaces l2tpv3 l2tpeth10 local-ip '172.18.204.10'
set interfaces l2tpv3 l2tpeth10 peer-session-id '20'
set interfaces l2tpv3 l2tpeth10 peer-tunnel-id '200'
set interfaces l2tpv3 l2tpeth10 remote-ip '172.18.201.10'
set interfaces l2tpv3 l2tpeth10 session-id '10'
set interfaces l2tpv3 l2tpeth10 source-port '3000'
set interfaces l2tpv3 l2tpeth10 tunnel-id '100'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Commit 9e4947770064 ("ifconfig: T1793: add delta check on set_speed_duplex()")
was wave1 of reducing the amount of switch-port flaps and BGP session resets.
The delta check now also handles the case of fixed speed and duplex settings.
|
|
The speend and duplex settings should only be changed when they need to.
Always configuring this setting will make the kernel disable and re-enable the
physical interface. This will not only let the switchport flap but it will also
reset e.g. BGP sessions.
This is the first part of this fix for speed/duplex auto settings.
In addition - this also reduces the config commit time.
|
|
The flow control settings should only be changed when they need to. If flow
control is altered, the kernel will disable and re-enable the interface. This
will not only let the switchport flap but it will also reset e.g. BGP
sessions.
In addition - this also reduces the config commit time.
|
|
|
|
|
|
|
|
|
|
DHCP was only started when the interface operstate was set to up but this is
wrong. An interface can be configured as DHCP interface and DHCP client must
be launched even when the physical interface becomes available n-minutes
later. DHCP client then can ask for an IP assignemnt by DHCP.
Tested by starting DHCP client on a not connected ethernet interface. Address
was assigned later on after link became ready.
|
|
|
|
This reverts commit 1257d7851866d42287018b38dd871f279b87286a.
It will delay network interface configuration everywhere when e.g. no network
cable is plugged in. We should find the root cause why DHCPd sometimes did not
start.
|
|
|
|
|
|
|
|
|
|
|
|
With some interfaces, for example bond vif, it take some time for the state
change to really happen. Because of this later code, like starting DHCP client,
might not work as expected as get_state() reports the old (real) state.
Now when changing state of an interface we are (busy-)waiting up to 12.5
seconds before we inform the user that the interface could not be brought up.
This should be more then enough time for any interface to start except when
there is really no cable attached.
|
|
|
|
|
|
VLAN interfaces have not been removed "in order". What does it mean? We need to
delete Q-in-Q interfaces prior to deleting the underlaying VLAN interface
(vif-s). This was not the case and that triggered an exception that a non
existing interface was about to be removed.
Tested using adding and deleting the following config:
set interfaces ethernet eth2 address 192.0.2.1/24
set interfaces ethernet eth2 description "VyOS bonding"
set interfaces ethernet eth2 disable-link-detect
set interfaces ethernet eth2 mac 00:91:00:00:00:01
set interfaces ethernet eth2 mtu 9000
set interfaces ethernet eth2 vif-s 100 address 192.168.10.1/24
set interfaces ethernet eth2 vif-s 100 description "802.1ad service VLAN 100"
set interfaces ethernet eth2 vif-s 100 mtu 1500
set interfaces ethernet eth2 vif-s 100 mac 00:91:00:00:00:02
set interfaces ethernet eth2 vif-s 100 vif-c 110 address "192.168.110.1/24"
set interfaces ethernet eth2 vif-s 100 vif-c 110 description "client VLAN 110"
set interfaces ethernet eth2 vif-s 100 vif-c 120 address "192.168.120.1/24"
set interfaces ethernet eth2 vif-s 100 vif-c 120 description "client VLAN 120"
set interfaces ethernet eth2 vif-s 100 vif-c 130 address "192.168.130.1/24"
set interfaces ethernet eth2 vif-s 100 vif-c 130 description "client VLAN 130"
set interfaces ethernet eth2 vif 400 address 192.168.40.1/24
set interfaces ethernet eth2 vif 400 description "802.1q VLAN 400"
set interfaces ethernet eth2 vif 400 mtu 1500
set interfaces ethernet eth2 vif 400 mac 00:91:00:00:00:03
|
|
|
|
set_arp_interval()
|
|
set_arp_ip_target()/get_arp_ip_target()
|
|
set_arp_interval()
|
|
set_hash_policy()
|