diff options
author | Paul Davey <paul.davey@alliedtelesis.co.nz> | 2020-09-08 10:04:07 +1200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-09-10 12:25:51 -0700 |
commit | c8715a8e9f38906e73d6d78764216742db13ba0e (patch) | |
tree | e6dc103986d2225073173e28fefefedd8ee5d51c /include | |
parent | 501cb008906631a019f3ab2104a17ef8b2651ed0 (diff) | |
download | linux-stable-c8715a8e9f38906e73d6d78764216742db13ba0e.tar.gz linux-stable-c8715a8e9f38906e73d6d78764216742db13ba0e.tar.bz2 linux-stable-c8715a8e9f38906e73d6d78764216742db13ba0e.zip |
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')
-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; }; |