netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] Allow more than 255 IPv4 multicast interfaces
@ 2020-09-07 22:04 Paul Davey
  2020-09-07 22:04 ` [PATCH net-next v2 1/3] ipmr: Add route table ID to netlink cache reports Paul Davey
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Paul Davey @ 2020-09-07 22:04 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, linux-kernel, Paul Davey

Currently it is not possible to use more than 255 multicast interfaces
for IPv4 due to the format of the igmpmsg header which only has 8 bits
available for the VIF ID.  There is space available in the igmpmsg
header to store the full VIF ID in the form of an unused byte following
the VIF ID field.  There is also enough space for the full VIF ID in
the Netlink cache notifications, however the value is currently taken
directly from the igmpmsg header and has thus already been truncated.

Adding the high byte of the VIF ID into the unused3 byte of igmpmsg
allows use of more than 255 IPv4 multicast interfaces. The full VIF ID
is  also available in the Netlink notification by assembling it from
both bytes from the igmpmsg.

Additionally this reveals a deficiency in the Netlink cache report
notifications, they lack any means for differentiating cache reports
relating to different multicast routing tables.  This is easily
resolved by adding the multicast route table ID to the cache reports.

changes in v2:
 - Added high byte of VIF ID to igmpmsg struct replacing unused3
   member.
 - Assemble VIF ID in Netlink notification from both bytes in igmpmsg
   header.

Paul Davey (3):
  ipmr: Add route table ID to netlink cache reports
  ipmr: Add high byte of VIF ID to igmpmsg
  ipmr: Use full VIF ID in netlink cache reports

 include/uapi/linux/mroute.h |  5 +++--
 net/ipv4/ipmr.c             | 14 ++++++++++----
 2 files changed, 13 insertions(+), 6 deletions(-)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-10 19:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-07 22:04 [PATCH net-next v2 0/3] Allow more than 255 IPv4 multicast interfaces Paul Davey
2020-09-07 22:04 ` [PATCH net-next v2 1/3] ipmr: Add route table ID to netlink cache reports Paul Davey
2020-09-07 22:04 ` [PATCH net-next v2 2/3] ipmr: Add high byte of VIF ID to igmpmsg Paul Davey
2020-09-07 22:04 ` [PATCH net-next v2 3/3] ipmr: Use full VIF ID in netlink cache reports Paul Davey
2020-09-09  8:51   ` Simon Horman
2020-09-10 19:26 ` [PATCH net-next v2 0/3] Allow more than 255 IPv4 multicast interfaces David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).