diff options
-rw-r--r-- | include/uapi/linux/neighbour.h | 1 | ||||
-rw-r--r-- | net/bridge/br_fdb.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/uapi/linux/neighbour.h b/include/uapi/linux/neighbour.h index d3ef583104e0..4a1d7e96dfe3 100644 --- a/include/uapi/linux/neighbour.h +++ b/include/uapi/linux/neighbour.h | |||
@@ -24,6 +24,7 @@ enum { | |||
24 | NDA_PORT, | 24 | NDA_PORT, |
25 | NDA_VNI, | 25 | NDA_VNI, |
26 | NDA_IFINDEX, | 26 | NDA_IFINDEX, |
27 | NDA_MASTER, | ||
27 | __NDA_MAX | 28 | __NDA_MAX |
28 | }; | 29 | }; |
29 | 30 | ||
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index 648d0e849595..2c45c069ea1a 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c | |||
@@ -616,6 +616,8 @@ static int fdb_fill_info(struct sk_buff *skb, const struct net_bridge *br, | |||
616 | 616 | ||
617 | if (nla_put(skb, NDA_LLADDR, ETH_ALEN, &fdb->addr)) | 617 | if (nla_put(skb, NDA_LLADDR, ETH_ALEN, &fdb->addr)) |
618 | goto nla_put_failure; | 618 | goto nla_put_failure; |
619 | if (nla_put_u32(skb, NDA_MASTER, br->dev->ifindex)) | ||
620 | goto nla_put_failure; | ||
619 | ci.ndm_used = jiffies_to_clock_t(now - fdb->used); | 621 | ci.ndm_used = jiffies_to_clock_t(now - fdb->used); |
620 | ci.ndm_confirmed = 0; | 622 | ci.ndm_confirmed = 0; |
621 | ci.ndm_updated = jiffies_to_clock_t(now - fdb->updated); | 623 | ci.ndm_updated = jiffies_to_clock_t(now - fdb->updated); |
@@ -637,6 +639,7 @@ static inline size_t fdb_nlmsg_size(void) | |||
637 | { | 639 | { |
638 | return NLMSG_ALIGN(sizeof(struct ndmsg)) | 640 | return NLMSG_ALIGN(sizeof(struct ndmsg)) |
639 | + nla_total_size(ETH_ALEN) /* NDA_LLADDR */ | 641 | + nla_total_size(ETH_ALEN) /* NDA_LLADDR */ |
642 | + nla_total_size(sizeof(u32)) /* NDA_MASTER */ | ||
640 | + nla_total_size(sizeof(u16)) /* NDA_VLAN */ | 643 | + nla_total_size(sizeof(u16)) /* NDA_VLAN */ |
641 | + nla_total_size(sizeof(struct nda_cacheinfo)); | 644 | + nla_total_size(sizeof(struct nda_cacheinfo)); |
642 | } | 645 | } |