summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-04pppoe: T2219: move adding of default route to ip-(up|down) scriptChristian Poessinger
As PPPoE interfaces should be part of a VRF it is required that the default can also be set into the specified VRF. The default way of PPP by setting the "defaultroute" option does not take a VRF into account. In this case PPP installs a Kernel route forwarding all default traffic over this interface. This change installs a static route with metric 1 instead into the routing table via FRR. This is not the same as a Kernel route in terms of metric 1 compared to 0 but it should do the trick.
2020-04-04pppoe: T1318: support more then 99 dialer interfacesChristian Poessinger
2020-04-04wwan: T2219: add default route into VRFChristian Poessinger
2020-04-04wwan: T1988: move default route scripts to Jinja templatesChristian Poessinger
2020-04-04pppoe: T1318: move Jinja2 templates to data/templates folderChristian Poessinger
This makes the actual code which generates the configs much more human readable.
2020-04-04vyos.util: use common subprocess_cmd wrapperChristian Poessinger
2020-04-04wwan: T1988: move Jinja2 templates to data/templates folderChristian Poessinger
This makes the actual code which generates the configs much more human readable.
2020-04-04wwan: T1988: move vrf/ifalias to ip-pre-up scriptChristian Poessinger
A ip-pre-up script is better the ip-up as this is done before any addresses have been added and any traffic flows.
2020-04-03Merge pull request #296 from zdc/T1820Christian Poessinger
VRRP: T1820: Added transition-script support for sync-groups
2020-04-03pppoe: T1318: minor cleanupsChristian Poessinger
2020-04-03wwan: T1988: minor cleanupsChristian Poessinger
2020-04-03Merge pull request #293 from zdc/T2193Christian Poessinger
VRRP: T2193: Added disabled VRRP instances to `show vrrp`
2020-04-03Merge pull request #294 from runborg/fix-vrf-rexChristian Poessinger
vrf: T31: Allow vrf name to look more like interface name
2020-04-03vrf: T31: Allow vrf name to look more like interface nameRunar Borge
Fix the regex to allow vrf instances like "eth0vrf" but not to allow "eth0"
2020-04-03validate: mac: autopep8Christian Poessinger
2020-04-03ipv6: T1831: add autoconf/eui64 addressing to interfacesChristian Poessinger
2020-04-03interfaces: XML: constraint: add start of line ^ to regexChristian Poessinger
2020-04-03vrf: T31: name of isntance is not allowed to mimic an interface nameChristian Poessinger
Every VRF that's created is not allowed to be named like any interface that can be active on the system. This includes eth, lan, br, dum, lo .... In theoriy this would work but as soon as such a regular interface is created things will go sideways rather quick thus we limit the namespace which can be used to create a VRF. Appending an interface name is still possible like coolvrf-eth0.
2020-04-03pppoe: bugfix template name after migration to ip-up scriptsChristian Poessinger
Commit 6a0c6783d8b2 ("pppoe: migrate alias and vrf script from pre-up to up") changed the name of the ip-up script template but the template definition has been forgotten. This caused: NameError: name 'config_pppoe_ip_up_tmpl' is not defined
2020-04-02bgp: T2100: migration to drop parameter disable-network-import-checkJohn Estabrook
2020-04-02wwan: migrate alias and vrf script from pre-up to upChristian Poessinger
As the pre-up script is only run once when the interface is brought up but not when the interface maybe only comes up 20 seconds later due to the remote site some actions can not be performed as placing the interface e.g. into a VRF instance. TODO: also move the backup default route parts to this new script.
2020-04-02pppoe: migrate alias and vrf script from pre-up to upChristian Poessinger
As the pre-up script is only run once when the interface is brought up but not when the interface maybe only comes up 20 seconds later due to the remote site some actions can not be performed as placing the interface e.g. into a VRF instance.
2020-04-02wwan: migrate to new new helpers in vyos.utilChristian Poessinger
Commit d2cf287 ("vyos.util: add chown_file and chmod_x_file helpers") added common helper functions to chown or chmod +x a file. Make use of those helpers.
2020-04-02pppoe: migrate to new new helpers in vyos.utilChristian Poessinger
Commit d2cf287 ("vyos.util: add chown_file and chmod_x_file helpers") added common helper functions to chown or chmod +x a file. Make use of those helpers.
2020-04-02vyos.util: move import statements next to the helpers using itChristian Poessinger
2020-04-02vyos.util: add chown_file and chmod_x_file helpersChristian Poessinger
2020-04-02pppoe: vrf: bugfix - only pppoe0 could be assigned to a VRFChristian Poessinger
2020-04-02wwan: vrf: T2200: add CLI options and parse configuration to dictionaryChristian Poessinger
2020-04-02bridge: l2tpv3: T1823: readjust overall prioritiesChristian Poessinger
Every interface on the system can be a member of a bridge - thus the bridge interface must be the one interface which has the highest priority compared to all other interfaces - incl. l2tpv3. With this change the system boots up fine with also l2tpv3 interfaces participating as bridge members. This change was needed as a l2tpv3 interface requires proper configured routing oin the system, else adding the interface will fail miserably: FileNotFoundError: [Errno 2] ip l2tp add tunnel tunnel_id 200 peer_tunnel_id 100 udp_sport 4000 udp_dport 3000 encap udp local 172.18.201.10 remote 172.18.203.10 returned: RTNETLINK answers: Network is unreachable
2020-04-02l2tpv3: T1823: change interface priorityChristian Poessinger
As L2TPv3 interfaces can be member interface of a bridge device it must be configured prior to the bridge - else the system will boot with an error as member adding fails.
2020-04-02fconfig: l2tpv3: T1823: fix configuration build syntaxChristian Poessinger
Fixes reference to unspecified variable Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/interfaces-l2tpv3.py", line 245, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/interfaces-l2tpv3.py", line 211, inapply l = L2TPv3If(l2tpv3['intf'], **conf) File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 185, in __init__ self._create() File "/usr/lib/python3/dist-packages/vyos/ifconfig/l2tpv3.py", line 48, in _create cmd = 'ip l2tp add tunnel tunnel_id {} '.format(config['tunnel_id']) NameError: name 'config' is not defined
2020-04-02ifconfig: l2tpv3: T1823: add missing items from config dict to optionsChristian Poessinger
Commit 8a4dd6c2816 ("ifconfig: T2057: add class Register") added the interface options but not all have been migrated. The forgotten ones have been added by this commit (session_id & peer_session_id).
2020-04-02ifconfig: l2tpv3: T1823: add missing import statementChristian Poessinger
Import statement has been forgotton on the ifconfig file split.
2020-04-02VRRP: T1820: Added transition-script support for sync-groupszsdc
Note: if transition-scripts configured for both vrrp instance and sync group, which are it a member of, both scripts will be executed.
2020-04-02VRRP: T2193: Added disabled VRRP instances to `show vrrp`zsdc
Disabled VRRP instances will be listed in a `show vrrp` command at the end of the list with the DISABLED status
2020-04-02Merge pull request #292 from zdc/T1350Daniil Baturin
keepalived: T1350: Replaced transition scripts logic
2020-04-01Merge pull request #291 from thomas-mangin/T2182-percentChristian Poessinger
validate: T2182: IPv6 normalisation and % in interface name
2020-04-01validate: T2182: IPv6 normalisation and % in interface nameThomas Mangin
The IPv6 address can be expressed in different ways: (for example all these are valid loopback ::1, 0::1, 0:0::0:001) The IPv6 need to be normalised when tested, and the best way to do this is to test it on-wire representation, the same can be done for IPv4. Also The interface name which returned by netifaces.ifaddresses can have a % in the 'addr' field, for example '::1%eth0', which would also break the test in is_intf_addr_assigned.
2020-04-01keepalived: T1350: Replaced transition scripts logiczsdc
In old implementation, all notify scripts are configured directly inside a keepalived.conf. This way is not recommended even by keepalived as scripts execution is not tracked and they may be running not in order and killed before the actual work will be finished. We have observed such situations in very rare cases during tests. New implementation use FIFO pipe, to which keepalived send any state changes. And these notifications are read by a daemon, saved in a queue and processed one by one, which eliminates the situation when the scripts creating inconsistent config or environment.
2020-03-31Revert "validate: T2182: IPv6 are not normalised when compared"Christian Poessinger
This reverts commit e2f80e57d9895d207edf0ad92c299dc7862087d6. Due to failing smoketests this commit is reverted.
2020-03-31Merge pull request #287 from thomas-mangin/T2182Christian Poessinger
validate: T2182: IPv6 are not normalised when compared
2020-03-31Merge pull request #290 from Elbandi/fixntpChristian Poessinger
T2188: use ntpq for query NTP daemon infos
2020-03-31Merge pull request #283 from thomas-mangin/T2057-wg-dumpChristian Poessinger
ifconfig: T2057: Move code from interface.py to wireguard.py
2020-03-31ifconfig: T2057: centralise wireguard codeThomas Mangin
Some left over wireguard code was left in the interface.py file. The code was moved into the wireguard.py file and the now empty interface.py file removed as no longer holdin any code.
2020-03-31ifconfig: T2057: allow to disable interface debuggingThomas Mangin
In order to be able to use the interface class with operational mode, these commands must not log as it would otherwise mess with the output on the screen.
2020-03-31T2188: use ntpq for query NTP daemon infosAndras Elso
2020-03-31Merge pull request #284 from jestabro/T2180Daniil Baturin
vyos.config: T2180: ignore CLI edit level in show_config
2020-03-31Merge pull request #286 from jestabro/change-trailing-syntaxDaniil Baturin
Change trailing syntax
2020-03-30config load: T2053: update for version string syntax changeJohn Estabrook
2020-03-30validate: T2182: IPv6 are not normalised when comparedThomas Mangin
Adding an already existing IP address on an interface would cause the 'ip addr add' command to fail. To prevent this, the code checks if the IP already exists on the interface. The code was not normalising the different ways of representing the IPv6 address (trailing 0, ::, etc.).