Commit 501cb008 authored by Paul Davey's avatar Paul Davey Committed by David S. Miller

ipmr: Add route table ID to netlink cache reports

Insert the multicast route table ID as a Netlink attribute to Netlink
cache report notifications.

When multiple route tables are in use it is necessary to have a way to
determine which route table a given cache report belongs to when
receiving the cache report.
Signed-off-by: default avatarPaul Davey <paul.davey@alliedtelesis.co.nz>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4f6a5caf
...@@ -169,6 +169,7 @@ enum { ...@@ -169,6 +169,7 @@ enum {
IPMRA_CREPORT_SRC_ADDR, IPMRA_CREPORT_SRC_ADDR,
IPMRA_CREPORT_DST_ADDR, IPMRA_CREPORT_DST_ADDR,
IPMRA_CREPORT_PKT, IPMRA_CREPORT_PKT,
IPMRA_CREPORT_TABLE,
__IPMRA_CREPORT_MAX __IPMRA_CREPORT_MAX
}; };
#define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1) #define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1)
......
...@@ -2396,6 +2396,7 @@ static size_t igmpmsg_netlink_msgsize(size_t payloadlen) ...@@ -2396,6 +2396,7 @@ static size_t igmpmsg_netlink_msgsize(size_t payloadlen)
+ nla_total_size(4) /* IPMRA_CREPORT_VIF_ID */ + nla_total_size(4) /* IPMRA_CREPORT_VIF_ID */
+ nla_total_size(4) /* IPMRA_CREPORT_SRC_ADDR */ + nla_total_size(4) /* IPMRA_CREPORT_SRC_ADDR */
+ nla_total_size(4) /* IPMRA_CREPORT_DST_ADDR */ + nla_total_size(4) /* IPMRA_CREPORT_DST_ADDR */
+ nla_total_size(4) /* IPMRA_CREPORT_TABLE */
/* IPMRA_CREPORT_PKT */ /* IPMRA_CREPORT_PKT */
+ nla_total_size(payloadlen) + nla_total_size(payloadlen)
; ;
...@@ -2431,7 +2432,8 @@ static void igmpmsg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt) ...@@ -2431,7 +2432,8 @@ static void igmpmsg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt)
nla_put_in_addr(skb, IPMRA_CREPORT_SRC_ADDR, nla_put_in_addr(skb, IPMRA_CREPORT_SRC_ADDR,
msg->im_src.s_addr) || msg->im_src.s_addr) ||
nla_put_in_addr(skb, IPMRA_CREPORT_DST_ADDR, nla_put_in_addr(skb, IPMRA_CREPORT_DST_ADDR,
msg->im_dst.s_addr)) msg->im_dst.s_addr) ||
nla_put_u32(skb, IPMRA_CREPORT_TABLE, mrt->id))
goto nla_put_failure; goto nla_put_failure;
nla = nla_reserve(skb, IPMRA_CREPORT_PKT, payloadlen); nla = nla_reserve(skb, IPMRA_CREPORT_PKT, payloadlen);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment