summaryrefslogtreecommitdiff
path: root/src/conf_mode/interface-bonding.py
AgeCommit message (Collapse)Author
2019-09-24Python/ifconfig: T1557: refactor BondIf 'arp_ip_target' property to ↵Christian Poessinger
set_arp_ip_target()/get_arp_ip_target()
2019-09-24Python/ifconfig: T1557: refactor BondIf 'arp_interval' property to ↵Christian Poessinger
set_arp_interval()
2019-09-24Python/ifconfig: T1557: refactor BondIf 'xmit_hash_policy' property to ↵Christian Poessinger
set_hash_policy()
2019-09-24Python/ifconfig: T1557: refactor Interface 'state' property to ↵Christian Poessinger
set_state()/get_state()
2019-09-24Python/ifconfig: T1557: refactor Interface 'arp_cache_tmo' property to ↵Christian Poessinger
set_set_arp_cache_tmo()
2019-09-24Python/ifconfig: T1557: refactor Interface 'proxy_arp_pvlan' property to ↵Christian Poessinger
set_proxy_arp_pvlan()
2019-09-24Python/ifconfig: T1557: refactor Interface 'proxy_arp' property to ↵Christian Poessinger
set_proxy_arp()
2019-09-24Python/ifconfig: T1557: refactor Interface 'ifalias' property to set_alias()Christian Poessinger
2019-09-24Python/ifconfig: T1557: refactor Interface 'link_detect' property to ↵Christian Poessinger
set_link_detect()
2019-09-24Python/ifconfig: T1557: refactor BondIf 'primary' property to set_primary()Christian Poessinger
2019-09-24Python/ifconfig: T1557: refactor 'mac' property to set_mac()Christian Poessinger
2019-09-24Python/ifconfig: T1557: refactor 'mtu' property to get_mtu()/set_mtu()Christian Poessinger
2019-09-20bonding: T1614: minor comment cleanupChristian Poessinger
2019-09-20Python/ifconfig: T1557: rename EthernetIf -> VLANIfChristian Poessinger
An Ethernet Interface will provide additional functionality (link speed/duplex) which is not available for a Bond Interface, but both share the same VLAN capabilities.
2019-09-19bonding: T1614: allow adding disabled interfaces to bondChristian Poessinger
An interface can only be added in disabled state to a bond (ensured via ifconfig.py). Also interfaces can be disabled during runtime in a bond which is supported by the Linux Kernel - so why should be add a restriction here? makes no sense.
2019-09-15bonding: T1614: do not overwrite interface description with interface nameChristian Poessinger
2019-09-13bonding: T1614: use proper (previously missing) miimon propertyChristian Poessinger
2019-09-13bonding: T1660: bugfix for triggered OS permission denied exceptionChristian Poessinger
Some bond modes do not support arp monitor interval and thus internally eset it to 0 which means disabled. If you then write to the sysfs file in question an OS exception (permission denied) is triggered. arp_mon_intvl is initialized as 0 which means disabled so we only write it when it is really requested by the user. There is a validator ensuring that it can only be set in the bond modes which support it.
2019-09-13Revert "[bonding] T1660 Adding additional check. Some bonding mode don't ↵hagbard
support arp_interval" This reverts commit fb1689e20ab9967a4c1e24279f5d4d736b256e83.
2019-09-13[bonding] T1660 Adding additional check. Some bonding mode don't support ↵Eshenko Dmitriy
arp_interval
2019-09-07bonding: T1614: bugfix in validate - enslave failedChristian Poessinger
Forgot to exclude our current bond interface in the search for duplicate interface enslavement.
2019-09-07bridge: bonding: minor comment cleanupChristian Poessinger
2019-09-06bonding: T1614: members are not allowed to be underlaying vxlan devicesChristian Poessinger
2019-09-06bonding: T1614: reword verify() error messagesChristian Poessinger
2019-09-06bonding: T1614: enslaved interfaces can be added to only one bond at a timeChristian Poessinger
2019-09-06Python/ifconfig: T1557: {add,del}_addr() now supports dhcp/dhcpv6Christian Poessinger
Instead of manually starting DHCP/DHCPv6 for every interface and have an identical if/elif/else statement checking for dhcp/dhcpv6 rather move this repeating stement into add_addr()/del_addr(). Single source is always preferred.
2019-09-04Python/configdict: add function vlan_to_dictChristian Poessinger
A generic function which can parse the VLAN (vif, vif-s, cif-c) nodes in a config session. A dictionary describing the VLAN is returned. A good example will be the interface-bonding.py script used to generate bond interfaces in the system. It is used as follows: if conf.exists('vif'): for vif in conf.list_nodes('vif'): # set config level to vif interface conf.set_level(cfg_base + ' vif ' + vif) bond['vif'].append(vlan_to_dict(conf))
2019-09-04Python/configdict: add list_diff function to compare two listsChristian Poessinger
A list containing only unique elements not part of the other list is returned. This is usefull to check e.g. which IP addresses need to be removed from the OS.
2019-09-04bonding: T1614: T532: new commit validatorsChristian Poessinger
As in the past during the priority race of the bash script invalid configuration could appear in the CLI and are de-synced from the kernle state, e.g. some bonding modes do not support arp_interval. This is no longer allowed and added to the migration script so that the config again represents the truth.
2019-09-04bonding: T1614: add vif-c VLAN interface supportChristian Poessinger
Tested using: ============= set interfaces bonding bond0 address 192.0.2.1/24 set interfaces bonding bond0 description "VyOS bonding" set interfaces bonding bond0 disable-link-detect set interfaces bonding bond0 hash-policy layer2+3 set interfaces bonding bond0 ip arp-cache-timeout 86400 set interfaces bonding bond0 mac 00:91:00:00:00:01 set interfaces bonding bond0 mode active-backup set interfaces bonding bond0 mtu 9000 set interfaces bonding bond0 member interface eth1 set interfaces bonding bond0 member interface eth2 set interfaces bonding bond0 vif-s 100 address 192.168.10.1/24 set interfaces bonding bond0 vif-s 100 description "802.1ad service VLAN 100" set interfaces bonding bond0 vif-s 100 mtu 1500 set interfaces bonding bond0 vif-s 100 mac 00:91:00:00:00:02 set interfaces bonding bond0 vif-s 100 vif-c 110 address "192.168.110.1/24" set interfaces bonding bond0 vif-s 100 vif-c 110 description "client VLAN 110" set interfaces bonding bond0 vif-s 100 vif-c 120 address "192.168.120.1/24" set interfaces bonding bond0 vif-s 100 vif-c 120 description "client VLAN 120" set interfaces bonding bond0 vif-s 100 vif-c 130 address "192.168.130.1/24" set interfaces bonding bond0 vif-s 100 vif-c 130 description "client VLAN 130" set interfaces bonding bond0 vif 400 address 192.168.40.1/24 set interfaces bonding bond0 vif 400 description "802.1q VLAN 400" set interfaces bonding bond0 vif 400 mtu 1500 set interfaces bonding bond0 vif 400 mac 00:91:00:00:00:03
2019-09-04bonding: T1614: identical ID on vif and vif-s is not allowedChristian Poessinger
2019-09-04bonding: T1614: T1557: add vif/vif-s VLAN interface supportChristian Poessinger
Support for vif-c interfaces is still missing
2019-09-04bonding: T1614: remove obsolete 'member_remove' dict-keyChristian Poessinger
2019-09-04bonding: T1614: can not set primary interface when it's not part of the bondChristian Poessinger
2019-09-04bonding: T1614: Initial version in new style XML/Python interfaceChristian Poessinger
The node 'interfaces ethernet eth0 bond-group' has been changed and de-nested. Bond members are now configured in the bond interface itself. set interfaces bonding bond0 member interface eth0