From: Igor Ryzhov Date: Fri, 8 Oct 2021 21:22:31 +0000 (+0300) Subject: lib: set type for newly created interfaces X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=d3f334f5cc6ee93e978d873809eff1411eeb49e6;p=matthieu%2Ffrr.git lib: set type for newly created interfaces Currently, the ll_type is set only in `netlink_interface` which is executed only during startup. If the interface is created when the FRR is already running, the type is not stored. Fixes #1164. Signed-off-by: Igor Ryzhov (cherry picked from commit 8975bbbdd6885b8a99be4893291a82150c254452) --- diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c index a51e0b82cb..d400012cb0 100644 --- a/zebra/if_netlink.c +++ b/zebra/if_netlink.c @@ -1625,6 +1625,8 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) /* Update link. */ zebra_if_update_link(ifp, link_ifindex, ns_id); + ifp->ll_type = + netlink_to_zebra_link_type(ifi->ifi_type); netlink_interface_update_hw_addr(tb, ifp); /* Inform clients, install any configured addresses. */ @@ -1691,6 +1693,8 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) /* Update link. */ zebra_if_update_link(ifp, link_ifindex, ns_id); + ifp->ll_type = + netlink_to_zebra_link_type(ifi->ifi_type); netlink_interface_update_hw_addr(tb, ifp); if (if_is_no_ptm_operative(ifp)) {