1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

1675 Commits

Author SHA1 Message Date
29ed5855ba 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>
2022-05-26 12:25:49 +02:00
5e3ea6fc62 sonar: addons: vrf: debug log formatting issue
Sonar error:
"Replace this formatting argument with a tuple."

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:20:54 +02:00
265bf3d3b0 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>
2022-05-26 12:20:54 +02:00
82b0d9217e 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>
2022-05-26 12:19:34 +02:00
441d92a35d addons: mstpctl: forcevers: add valid vals: stp/mstp
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:16:39 +02:00
9348b2a9e3 addons: bridge: vni's portmcrouter shouldn't reset to default if policy is set
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:13:53 +02:00
2fdc881411 addons: bridge: prevent multiple vxlans to be added to the same VLAN
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:11:29 +02:00
c198e7ba05 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>
2022-05-26 12:09:19 +02:00
1c4c1f5783 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>
2022-05-26 12:08:10 +02:00
36ac58231f addons: bridge: bridge-portmcrouter: reset to default 1 (automatic) if config is removed
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:06:53 +02:00
b2b8a2e6f4 addons: bridge: bridge-hashmax: upper limit of validrange to 65536
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:06:53 +02:00
3199dd8a0d 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>
2022-05-26 12:04:23 +02:00
e21ee6df28 bond: ifquery-check: translate user config es-sys-mac before comparing to netlink cache
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-26 12:04:20 +02:00
4e0f16d0cf 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>
2022-05-26 12:04:17 +02:00
30f615f2d6 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>
2022-05-25 00:44:28 +02:00
ddb633fe44 Merge pull request #138 from svenauhagen/feature/bondarpcheck
This patch adds the ability to use an ARP IP for the bond check.
2022-05-25 00:23:47 +02:00
10d57d9aaa 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>
2022-05-24 22:50:52 +02:00
e90c33ca6a 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>
2022-05-24 22:05:16 +02:00
66381bcd32 Merge pull request #234 from sohorx/fix/dhcp_client_wait
dhcp: fix dhclient client killed on no wait
2022-05-24 12:47:48 +02:00
09334e7713 addons: dhcp: move policy log info to debug
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-05-23 16:07:58 +02:00
d0efa7d5f3 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.
2022-05-02 12:30:02 +02:00
fdb535edd1 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>
2022-04-30 08:08:07 +02:00
bb29085200 Merge pull request #190 from tjjh89017/fix_systemd_start_order
networking.service: fix start networking.service before network is marked online
2022-04-29 16:48:42 +02:00
cccf76e4c0 addons: address: dad-interval: adding log.info before sleep (#232)
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
2022-04-29 16:20:17 +02:00
3be36120ea Merge pull request #232 from sohorx/dad_handling_per_itf
Dad handling per itf
2022-04-29 16:18:26 +02:00
21a7bd2d91 address: check interface exists before settling dad 2022-04-08 16:00:25 +02:00
eb6ad1f78a addons: address: update modinfo for dad attributes
Help infos came from the ifupdown (original) manual.
2022-04-08 16:00:25 +02:00
d594fb86ca addons: address: up: wait on dad when needed 2022-04-08 16:00:25 +02:00
b99c724a89 addons: address: add a settle dad method
_settle_dad will allow ifupdown2 to wait on ipv6 dad tentative.
2022-04-08 16:00:25 +02:00
beaffab603 addons: address: disable dad on no attempts 2022-04-05 14:46:13 +02:00
f4764e0f96 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.
2022-04-05 14:46:13 +02:00
24be632e93 nlcache: add nodad parameter to addr_add 2022-04-05 14:46:13 +02:00
033683bb81 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.
2022-04-05 14:46:13 +02:00
ac32bec0e2 Merge pull request #231 from CumulusNetworks/revert-230-dad_handling
Revert "Dad handling"
2022-03-25 14:30:10 +01:00
3fd6c20143 Revert "Dad handling" 2022-03-25 14:29:51 +01:00
238787a55f Merge pull request #230 from sohorx/dad_handling
addons: address: add support for DAD
2022-03-25 14:24:54 +01:00
cccdaa46a8 addons: address: update modinfo for dad attributes
Help infos came from the ifupdown (original) manual.
2022-03-25 13:12:51 +01:00
06a49cda4f addons: address: up: wait on dad when needed 2022-03-25 13:12:51 +01:00
aa121e105e addons: address: add a settle dad method
_settle_dad will allow ifupdown2 to wait on ipv6 dad tentative.
2022-03-25 13:12:51 +01:00
33c30d13b1 addons: address: disable dad on no attempts 2022-03-25 12:36:41 +01:00
12d4bd8f7e networkinterfaces: dad attrs placement behavior
Fix the dad-attempts and dad-interval placement behavior to be linked
against it's related address.
2022-03-25 12:34:02 +01:00
98743cb1ff 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).
2022-03-25 12:30:27 +01:00
d7e9168692 nlcache: add nodad parameter to addr_add 2022-03-25 12:23:43 +01:00
57e246438d 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.
2022-03-25 12:18:20 +01:00
ad1c11eeb7 Merge pull request #228 from dverbroekkenexnl/patch-1
Update iface.py : Corrected a typo when the interface is set to KEEP_LINK_DOWN
2022-02-11 17:06:29 +01:00
87b8907951 Update iface.py
Corrected a typo then the interface is set to KEEP_LINK_DOWN
2022-02-11 16:43:41 +01:00
24d5192df2 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>
2022-02-11 12:33:49 +01:00
03cd34767b Merge pull request #220 from Manawyrm/wait-for-udev
debian: Run ifupdown2 after udev has settled
2022-01-28 16:37:15 +01:00
f89c3bd9e2 Merge pull request #219 from Carbenium/source-directory
networkinterfaces: support source-directory statement
2022-01-06 14:53:26 +01:00
0b48d2cf7c implement code review 2022-01-06 12:52:27 +01:00