]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Add check for mtu on netlink RTM_NEWLINK
authorStephen Worley <sworley@cumulusnetworks.com>
Fri, 20 Jul 2018 20:10:43 +0000 (16:10 -0400)
committerStephen Worley <sworley@cumulusnetworks.com>
Mon, 23 Jul 2018 16:17:45 +0000 (12:17 -0400)
Zebra needed a check for mtu from the message it
received from the kernel before adding the new link.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
zebra/if_netlink.c

index 8f6e31cfa8864a32c7ef868c4b9f9eddd026398f..56bff0d3f66ee892eca2c4c059a44d0595e7b236 100644 (file)
@@ -1218,6 +1218,12 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
                        /* Update interface information. */
                        set_ifindex(ifp, ifi->ifi_index, zns);
                        ifp->flags = ifi->ifi_flags & 0x0000fffff;
+                       if (!tb[IFLA_MTU]) {
+                               zlog_warn(
+                                       "RTM_NEWLINK for interface %s(%u) without MTU set",
+                                       name, ifi->ifi_index);
+                               return 0;
+                       }
                        ifp->mtu6 = ifp->mtu = *(int *)RTA_DATA(tb[IFLA_MTU]);
                        ifp->metric = 0;
                        ifp->ptm_status = ZEBRA_PTM_STATUS_UNKNOWN;
@@ -1267,6 +1273,12 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
                                        bridge_ifindex, ifi->ifi_flags);
 
                        set_ifindex(ifp, ifi->ifi_index, zns);
+                       if (!tb[IFLA_MTU]) {
+                               zlog_warn(
+                                       "RTM_NEWLINK for interface %s(%u) without MTU set",
+                                       name, ifi->ifi_index);
+                               return 0;
+                       }
                        ifp->mtu6 = ifp->mtu = *(int *)RTA_DATA(tb[IFLA_MTU]);
                        ifp->metric = 0;