]> git.proxmox.com Git - mirror_ifupdown2.git/log
mirror_ifupdown2.git
23 months agoaddons: address: policy: l3_intf_arp_accept accept arp_accept value
Julien Fortin [Fri, 27 May 2022 09:58:34 +0000 (11:58 +0200)]
addons: address: policy: l3_intf_arp_accept accept arp_accept value

the policy l3_intf_arp_accept now accepts boolean value True(1)/False(0) as well
as normal arp_accept values

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agosbin: start-networking: remove dhclient lease files on shutdown
Julien Fortin [Thu, 26 May 2022 10:35:18 +0000 (12:35 +0200)]
sbin: start-networking: remove dhclient lease files on shutdown

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agolog: use default chmod for os.mkdir
Julien Fortin [Thu, 26 May 2022 10:29:13 +0000 (12:29 +0200)]
log: use default chmod for os.mkdir

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoupdate ifupdown2 debug logging to /var/log/ifupdown2
Julien Fortin [Fri, 12 Nov 2021 12:30:08 +0000 (13:30 +0100)]
update ifupdown2 debug logging to /var/log/ifupdown2

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agolog: add extra try except when removing log dirs and fix eni.d cp
Julien Fortin [Tue, 28 Dec 2021 21:47:48 +0000 (22:47 +0100)]
log: add extra try except when removing log dirs and fix eni.d cp

The extra try/except are necessary just in case something goes wrong
we still want to go through the entire list of extra log dir present
on the system.

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoifupdown2.conf: add persistent debug logging feature
Julien Fortin [Mon, 16 Aug 2021 13:02:10 +0000 (15:02 +0200)]
ifupdown2.conf: add persistent debug logging feature

enable persistent ifupdown2 debug logs
ifupdown2 will keep debug logs in /etc/network/ifupdown2/logs
by default the last 42 configurations logs will be kept.
 yes     - (default) enable persistent logging (42 configs)
 no      - disable persistent logging
 [2-9]+  - specify how many configuration logs should be stored
enable_persistent_debug_logging=yes

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agosonar: addons: vrf: debug log formatting issue
Julien Fortin [Tue, 26 Apr 2022 10:06:13 +0000 (12:06 +0200)]
sonar: addons: vrf: debug log formatting issue

Sonar error:
"Replace this formatting argument with a tuple."

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: vrf: unable to create vrf-max-count (missing +1)
Julien Fortin [Wed, 6 Apr 2022 14:45:44 +0000 (16:45 +0200)]
addons: vrf: unable to create vrf-max-count (missing +1)

A missing "+1" in a loop condition prevents ifupdown2 from creating
N vrfs up to vrf-max-count. We are stuck at vrf-max-count - 1

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: vlan: validate vlan interface name
Julien Fortin [Thu, 5 Aug 2021 17:03:51 +0000 (19:03 +0200)]
addons: vlan: validate vlan interface name

we have an automation test that adds a vrf named "VRF.TEST":

$ ifquery -a
auto VRF.TEST
iface VRF.TEST
    vrf-table auto

$ ifup -a
error: could not determine vlanid
warning: error while writing to file /sys/class/net/VRF.TEST/mtu: [Errno 22] Invalid argument
$

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: mstpctl: forcevers: add valid vals: stp/mstp
Julien Fortin [Wed, 13 Apr 2022 14:57:14 +0000 (16:57 +0200)]
addons: mstpctl: forcevers: add valid vals: stp/mstp

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bridge: vni's portmcrouter shouldn't reset to default if policy is set
Julien Fortin [Wed, 10 Nov 2021 21:42:41 +0000 (22:42 +0100)]
addons: bridge: vni's portmcrouter shouldn't reset to default if policy is set

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bridge: prevent multiple vxlans to be added to the same VLAN
Julien Fortin [Wed, 13 Apr 2022 22:18:14 +0000 (00:18 +0200)]
addons: bridge: prevent multiple vxlans to be added to the same VLAN

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bridge: l2 vni evpn: don't warn for static vxlans
Julien Fortin [Tue, 22 Mar 2022 11:52:12 +0000 (12:52 +0100)]
addons: bridge: l2 vni evpn: don't warn for static vxlans

