Fix for IPv6 Addresses disappear with FRR #421
This commit is contained in:
parent
d0c4d4b935
commit
b6fbedf471
1 changed files with 5 additions and 1 deletions
|
@ -4,7 +4,7 @@ Clients for dealing with bridge/interface commands.
|
||||||
import json
|
import json
|
||||||
from typing import Callable
|
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:
|
class LinuxNetClient:
|
||||||
|
@ -168,6 +168,10 @@ class LinuxNetClient:
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.run(f"{IP_BIN} address add {address} dev {device}")
|
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:
|
def delete_address(self, device: str, address: str) -> None:
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Reference in a new issue