]> git.proxmox.com Git - mirror_frr.git/commit - zebra/interface.c
zebra: fix detection of interface renames
authorRenato Westphal <renato@opensourcerouting.org>
Sun, 30 Apr 2017 13:26:06 +0000 (10:26 -0300)
committerRenato Westphal <renato@opensourcerouting.org>
Mon, 1 May 2017 12:19:47 +0000 (09:19 -0300)
commitb8af3fbbafc83b22c3215f3eb97a6465324cc10a
tree55eb163625af8fa0df6db8012a30f9efcaee5e0d
parentd5414843c2f5173be2bf76c179eece0620313fd4
zebra: fix detection of interface renames

Restore the original logic in netlink_link_change() which works like this:
* once an interface event is detected, lookup the associated interface
  by its name;
* call the set_ifindex() function;
* set_ifindex() will lookup the interface again but now by its ifindex. If
  the lookups by name and ifindex yield to different results, then the
  interface was renamed and set_ifindex() will take care of that.

In the future, zns->if_table will be split into two different data
structures to allow faster lookups by both name and ifindex.

Fixes Issue #397.

Regression introduced by commit 12f6fb9.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
zebra/if_netlink.c
zebra/interface.c
zebra/interface.h