Due to missing checks, ifupdown2 may display the following warning for
static vxlan configs.

"warning: possible mis-configuration detected: l2-vni configured
with bridge-learning ON while EVPN is also configured - these two
parameters conflict with each other."

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bridge: syntax-check: user defined vni per svi limit
Julien Fortin [Thu, 27 Jan 2022 00:21:42 +0000 (01:21 +0100)]
addons: bridge: syntax-check: user defined vni per svi limit

error: vx-1002: misconfiguration detected: maximum vni allowed per bridge (bridge) svi (1000) is limited to 1 (policy: 'bridge_vni_per_svi_limit')

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bridge: bridge-portmcrouter: reset to default 1 (automatic) if config is...
Julien Fortin [Wed, 6 Oct 2021 12:13:08 +0000 (14:13 +0200)]
addons: bridge: bridge-portmcrouter: reset to default 1 (automatic) if config is removed

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bridge: bridge-hashmax: upper limit of validrange to 65536
Julien Fortin [Thu, 21 Oct 2021 16:07:59 +0000 (18:07 +0200)]
addons: bridge: bridge-hashmax: upper limit of validrange to 65536

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bond: ifquery-check: es-sys-mac value is not part of netlink dump for non...
Julien Fortin [Tue, 15 Mar 2022 16:38:56 +0000 (17:38 +0100)]
addons: bond: ifquery-check: es-sys-mac value is not part of netlink dump for non-root run

For some reason es-sys-mac (IFLA_BOND_AD_ACTOR_SYSTEM) is not part
of the netlink dump if requested by non-root user. This commit adds
a log info and will ignore es-sys-mac in that case.

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agobond: ifquery-check: translate user config es-sys-mac before comparing to netlink...
Julien Fortin [Mon, 15 Nov 2021 14:30:55 +0000 (15:30 +0100)]
bond: ifquery-check: translate user config es-sys-mac before comparing to netlink cache

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: address: clear stale svi fdb entries when svi mac is changed
Julien Fortin [Mon, 18 Apr 2022 23:36:03 +0000 (01:36 +0200)]
addons: address: clear stale svi fdb entries when svi mac is changed

Three issues:
- when `hwaddress` is removed from an SVI (on top of a bridge), the svi
mac is not resetted back to the bridge mac: fixed
- when `hwaddress` is used on an svi, stale fdb enties were added with the
bridge mac: fixed
- on ifdown we were leaving a leftover fdb entry on the deleted svi: fixed

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: bond: fix ifquery for IFLA_BOND_ARP_IP_TARGET
Julien Fortin [Tue, 24 May 2022 22:44:28 +0000 (00:44 +0200)]
addons: bond: fix ifquery for IFLA_BOND_ARP_IP_TARGET

dropping support for multiple ip in bond-arp-ip-target

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoMerge pull request #138 from svenauhagen/feature/bondarpcheck
Julien Fortin [Tue, 24 May 2022 22:23:47 +0000 (00:23 +0200)]
Merge pull request #138 from svenauhagen/feature/bondarpcheck

This patch adds the ability to use an ARP IP for the bond check.

