From de1cd6b9137ab4e953268def225b439fb0a02941 Mon Sep 17 00:00:00 2001 From: Stephen Worley Date: Wed, 25 Jul 2018 13:49:47 -0400 Subject: [PATCH 1/2] zebra: Ignore AF_ETHERNET and AF_MPLS in route_change as well Remove AF_ETHERNET and AF_MPLS as valid address families for route changes. Signed-off-by: Stephen Worley --- zebra/rt_netlink.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 80841b6ac1..53bf4bc6e7 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -745,9 +745,7 @@ int netlink_route_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) return 0; } - if (!(rtm->rtm_family == AF_INET || rtm->rtm_family == AF_INET6 - || rtm->rtm_family == AF_ETHERNET - || rtm->rtm_family == AF_MPLS)) { + if (!(rtm->rtm_family == AF_INET || rtm->rtm_family == AF_INET6)) { zlog_warn( "Invalid address family: %d received from kernel route change: %d", rtm->rtm_family, h->nlmsg_type); @@ -762,10 +760,6 @@ int netlink_route_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) nl_rttype_to_str(rtm->rtm_type), nl_rtproto_to_str(rtm->rtm_protocol), ns_id); - /* We don't care about change notifications for the MPLS table. */ - /* TODO: Revisit this. */ - if (rtm->rtm_family == AF_MPLS) - return 0; len = h->nlmsg_len - NLMSG_LENGTH(sizeof(struct rtmsg)); if (len < 0) { From 81227874400694380959a76fa54cd6fbbc4128d2 Mon Sep 17 00:00:00 2001 From: Stephen Worley Date: Wed, 25 Jul 2018 14:08:24 -0400 Subject: [PATCH 2/2] zebra: Format log for address family check Switched the address family check to use unsigned format. Signed-off-by: Stephen Worley --- zebra/if_netlink.c | 4 ++-- zebra/rt_netlink.c | 4 ++-- zebra/rule_netlink.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c index 8943b434d7..462bf4f03f 100644 --- a/zebra/if_netlink.c +++ b/zebra/if_netlink.c @@ -893,7 +893,7 @@ int netlink_interface_addr(struct nlmsghdr *h, ns_id_t ns_id, int startup) if (ifa->ifa_family != AF_INET && ifa->ifa_family != AF_INET6) { zlog_warn( - "Invalid address family: %d received from kernel interface addr change: %d", + "Invalid address family: %u received from kernel interface addr change: %u", ifa->ifa_family, h->nlmsg_type); return 0; } @@ -1121,7 +1121,7 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) if (!(ifi->ifi_family == AF_UNSPEC || ifi->ifi_family == AF_BRIDGE || ifi->ifi_family == AF_INET6)) { zlog_warn( - "Invalid address family: %d received from kernel link change: %d", + "Invalid address family: %u received from kernel link change: %u", ifi->ifi_family, h->nlmsg_type); return 0; } diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 53bf4bc6e7..51844f018f 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -747,7 +747,7 @@ int netlink_route_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) if (!(rtm->rtm_family == AF_INET || rtm->rtm_family == AF_INET6)) { zlog_warn( - "Invalid address family: %d received from kernel route change: %d", + "Invalid address family: %u received from kernel route change: %u", rtm->rtm_family, h->nlmsg_type); return 0; } @@ -2398,7 +2398,7 @@ int netlink_neigh_change(struct nlmsghdr *h, ns_id_t ns_id) return netlink_ipneigh_change(h, len, ns_id); else { zlog_warn( - "Invalid address family: %d received from kernel neighbor change: %d", + "Invalid address family: %u received from kernel neighbor change: %u", ndm->ndm_family, h->nlmsg_type); return 0; } diff --git a/zebra/rule_netlink.c b/zebra/rule_netlink.c index d683e92bcc..87d3769a5a 100644 --- a/zebra/rule_netlink.c +++ b/zebra/rule_netlink.c @@ -206,7 +206,7 @@ int netlink_rule_change(struct nlmsghdr *h, ns_id_t ns_id, int startup) frh = NLMSG_DATA(h); if (frh->family != AF_INET && frh->family != AF_INET6) { zlog_warn( - "Invalid address family: %d received from kernel rule change: %d", + "Invalid address family: %u received from kernel rule change: %u", frh->family, h->nlmsg_type); return 0; }