diff options
| author | Christian Franke <chris@opensourcerouting.org> | 2012-12-13 13:50:28 +0100 |
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2013-11-20 10:35:59 +0100 |
| commit | 37531a7ec380554b18c004bcae9f5a070385d132 (patch) | |
| tree | fb1893fcf7be8f613a3cd0a82f0150af4a3974f7 | |
| parent | 1579a67f130ca34df9acefac14ebcdfdd8f6600a (diff) | |
ospf6d: clear DR info on interface_down
This fixes an issue where ospf6d would send incorrect hellos and
perform wrong DR election when an interface went down and up
again.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
| -rw-r--r-- | ospf6d/ospf6_interface.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index c692f2c7d3..86c0bf6882 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -769,6 +769,10 @@ interface_down (struct thread *thread) list_delete_all_node (oi->neighbor_list); + /* When interface state is reset, also reset information about + * DR election, as it is no longer valid. */ + oi->drouter = oi->prev_drouter = htonl(0); + oi->bdrouter = oi->prev_bdrouter = htonl(0); return 0; } |
