]> git.proxmox.com Git - ifupdown2.git/blob - debian/patches/pve/0009-add-arp-accept-option.patch
update submodule to 2.0.1-1
[ifupdown2.git] / debian / patches / pve / 0009-add-arp-accept-option.patch
1 From 45db39f606e09486889128b93f1942639620d2aa Mon Sep 17 00:00:00 2001
2 From: Alexandre Derumier <aderumier@odiso.com>
3 Date: Tue, 3 Sep 2019 09:43:38 +0200
4 Subject: [PATCH] add arp-accept option.
5
6 Currently, the only way to enable arp-accept is to enable
7 a policy with l3_intf_arp_accept.
8
9 But this enable arp-accept for all bridges.
10
11 This option allow to define it for specific bridge.
12
13 This is needed with bgp-evpn and vm migration
14 https://github.com/FRRouting/frr/issues/4904
15 ---
16 ifupdown2/addons/address.py | 9 ++++++++-
17 1 file changed, 8 insertions(+), 1 deletion(-)
18
19 diff --git a/ifupdown2/addons/address.py b/ifupdown2/addons/address.py
20 index f576dc0..762c58c 100644
21 --- a/ifupdown2/addons/address.py
22 +++ b/ifupdown2/addons/address.py
23 @@ -96,6 +96,11 @@ class address(moduleBase):
24 'dual connected VxLANs',
25 'validvals' : ['<ipv4>', ],
26 'example' : ['clagd-vxlan-anycast-ip 36.0.0.11']},
27 + 'arp-accept' :
28 + { 'help': 'Allow gratuitous arp to update arp table',
29 + 'validvals': ['on', 'off', 'yes', 'no', '0', '1'],
30 + 'default' : 'off',
31 + 'example' : ['arp-accept on']},
32 'ip-forward' :
33 { 'help': 'ip forwarding flag',
34 'validvals': ['on', 'off', 'yes', 'no', '0', '1'],
35 @@ -272,6 +277,8 @@ class address(moduleBase):
36 def _process_bridge(self, ifaceobj, up):
37 hwaddress = self._get_hwaddress(ifaceobj)
38 addrs = ifaceobj.get_attr_value_first('address')
39 + arp_accept = ifaceobj.get_attr_value_first('arp-accept')
40 + arp_accept = utils.boolean_support_binary(arp_accept)
41 is_vlan_dev_on_vlan_aware_bridge = False
42 is_bridge = self.ipcmd.is_bridge(ifaceobj.name)
43 if not is_bridge:
44 @@ -290,7 +297,7 @@ class address(moduleBase):
45 self.write_file('/proc/sys/net/ipv4/conf/%s' % ifaceobj.name +
46 '/arp_accept', '0')
47 else:
48 - self.write_file('/proc/sys/net/ipv4/conf/%s/arp_accept' % ifaceobj.name, '0')
49 + self.write_file('/proc/sys/net/ipv4/conf/%s/arp_accept' % ifaceobj.name, arp_accept)
50 if hwaddress and is_vlan_dev_on_vlan_aware_bridge:
51 if up:
52 self.ipcmd.bridge_fdb_add(bridgename, hwaddress, vlan)
53 --
54 2.20.1
55