diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-06-24 20:30:49 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-06-24 20:30:49 +0200 |
commit | e238920df07be0b61e483f0a58e0b99ab3d2e0ea (patch) | |
tree | a75fc04c57b8ecf69b25c6470408a5c0bcab82fb /tools/frr-reload.py | |
parent | Merge pull request #6632 from donaldsharp/pbr_data_gathering (diff) | |
download | frr-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-x | tools/frr-reload.py | 2 |
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: |