23 months agoaddons: bridge: allow vlan sub interface in vlan-aware bridge (fixes #92)
Julien Fortin [Tue, 24 May 2022 20:50:52 +0000 (22:50 +0200)]
addons: bridge: allow vlan sub interface in vlan-aware bridge (fixes #92)

New bridge policy:
allow-vlan-sub-interface-in-vlan-aware-bridge (default True)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoaddons: address: log error but continue when adding addresses (fixes #130)
Julien Fortin [Tue, 24 May 2022 20:05:16 +0000 (22:05 +0200)]
addons: address: log error but continue when adding addresses (fixes #130)

Signed-off-by: bauen1 <j2468h@gmail.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
23 months agoMerge pull request #234 from sohorx/fix/dhcp_client_wait
Julien Fortin [Tue, 24 May 2022 10:47:48 +0000 (12:47 +0200)]
Merge pull request #234 from sohorx/fix/dhcp_client_wait

dhcp: fix dhclient client killed on no wait

23 months agoaddons: dhcp: move policy log info to debug
Julien Fortin [Wed, 18 May 2022 15:25:32 +0000 (17:25 +0200)]
addons: dhcp: move policy log info to debug

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agodhcp: fix dhclient client killed on no wait
Adrien Banlin [Mon, 2 May 2022 10:24:58 +0000 (12:24 +0200)]
dhcp: fix dhclient client killed on no wait

When a policy dhcp-wait is false the dhcp client is run directly in
background.

But, in most cases, the client won't have the time to find an address
before a check occur.

This is making the client being killed nearly every time.

The obvious solution here is to not check ips differences when no-wait
is asked by the policy.

2 years agoThis patch adds the ability to use an ARP IP for the bond check.
Sven Auhagen [Fri, 29 Apr 2022 09:37:05 +0000 (11:37 +0200)]
This patch adds the ability to use an ARP IP for the bond check.

It is only valid for balance-rr and balance-xor.

One Example is:

auto bond0
iface bond0 inet
        bond-slaves ens21 ens22
        bond-mode balance-rr
        bond-arp-interval 100
        bond-arp-ip-target 8.8.8.8
        address 10.10.10.1/24

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
2 years agoMerge pull request #190 from tjjh89017/fix_systemd_start_order
Julien Fortin [Fri, 29 Apr 2022 14:48:42 +0000 (16:48 +0200)]
Merge pull request #190 from tjjh89017/fix_systemd_start_order

networking.service: fix start networking.service before network is marked online

2 years agoaddons: address: dad-interval: adding log.info before sleep (#232)
Julien Fortin [Fri, 29 Apr 2022 14:20:17 +0000 (16:20 +0200)]
addons: address: dad-interval: adding log.info before sleep (#232)

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoMerge pull request #232 from sohorx/dad_handling_per_itf
Julien Fortin [Fri, 29 Apr 2022 14:18:26 +0000 (16:18 +0200)]
Merge pull request #232 from sohorx/dad_handling_per_itf

Dad handling per itf

2 years agoaddress: check interface exists before settling dad
Adrien Banlin [Fri, 8 Apr 2022 13:46:52 +0000 (15:46 +0200)]
address: check interface exists before settling dad

2 years agoaddons: address: update modinfo for dad attributes
Adrien Banlin [Fri, 25 Mar 2022 11:51:19 +0000 (12:51 +0100)]
addons: address: update modinfo for dad attributes

Help infos came from the ifupdown (original) manual.

2 years agoaddons: address: up: wait on dad when needed
Adrien Banlin [Fri, 25 Mar 2022 11:49:37 +0000 (12:49 +0100)]
addons: address: up: wait on dad when needed

2 years agoaddons: address: add a settle dad method
Adrien Banlin [Fri, 25 Mar 2022 11:47:31 +0000 (12:47 +0100)]
addons: address: add a settle dad method

_settle_dad will allow ifupdown2 to wait on ipv6 dad tentative.

2 years agoaddons: address: disable dad on no attempts
Adrien Banlin [Fri, 25 Mar 2022 11:36:41 +0000 (12:36 +0100)]
addons: address: disable dad on no attempts

2 years agoaddons: address: add dad handling module global
Adrien Banlin [Mon, 4 Apr 2022 15:10:21 +0000 (17:10 +0200)]
addons: address: add dad handling module global

Upon ipv6_dad_handling_enabled module global parameter set to true, the
address addon will handle ipv6 dad tentatives by either
* set nodad when adding an ipv6 address
* waiting for dad to finish or warn of a timeout

This handling should be quick close to the ifupdown process.

2 years agonlcache: add nodad parameter to addr_add
Adrien Banlin [Fri, 25 Mar 2022 11:23:43 +0000 (12:23 +0100)]
nlcache: add nodad parameter to addr_add

2 years agonlpacket: change IFA_FLAGS to a FourByte attribute
Adrien Banlin [Fri, 25 Mar 2022 11:18:20 +0000 (12:18 +0100)]
nlpacket: change IFA_FLAGS to a FourByte attribute

AttributeGeneric cannot be used unless having it's length defined.

This change allow address flags such as optimistic, nodad or others
to be set with the add_attribute packet method.

2 years agoMerge pull request #231 from CumulusNetworks/revert-230-dad_handling
Julien Fortin [Fri, 25 Mar 2022 13:30:10 +0000 (14:30 +0100)]
Merge pull request #231 from CumulusNetworks/revert-230-dad_handling

Revert "Dad handling"

2 years agoRevert "Dad handling"
Julien Fortin [Fri, 25 Mar 2022 13:29:51 +0000 (14:29 +0100)]
Revert "Dad handling"

2 years agoMerge pull request #230 from sohorx/dad_handling
Julien Fortin [Fri, 25 Mar 2022 13:24:54 +0000 (14:24 +0100)]
Merge pull request #230 from sohorx/dad_handling

addons: address: add support for DAD

2 years agoaddons: address: update modinfo for dad attributes
Adrien Banlin [Fri, 25 Mar 2022 11:51:19 +0000 (12:51 +0100)]
addons: address: update modinfo for dad attributes

Help infos came from the ifupdown (original) manual.

2 years agoaddons: address: up: wait on dad when needed
Adrien Banlin [Fri, 25 Mar 2022 11:49:37 +0000 (12:49 +0100)]
addons: address: up: wait on dad when needed

2 years agoaddons: address: add a settle dad method
Adrien Banlin [Fri, 25 Mar 2022 11:47:31 +0000 (12:47 +0100)]
addons: address: add a settle dad method

_settle_dad will allow ifupdown2 to wait on ipv6 dad tentative.

2 years agoaddons: address: disable dad on no attempts
Adrien Banlin [Fri, 25 Mar 2022 11:36:41 +0000 (12:36 +0100)]
addons: address: disable dad on no attempts

2 years agonetworkinterfaces: dad attrs placement behavior
Adrien Banlin [Fri, 25 Mar 2022 11:34:02 +0000 (12:34 +0100)]
networkinterfaces: dad attrs placement behavior

Fix the dad-attempts and dad-interval placement behavior to be linked
against it's related address.

2 years agoaddons: address: get new dad attributes
Adrien Banlin [Fri, 25 Mar 2022 11:30:27 +0000 (12:30 +0100)]
addons: address: get new dad attributes

dad-attempts and dad-interval can now be taken from the interfaces
file.

Those attributes names came from ifupdown (original).

2 years agonlcache: add nodad parameter to addr_add
Adrien Banlin [Fri, 25 Mar 2022 11:23:43 +0000 (12:23 +0100)]
nlcache: add nodad parameter to addr_add

2 years agonlpacket: change IFA_FLAGS to a FourByte attribute
Adrien Banlin [Fri, 25 Mar 2022 11:18:20 +0000 (12:18 +0100)]
nlpacket: change IFA_FLAGS to a FourByte attribute

AttributeGeneric cannot be used unless having it's length defined.

This change allow address flags such as optimistic, nodad or others
to be set with the add_attribute packet method.

2 years agoMerge pull request #228 from dverbroekkenexnl/patch-1
Julien Fortin [Fri, 11 Feb 2022 16:06:29 +0000 (17:06 +0100)]
Merge pull request #228 from dverbroekkenexnl/patch-1

Update iface.py : Corrected a typo when the interface is set to KEEP_LINK_DOWN

2 years agoUpdate iface.py
dverbroekkenexnl [Fri, 11 Feb 2022 15:43:41 +0000 (16:43 +0100)]
Update iface.py

Corrected a typo then the interface is set to KEEP_LINK_DOWN

2 years agoaddons: vlan: retry vlan creation if bridge_binding capability is missing
Julien Fortin [Thu, 10 Feb 2022 14:51:46 +0000 (15:51 +0100)]
addons: vlan: retry vlan creation if bridge_binding capability is missing

On older ubuntu version bridge_binding is not supported, we can't rely
on `ip link help` to detect this. We have manually check if the first
netlink request is rejected then retry with iproute2.

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoMerge pull request #220 from Manawyrm/wait-for-udev
Julien Fortin [Fri, 28 Jan 2022 15:37:15 +0000 (16:37 +0100)]
Merge pull request #220 from Manawyrm/wait-for-udev

debian: Run ifupdown2 after udev has settled

2 years agoMerge pull request #219 from Carbenium/source-directory
Julien Fortin [Thu, 6 Jan 2022 13:53:26 +0000 (14:53 +0100)]
Merge pull request #219 from Carbenium/source-directory

networkinterfaces: support source-directory statement

2 years agoimplement code review
Peter Keresztes Schmidt [Thu, 6 Jan 2022 11:52:27 +0000 (12:52 +0100)]
implement code review

2 years agonetworkinterfaces: support relative paths in source/source-directory statements
Peter Keresztes Schmidt [Thu, 6 Jan 2022 11:27:38 +0000 (12:27 +0100)]
networkinterfaces: support relative paths in source/source-directory statements

According to interfaces(5) [1]:
When sourcing files or directories, if a path doesn't have a leading slash, it's considered relative to the directory containing the file in which the keyword is placed. In the example above, if the file is located at /etc/network/interfaces, paths to the included files are understood to be under /etc/network.

Adapt the implementation to adhere to the documented behaviour.

[1] https://manpages.debian.org/buster/ifupdown/interfaces.5.en.html

2 years agonetworkinterfaces: support source-directory statement
Peter Keresztes Schmidt [Sat, 11 Sep 2021 20:26:08 +0000 (22:26 +0200)]
networkinterfaces: support source-directory statement

ifupdown supports the "source-directory" statement that include the content of the specified directory.
See [1] for details.
Implement the statement to improve compatibility with ifupdown.

Fixes #191

[1] https://manpages.debian.org/buster/ifupdown/interfaces.5.en.html

2 years agoMerge pull request #225 from devicenull/master
Julien Fortin [Wed, 5 Jan 2022 17:12:19 +0000 (18:12 +0100)]
Merge pull request #225 from devicenull/master

Sort filenames in interfaces.d so they're parsed in a consistent order

2 years agoSort filenames in interface.d so they're parsed in a consistent order
Brian Rak [Wed, 5 Jan 2022 16:28:19 +0000 (11:28 -0500)]
Sort filenames in interface.d so they're parsed in a consistent order

2 years agoMerge pull request #224 from polz113/polz113-xmit-hash-policy-vlan-srcmac
Julien Fortin [Wed, 5 Jan 2022 15:24:01 +0000 (16:24 +0100)]
Merge pull request #224 from polz113/polz113-xmit-hash-policy-vlan-srcmac

Update bond.py - add xmit-hash-policy vlan+srcmac

2 years agoAdd support for xmit-hash-policy vlan+srcmac
polz113 [Wed, 5 Jan 2022 12:21:14 +0000 (13:21 +0100)]
Add support for xmit-hash-policy vlan+srcmac

Add support for xmit-hash-policy 5 - vlan+srcmac, added in Linux 5.12.

2 years agoMerge pull request #223 from kvadrage/tunnel_tos_ttl_fix
Julien Fortin [Mon, 6 Dec 2021 14:59:33 +0000 (15:59 +0100)]
Merge pull request #223 from kvadrage/tunnel_tos_ttl_fix

addons: tunnel: add tunnel-tos attribute and "inherit" support

2 years agoaddons: tunnel: new attribute: tunnel-tos
Alexander Petrovskiy [Wed, 1 Dec 2021 15:36:44 +0000 (18:36 +0300)]
addons: tunnel: new attribute: tunnel-tos

'tunnel-tos': {
    'help': 'TOS for tunnel packets (range 0..255), 1=inherit',
    "validrange": ["0", "255"],
    'validvals': ['<number>', 'inherit'],
    'required': False,
    'example': ['tunnel-tos inherit'],
    "aliases": ["tos"]
}

Signed-off-by: Alexander Petrovskiy <alexpe@nvidia.com>
2 years agoaddons: tunnel: add 'inherit' value to 'tunnel-ttl' attribute
Alexander Petrovskiy [Wed, 1 Dec 2021 14:43:29 +0000 (17:43 +0300)]
addons: tunnel: add 'inherit' value to 'tunnel-ttl' attribute

Signed-off-by: Alexander Petrovskiy <alexpe@nvidia.com>
2 years agoMerge pull request #170 from Jasperswaagman/master
Julien Fortin [Wed, 10 Nov 2021 17:12:17 +0000 (18:12 +0100)]
Merge pull request #170 from Jasperswaagman/master

Add none as valid value for bridge-ports on a bridge interface

2 years agoMerge pull request #221 from li-kunkun/fix-default-route-add
Julien Fortin [Thu, 28 Oct 2021 15:35:51 +0000 (17:35 +0200)]
Merge pull request #221 from li-kunkun/fix-default-route-add

Fix adding a static IPv6 default route failed on RA networks

2 years agoFix adding a static IPv6 default route failed on RA networks
Kunkun Li [Mon, 25 Oct 2021 09:08:31 +0000 (17:08 +0800)]
Fix adding a static IPv6 default route failed on RA networks

There may be adding a static IPv6 default route failed on networks where
router advertisements are also present.

The flow of up an interface is this:
1. ip link set dev $interface up
2. set sysctl config
3. config ip addr
4. config default ip route

After setting the link up, the kernel might learning an address and a
default route from RA before the default route config. The default route
will fail to be added. If the RA route is expired, and not be refreshed
for some reasons,the system looses IPv6 network connectivity.

Proposed fix is to use "route replace" instead of "route add". When the
RA learned route is still present it gets replaced, when it is not present
the route gets added.

Signed-off-by: Kunkun Li <likunkun@bytedance.com>
2 years agodebian: Run ifupdown2 after udev has settled
Tobias Mädel [Mon, 27 Sep 2021 14:58:28 +0000 (16:58 +0200)]
debian: Run ifupdown2 after udev has settled

2 years agoaddons: vxlan: fix lib.addon.Vxlan import (fixes: #217)
Julien Fortin [Thu, 26 Aug 2021 11:44:05 +0000 (13:44 +0200)]
addons: vxlan: fix lib.addon.Vxlan import (fixes: #217)

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agonlcache: fix TypeError: argument of type 'IPNetwork' is not iterable
Julien Fortin [Fri, 30 Jul 2021 09:58:54 +0000 (11:58 +0200)]
nlcache: fix TypeError: argument of type 'IPNetwork' is not iterable

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: introduces old_ifaceobjs to get_dependent_ifacenames
Julien Fortin [Tue, 6 Jul 2021 10:46:02 +0000 (12:46 +0200)]
addons: introduces old_ifaceobjs to get_dependent_ifacenames

Other addon modules need to access the list of old ifaceobjs

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agousercmd: fix TypeError: unsupported operand type(s) for |: '_Environ' and 'dict'
Julien Fortin [Tue, 6 Jul 2021 10:38:22 +0000 (12:38 +0200)]
usercmd: fix TypeError: unsupported operand type(s) for |: '_Environ' and 'dict'

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agodebian: changelog: new 3.1.0-1 entry
Julien Fortin [Mon, 5 Jul 2021 17:35:41 +0000 (19:35 +0200)]
debian: changelog: new 3.1.0-1 entry

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agonlcache: clean duplicated code (link_add)
Julien Fortin [Mon, 5 Jul 2021 15:00:44 +0000 (17:00 +0200)]
nlcache: clean duplicated code (link_add)

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agonlcache: update link_set_bridge_info_data_dry_run
Julien Fortin [Mon, 5 Jul 2021 14:59:28 +0000 (16:59 +0200)]
nlcache: update link_set_bridge_info_data_dry_run

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agocleanups - upstream sync
Julien Fortin [Fri, 2 Jul 2021 16:20:42 +0000 (18:20 +0200)]
cleanups - upstream sync

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agonlcache: addr_add: convert pointtopoint and broadcast attribute to ipaddress obj
Julien Fortin [Fri, 18 Jun 2021 14:55:52 +0000 (16:55 +0200)]
nlcache: addr_add: convert pointtopoint and broadcast attribute to ipaddress obj

the following config was broken:

auto swp1
iface swp1
      address 10.128.141.37/26
      broadcast 10.128.141.63

error: netlink: swp1: cannot add address 10.128.141.37/26 dev swp1: 'str' object has no attribute 'packed'

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agolib: nlcache: new netlink API "link_add" (waits for link creation)
Julien Fortin [Tue, 30 Apr 2019 19:22:53 +0000 (03:22 +0800)]
lib: nlcache: new netlink API "link_add" (waits for link creation)

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: link: ifquery-check now validates admin state
Julien Fortin [Fri, 9 Apr 2021 12:58:03 +0000 (14:58 +0200)]
addons: link: ifquery-check now validates admin state

[12:57:29] root:~ # ifquery -a
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto swp1
iface swp1
        post-up ip link set dev swp1 down

auto swp2
iface swp2
        link-down yes

auto swp3
iface swp3
        link-down no

auto swp4
iface swp4

[12:57:29] root:~ #
[12:57:29] root:~ #
[12:57:30] root:~ #
[12:57:30] root:~ # ifquery -ac
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp                                                [pass]

auto swp1
iface swp1 (link is down)                                           [fail]
        post-up ip link set dev swp1 down                               []

auto swp2
iface swp2                                                          [pass]
        link-down yes                                               [pass]

auto swp3
iface swp3                                                          [pass]
        link-down no                                                [pass]

auto swp4
iface swp4

[12:57:31] root:~ #

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agonlcache: link_set_address: override cache after mac address change is aacked
Julien Fortin [Wed, 30 Jun 2021 20:17:23 +0000 (22:17 +0200)]
nlcache: link_set_address: override cache after mac address change is aacked

after a successful mac change we should override our cache so that we don't
keep stale values in cache (in case the cache is queried before the kernel
notification arrives)

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoiproute2: svd: convert vnifilter attr to boolean to cover all case
Julien Fortin [Wed, 9 Jun 2021 14:13:25 +0000 (16:13 +0200)]
iproute2: svd: convert vnifilter attr to boolean to cover all case

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: ifquery-check: mcastgrp-map: use bridge vni show
Julien Fortin [Wed, 23 Jun 2021 12:00:00 +0000 (14:00 +0200)]
addons: vxlan: ifquery-check: mcastgrp-map: use bridge vni show

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: remove stale code (bridge fdb show call)
Julien Fortin [Mon, 21 Jun 2021 17:00:19 +0000 (19:00 +0200)]
addons: vxlan: remove stale code (bridge fdb show call)

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: fix name 'vni_mcastgrp_map' is not defined
Julien Fortin [Mon, 21 Jun 2021 16:17:58 +0000 (18:17 +0200)]
addons: vxlan: fix name 'vni_mcastgrp_map' is not defined

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: mcastgrp-map: remove validval attribute
Julien Fortin [Thu, 10 Jun 2021 19:38:06 +0000 (21:38 +0200)]
addons: vxlan: mcastgrp-map: remove validval attribute

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: refactoring code to allow updating an existing SVD
Julien Fortin [Mon, 7 Jun 2021 18:55:12 +0000 (20:55 +0200)]
addons: vxlan: refactoring code to allow updating an existing SVD

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: fix mcast group get api during vni filter set
Roopa Prabhu [Sat, 5 Jun 2021 05:14:05 +0000 (22:14 -0700)]
addons: vxlan: fix mcast group get api during vni filter set

the mcast group set code was not using the right api
to get mcast groups.

Signed-off-by: Roopa Prabhu <roopa@nvidia.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: remoteip-map: check user config against old config and not running...
Julien Fortin [Tue, 1 Jun 2021 17:39:35 +0000 (19:39 +0200)]
addons: vxlan: remoteip-map: check user config against old config and not running state

'bridge flood macs are deleted everytime ifreload is triggered even without any changes to e/n/i config'
this was happening because ifupdown2 was checking the live fdb entries and calculating the delta between
the new and old config. Now we are simply checking the old and new ifupdown2 (/e/n/i) config to avoid
messing with macs added by the control plane

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: ifquery-check: don't check fdb running state if mcastgrp-map or remote...
Julien Fortin [Tue, 1 Jun 2021 10:21:55 +0000 (12:21 +0200)]
addons: vxlan: ifquery-check: don't check fdb running state if mcastgrp-map or remoteip map are not configured

fdb entries can be added by FRR, so we won't be checking the running
state if there's no record of a user configuration in /e/n/i

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: allow svd config update
Julien Fortin [Mon, 31 May 2021 16:34:09 +0000 (18:34 +0200)]
addons: vxlan: allow svd config update

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: add null list check when mcastgrp map not present
Roopa Prabhu [Sat, 29 May 2021 05:47:42 +0000 (22:47 -0700)]
addons: vxlan: add null list check when mcastgrp map not present

Signed-off-by: Roopa Prabhu <roopa@nvidia.com>
2 years agoaddons: vxlan: support for vxlan-support-mix-dev-types policy (default yes)
Julien Fortin [Tue, 15 Jun 2021 15:39:40 +0000 (17:39 +0200)]
addons: vxlan: support for vxlan-support-mix-dev-types policy (default yes)

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: error out when an unsupported mix of SVD and TVDs are configured
Julien Fortin [Mon, 14 Jun 2021 12:39:12 +0000 (14:39 +0200)]
addons: vxlan: error out when an unsupported mix of SVD and TVDs are configured

Currently mixing SVDs and TVDs on the same system is not supported,
regardless of whether they are in the same vlan-aware bridge or
across different ones. NVUE will configure all VNIs as SVDs by
default so this would hopefully only arise if a user edits
/etc/network/interfaces and manages their configuration with ifupdown2.

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agolib: iproute2: fix missing bridge_vni_del function
Julien Fortin [Thu, 17 Jun 2021 11:36:10 +0000 (13:36 +0200)]
lib: iproute2: fix missing bridge_vni_del function

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agolib: iproute2: batch vni filter commands
Roopa Prabhu [Sun, 6 Jun 2021 03:49:10 +0000 (20:49 -0700)]
lib: iproute2: batch vni filter commands

Signed-off-by: Roopa Prabhu <roopa@nvidia.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: use new vni filter api to set mcast groups per vni
Roopa Prabhu [Sun, 16 May 2021 18:08:44 +0000 (11:08 -0700)]
addons: vxlan: use new vni filter api to set mcast groups per vni

Signed-off-by: Roopa Prabhu <roopa@nvidia.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoifupdown2: lib: dont bring down link during vni filter changes
Roopa Prabhu [Mon, 26 Apr 2021 04:00:36 +0000 (21:00 -0700)]
ifupdown2: lib: dont bring down link during vni filter changes

Signed-off-by: Roopa Prabhu <roopa@nvidia.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: vxlan: add 'Exception' to try/catch
Julien Fortin [Thu, 1 Jul 2021 16:13:55 +0000 (18:13 +0200)]
addons: vxlan: add 'Exception' to try/catch

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: bridge-vlan-vni-map: add vlan reserved check
Julien Fortin [Sat, 19 Jun 2021 00:43:38 +0000 (02:43 +0200)]
addons: bridge-vlan-vni-map: add vlan reserved check

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2 years agoaddons: bridge: bridge-vlan-vni-map: add more details log error when finding duplicat...
Julien Fortin [Mon, 14 Jun 2021 10:40:58 +0000 (12:40 +0200)]
addons: bridge: bridge-vlan-vni-map: add more details log error when finding duplicated vnis

Signed-off-by: Julien Fortin <jfortin@nvidia.com>