1. 10 Sep, 2020 5 commits
    • Lorenzo Bianconi's avatar
      net: mvneta: rely on MVNETA_MAX_RX_BUF_SIZE for pkt split in mvneta_swbm_rx_frame() · 6eb8b7fb
      Lorenzo Bianconi authored
      In order to easily change the rx buffer size, rely on
      MVNETA_MAX_RX_BUF_SIZE instead of PAGE_SIZE in mvneta_swbm_rx_frame
      routine for rx buffer split. Currently this is not an issue since we set
      MVNETA_MAX_RX_BUF_SIZE to PAGE_SIZE - MVNETA_SKB_PAD but it is a good to
      have to configure a different rx buffer size.
      Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6eb8b7fb
    • David S. Miller's avatar
      Merge branch 'Allow-more-than-255-IPv4-multicast-interfaces' · 8c5c49a6
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      8c5c49a6
    • Paul Davey's avatar
      ipmr: Use full VIF ID in netlink cache reports · bb82067c
      Paul Davey authored
      Insert the full 16 bit VIF ID into ipmr Netlink cache reports.
      
      The VIF_ID attribute has 32 bits of space so can store the full VIF ID
      extracted from the high and low byte fields in the igmpmsg.
      Signed-off-by: default avatarPaul Davey <paul.davey@alliedtelesis.co.nz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bb82067c
    • Paul Davey's avatar
      ipmr: Add high byte of VIF ID to igmpmsg · c8715a8e
      Paul Davey authored
      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: default avatarPaul Davey <paul.davey@alliedtelesis.co.nz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c8715a8e
    • Paul Davey's avatar
      ipmr: Add route table ID to netlink cache reports · 501cb008
      Paul Davey authored
      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>
      501cb008
  2. 09 Sep, 2020 35 commits