Fix for IPv6 Addresses disappear with FRR

This commit is contained in:
Shaun Voigt 2020-04-06 17:36:32 +09:30
parent d0c4d4b935
commit b6fbedf471

View file

@ -4,7 +4,7 @@ Clients for dealing with bridge/interface commands.
import json
from typing import Callable
from core.constants import ETHTOOL_BIN, IP_BIN, OVS_BIN, TC_BIN
from core.constants import ETHTOOL_BIN, IP_BIN, OVS_BIN, TC_BIN, SYSCTL_BIN
class LinuxNetClient:
@ -168,6 +168,10 @@ class LinuxNetClient:
)
else:
self.run(f"{IP_BIN} address add {address} dev {device}")
if ':' in address:
# IPv6 addresses are removed by default on interface down.
# Make sure that the IPv6 address we add is not removed
self.run(f"{SYSCTL_BIN} -w net.ipv6.conf.{device}.keep_addr_on_down=1")
def delete_address(self, device: str, address: str) -> None:
"""