summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-04ifconfig: T2241: fix section _basename vlan strippingJernej Jakob
Previously the function returned the correct basename only for vif interfaces as it stopped at the 2nd dot. If we had a vif-s vif-c interface 'eth0.1.2' it would return 'eth0.'. It is now fixed to strip both vif-s and vif-c if 'vlan=True' (default).
2020-05-04bridge: T2241: cleanup verify sectionJernej Jakob
- use is_member function instead of checking config directly - rearrange to join 2 for loops into one - make error output more user friendly - replace .format with f-strings - split into lines less than ~80 characters long
2020-05-04bonding: T2241: fix falling out of bridge when changing settingsJernej Jakob
Previously, set_vrf was always called, which uses the same master and nomaster commands as bridge, so it removed the interface from the bridge. - add checks to make VRF and bridge membership mutually exclusive - always re-add the interface back to any bridge it is part of in case it is deleted and recreated
2020-05-04bonding: T2241: cleanup verify sectionJernej Jakob
- use is_member function instead of checking config directly - make error output more user friendly - replace .format with f-strings - split into lines less than ~80 characters long
2020-05-04bonding: T2241: make address and bridge membership mutually exclusiveJernej Jakob
Bridge members should not have addresses assigned.
2020-05-04bonding: T2241: disallow adding interfaces with addresses to bondJernej Jakob
2020-05-04validate: T2241: add func that checks if an interface has a configured addressJernej Jakob
2020-05-04bonding: T2241: make VRF and bridge membership mutually exclusiveJernej Jakob
2020-05-04vlan: T2241: make address and bridge membership mutually exclusiveJernej Jakob
Bridge members should not have addresses assigned.
2020-05-04configdict: T2241: don't add default IPv6 EUI64 if member of a bridgeJernej Jakob
Bridge members should not have addresses assigned.
2020-05-04vlan: T2241: fix falling out of bridge when changing settingsJernej Jakob
Previously, set_vrf was always called, which uses the same master and nomaster commands as bridge, so it removed the interface from the bridge. - add checks to make VRF and bridge membership mutually exclusive - always re-add the interface back to any bridge it is part of in case it is deleted and recreated (e.g. changing egress/ingress-qos)
2020-05-04interface: T2241: add function to add self to bridgeJernej Jakob
Will be called by all interface scripts to re-add themselves to a bridge after deleting and recreating themselves.
2020-05-04bridge: T2241: use vyos.util get_bridge_member_config functionJernej Jakob
Was previously moved out of this script.
2020-05-04util: T2241: add get_bridge_member_config functionJernej Jakob
Function that parses the config of a bridge member into a dict that is needed to apply all port config when adding a port to a bridge. Needed because other interfaces will be adding themselves to the bridge outside of the bridge conf_mode script and they need a common place to get their config. Can't be put as method of BridgeIf as we can't invoke it without it creating the bridge (create=False raises an exception), we need to get the configuration before we create the interface.
2020-05-04openvpn: T2241: remove redundant bridge_member variableJernej Jakob
2020-05-04vlan: T2241: add checks for bridge membershipJernej Jakob
2020-05-04intf_from_dict: T2241: move getting mac code so it's sorted alphabeticallyJernej Jakob
2020-05-04validate: T2241: rewrite is_bridge_member to generic is_memberJernej Jakob
- rewrite the function to support both bridge and bonding interface types, if the type is passed it searches only that type, otherwise it searches both - move is_member check out of the deleted condition - move is_member check to intf_from_dict for interfaces that use it
2020-05-04configdict: T2241: get interface name in intf/vlan_from_dictJernej Jakob
This is needed as later functions depend on it
2020-05-04util: T2241: add func that gets interface name from current config levelJernej Jakob
2020-05-04vlan: T2241: cleanup vlan_to_dict functionJernej Jakob
Remove one unnecessary call to conf.get_level()
2020-05-04Merge pull request #392 from DmitriyEshenko/ipoe-cur-fix01Christian Poessinger
ipoe: T2294: Fix nodes path
2020-05-04ipoe: T2294: Fix nodes pathDmitriyEshenko
2020-05-03Merge pull request #390 from jjakob/add-del-addrs-optimise-T2367Christian Poessinger
interface: T2367: optimize flow and detriplicate add/del_addr functions
2020-05-03interface: T2367: optimize flow and detriplicate add/del_addr functionsJernej Jakob
- detriplicate list appending - detriplicate returns - use if-elif-else - move check if address is already added to beginning - move caching in variable to after address assignment so a failed assignment won't cache the address
2020-05-03Merge pull request #352 from maplewf/currentDaniil Baturin
[T2311] name servers via cmdline can't take effect
2020-05-02Merge pull request #389 from thomas-mangin/T2367Christian Poessinger
interface: T2367: code clarity
2020-05-02interface: T2367: use self.ifname instead of self.configThomas Mangin
2020-05-02interface: T2367: de-imbricate the ifsThomas Mangin
2020-05-02Merge pull request #388 from jjakob/flush-addrs-T2367Christian Poessinger
T2367: flush addresses when adding bond/bridge members
2020-05-02bridge: T2367: flush all addresses of member interfacesJernej Jakob
Any remaining addresses of an interface (e.g. IPv6 link-local) will be flushed when adding a member. A direct call to ip is necessary for interfaces not under the Interface class (e.g. vlan vif*)
2020-05-02bonding: T2367: flush all addresses of member interfacesJernej Jakob
Any remaining addresses of an interface (e.g. IPv6 link-local) will be flushed when adding a member. A direct call to ip is necessary for interfaces not under the Interface class (e.g. vlan vif*)
2020-05-02interface: T2367: add flush_addrs functionJernej Jakob
Add function that flushes all addresses from an interface.
2020-05-02interface: T2367: fix add_addr and del_addr address tracking in cacheJernej Jakob
Correctly track addresses in cache _addr variable
2020-05-02Merge pull request #387 from thomas-mangin/T2372Christian Poessinger
dictconfig: T2372: fix interfaces disable bug
2020-05-02dictconfig: T2372: fix interfaces disable bugThomas Mangin
off-by one line where the IP were added to the add list and not the remove list
2020-05-02Merge pull request #383 from thomas-mangin/T2372Christian Poessinger
disable :T2372: disable sub-interface if parent is
2020-05-02peth: T2372: convert to use new configdict codeThomas Mangin
use intf_to_dict and add_to_dict to correctly implement disable. keeping all interface code with VLAN the same.
2020-05-02bonding: T2372: convert to use new configdict codeThomas Mangin
use intf_to_dict and add_to_dict to correctly implement disable. keeping all interface code with VLAN the same.
2020-05-02ethernet: T2372: deal with disabled parent intfThomas Mangin
use intf_to_dict and add_to_dict to correctly implement disable.
2020-05-02configdict: T2372: correct disable support in vlan_to_dictThomas Mangin
implement disable_state which looks if the current node, or some designated parent node are set are 'disable' and thefore should be ignored. break down the function vlan_to_dict in it multiple components add_to_dict which can parse vif, vif-s, or vif-c and add them to the configuration dictionary intf_to_dict which setup a base configuration dictionary from the interface Config() with addresses, arp, disable, ... it is used by vlan_to_dict but can and will be used by other interfaces
2020-05-02Merge pull request #385 from c-po/numeric-performanceDaniil Baturin
validators: numeric: T2414: improve runtime performance
2020-05-02validators: numeric: T2414: improve runtime performanceChristian Poessinger
$ time for i in {1..1000}; do /usr/libexec/vyos/validators/numeric --range 1-9999 666; done real 0m56.933s user 0m48.045s sys 0m9.064s $ time for i in {1..1000}; do /usr/libexec/vyos/validators/numeric--range 1-9999 666; done real 0m44.552s user 0m37.760s sys 0m6.989s This is a performance improvement of 21%, running in an ESXi VM with Quad Intel(R) Xeon(R) CPU E5-2630L v3 @ 1.80GHz.
2020-05-01op-mode: monitor: traceroute: T2411: add VRF awarenessChristian Poessinger
2020-05-01op-mode: traceroute: T2129: migrate to top level tagNodeChristian Poessinger
2020-04-30dhcpv6-server: T2406: add lease-time validator to XMLChristian Poessinger
2020-04-30dhcpv6-server: T2406: migrate from string to list when reading configChristian Poessinger
2020-04-30dhcpv6-server: T2406: move FQDN quoting to Jinja2 templateChristian Poessinger
... no need to reinvent the wheel in our Python code.
2020-04-30dhcpv6-server: T2406: merge sip-server-{address,name} to sip-server nodeChristian Poessinger
The subnet specific nodes sip-server-address & sip-server-name do the same for the user - specify a SIP server. Only the backend is rendered in a different way, as ISC DHCPv6 expects different options. There is absolutely no need for the user to distinguish between both two nodes.
2020-04-30dhcpv6-server: T2185: bugfix starting DHCPv6 serverChristian Poessinger