]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
Merge branch 'Allow-more-than-255-IPv4-multicast-interfaces'
authorDavid S. Miller <davem@davemloft.net>
Thu, 10 Sep 2020 19:25:51 +0000 (12:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Sep 2020 19:25:51 +0000 (12:25 -0700)
commit8c5c49a6a0518d704a084106a1ab3edcc80a1fb7
treeca38527ae9fd864683c052e38d5a8f14cc8dfea5
parent4f6a5caf187ff5807cd5b4ea5678982c249bd964
parentbb82067c574a36c7e1d6d552557cf5b112ed9751
Merge branch 'Allow-more-than-255-IPv4-multicast-interfaces'

Paul Davey says:

====================
Allow more than 255 IPv4 multicast interfaces

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.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>