summaryrefslogtreecommitdiffstats
path: root/tools/frr-reload.py
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2020-06-24 20:30:49 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2020-06-24 20:30:49 +0200
commite238920df07be0b61e483f0a58e0b99ab3d2e0ea (patch)
treea75fc04c57b8ecf69b25c6470408a5c0bcab82fb /tools/frr-reload.py
parentMerge pull request #6632 from donaldsharp/pbr_data_gathering (diff)
downloadfrr-e238920df07be0b61e483f0a58e0b99ab3d2e0ea.tar.xz
frr-e238920df07be0b61e483f0a58e0b99ab3d2e0ea.zip
tools: Fix reload with 'ipv6 address...' in interface
When you have this configuration: int foo ipv6 address fd01:0:0:1::1/64 And issue a reload statement, FRR-reload is reducing the code to a `no ipv6 address fd01:0:0:1::/64` and then issuing a: `ipv6 address fd01:0:0:1::/64` The end result is of course that the foo interface now has two v6 addresses on it. The brilliance of this is of course if you happen to have two systems that are connected over an interface, and you issue a reload command. They both get fd01:0:0:1::/64 as an ipv6 address and DAD detection kicks in and stomps on your stuff. Put a special hey don't munch the v6 address line in a reload situation. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'tools/frr-reload.py')
-rwxr-xr-xtools/frr-reload.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index bf39dcc03..200279b12 100755
--- a/tools/frr-reload.py
+++ b/tools/frr-reload.py
@@ -234,7 +234,7 @@ class Config(object):
# Compress duplicate whitespaces
line = ' '.join(line.split())
- if ":" in line:
+ if ":" in line and not "ipv6 add":
qv6_line = get_normalized_ipv6_line(line)
self.lines.append(qv6_line)
else: