diff options
author | Paul Davey <paul.davey@alliedtelesis.co.nz> | 2020-09-08 01:04:07 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-09-10 22:25:51 +0300 |
commit | c8715a8e9f38906e73d6d78764216742db13ba0e (patch) | |
tree | e6dc103986d2225073173e28fefefedd8ee5d51c /include/uapi/linux/mroute.h | |
parent | 501cb008906631a019f3ab2104a17ef8b2651ed0 (diff) | |
download | linux-c8715a8e9f38906e73d6d78764216742db13ba0e.tar.xz |
ipmr: Add high byte of VIF ID to igmpmsg
Use the unused3 byte in struct igmpmsg to hold the high 8 bits of the
VIF ID.
If using more than 255 IPv4 multicast interfaces it is necessary to have
access to a VIF ID for cache reports that is wider than 8 bits, the VIF
ID present in the igmpmsg reports sent to mroute_sk was only 8 bits wide
in the igmpmsg header. Adding the high 8 bits of the 16 bit VIF ID in
the unused byte allows use of more than 255 IPv4 multicast interfaces.
Signed-off-by: Paul Davey <paul.davey@alliedtelesis.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/mroute.h')
-rw-r--r-- | include/uapi/linux/mroute.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/uapi/linux/mroute.h b/include/uapi/linux/mroute.h index 918f1ef32ffe..1a42f5f9b31b 100644 --- a/include/uapi/linux/mroute.h +++ b/include/uapi/linux/mroute.h @@ -113,8 +113,8 @@ struct igmpmsg { __u32 unused1,unused2; unsigned char im_msgtype; /* What is this */ unsigned char im_mbz; /* Must be zero */ - unsigned char im_vif; /* Interface (this ought to be a vifi_t!) */ - unsigned char unused3; + unsigned char im_vif; /* Low 8 bits of Interface */ + unsigned char im_vif_hi; /* High 8 bits of Interface */ struct in_addr im_src,im_dst; }; |