Skip to content
  1. Dec 02, 2020
    • Guvenc Gulce's avatar
      net/smc: Add support for obtaining SMCR device list · a3db10ef
      Guvenc Gulce authored
      
      
      Deliver SMCR device information via netlink based
      diagnostic interface.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a3db10ef
    • Guvenc Gulce's avatar
      net/smc: Add support for obtaining SMCD device list · aaf95523
      Guvenc Gulce authored
      
      
      Deliver SMCD device information via netlink based
      diagnostic interface.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      aaf95523
    • Guvenc Gulce's avatar
      net/smc: Add SMC-D Linkgroup diagnostic support · 8f9dde4b
      Guvenc Gulce authored
      
      
      Deliver SMCD Linkgroup information via netlink based
      diagnostic interface.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8f9dde4b
    • Guvenc Gulce's avatar
      net/smc: Introduce SMCR get link command · 5a7e09d5
      Guvenc Gulce authored
      
      
      Introduce get link command which loops through
      all available links of all available link groups. It
      uses the SMC-R linkgroup list as entry point, not
      the socket list, which makes linkgroup diagnosis
      possible, in case linkgroup does not contain active
      connections anymore.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5a7e09d5
    • Guvenc Gulce's avatar
      net/smc: Introduce SMCR get linkgroup command · e9b8c845
      Guvenc Gulce authored
      
      
      Introduce get linkgroup command which loops through
      all available SMCR linkgroups. It uses the SMC-R linkgroup
      list as entry point, not the socket list, which makes
      linkgroup diagnosis possible, in case linkgroup does not
      contain active connections anymore.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e9b8c845
    • Guvenc Gulce's avatar
      net/smc: Add support for obtaining system information · 099b990b
      Guvenc Gulce authored
      
      
      Add new netlink command to obtain system information
      of the smc module.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      099b990b
    • Guvenc Gulce's avatar
      net/smc: Introduce generic netlink interface for diagnostic purposes · e8372d9d
      Guvenc Gulce authored
      
      
      Introduce generic netlink interface infrastructure to expose
      the diagnostic information regarding smc linkgroups, links and devices.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e8372d9d
    • Guvenc Gulce's avatar
      net/smc: Refactor smc ism v2 capability handling · 49407ae2
      Guvenc Gulce authored
      
      
      Encapsulate the smc ism v2 capability boolean value
      in a function for better information hiding.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      49407ae2
    • Guvenc Gulce's avatar
      net/smc: Add diagnostic information to link structure · 6443b2f6
      Guvenc Gulce authored
      
      
      During link creation add net-device ifindex and ib-device
      name to link structure. This is needed for diagnostic purposes.
      
      When diagnostic information is gathered, we need to traverse
      device, linkgroup and link structures, to be able to do that
      we need to hold a spinlock for the linkgroup list, without this
      diagnostic information in link structure, another device list
      mutex holding would be necessary to dereference the device
      pointer in the link structure which would be impossible when
      holding a spinlock already.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6443b2f6
    • Guvenc Gulce's avatar
      net/smc: Add diagnostic information to smc ib-device · 3d453f53
      Guvenc Gulce authored
      
      
      During smc ib-device creation, add network device ifindex to smc
      ib-device structure. Register for netdevice changes and update ib-device
      accordingly. This is needed for diagnostic purposes.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3d453f53
    • Guvenc Gulce's avatar
      net/smc: Add link counters for IB device ports · ddc99286
      Guvenc Gulce authored
      
      
      Add link counters to the structure of the smc ib device, one counter per
      ib port. Increase/decrease the counters as needed in the corresponding
      routines.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ddc99286
    • Guvenc Gulce's avatar
      net/smc: Add connection counters for links · 07d51580
      Guvenc Gulce authored
      
      
      Add connection counters to the structure of the link.
      Increase/decrease the counters as needed in the corresponding
      routines.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      07d51580
    • Guvenc Gulce's avatar
      net/smc: Use active link of the connection · 8b2f0f44
      Guvenc Gulce authored
      
      
      Use active link of the connection directly and not
      via linkgroup array structure when obtaining link
      data of the connection.
      
      Signed-off-by: default avatarGuvenc Gulce <guvenc@linux.ibm.com>
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8b2f0f44
    • Karsten Graul's avatar
      net/smc: use helper smc_conn_abort() in listen processing · 8cf3f3e4
      Karsten Graul authored
      
      
      The helper smc_connect_abort() can be used by the listen processing
      functions, too. And rename this helper to smc_conn_abort() to make the
      purpose clearer.
      No functional change.
      
      Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8cf3f3e4
    • Rohit Maheshwari's avatar
      net/tls: make sure tls offload sets salt_size · d31c0800
      Rohit Maheshwari authored
      
      
      Recent changes made to remove AES constants started using protocol
      aware salt_size. ctx->prot_info's salt_size is filled in tls sw case,
      but not in tls offload mode, and was working so far because of the
      hard coded value was used.
      
      Fixes: 6942a284 ("net/tls: make inline helpers protocol-aware")
      Signed-off-by: default avatarRohit Maheshwari <rohitm@chelsio.com>
      Link: https://lore.kernel.org/r/20201201090752.27355-1-rohitm@chelsio.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d31c0800
    • Jakub Kicinski's avatar
      Merge branch 'ionic-updates' · 3d2f670a
      Jakub Kicinski authored
      Shannon Nelson says:
      
      ====================
      ionic updates
      
      These are a pair of small code cleanups.
      ====================
      
      Link: https://lore.kernel.org/r/20201201002546.4123-1-snelson@pensando.io
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3d2f670a
    • Shannon Nelson's avatar
      ionic: change mtu after queues are stopped · 79ba55a3
      Shannon Nelson authored
      
      
      Order of operations is slightly more correct in the driver
      to change the netdev->mtu after the queues have been stopped
      rather than before.
      
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      79ba55a3
    • Shannon Nelson's avatar
      ionic: remove some unnecessary oom messages · c0c682ee
      Shannon Nelson authored
      
      
      Remove memory allocation fail messages where the OOM stack
      trace will make it obvious which allocation request failed.
      
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c0c682ee
    • Yejune Deng's avatar
      832913c3
    • Jakub Kicinski's avatar
      Merge branch 's390-ctcm-updates-2020-11-30' · aaea1bab
      Jakub Kicinski authored
      Julian Wiedmann says:
      
      ====================
      s390/ctcm: updates 2020-11-30
      
      Some rare ctcm updates by Sebastian, who cleans up all places where
      in_interrupt() was used to determine the correct GFP_* mask for
      allocations.
      In the first three patches we can get rid of those allocations entirely,
      as they just end up being copied into the skb.
      ====================
      
      Link: https://lore.kernel.org/r/20201130100950.42051-1-jwi@linux.ibm.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      aaea1bab
    • Sebastian Andrzej Siewior's avatar
      s390/ctcm: Use GFP_ATOMIC in ctcmpc_tx(). · 8f4b6e35
      Sebastian Andrzej Siewior authored
      
      
      gfp_type() uses in_interrupt() to figure out the correct GFP mask.
      
      The usage of in_interrupt() in drivers is phased out and Linus clearly
      requested that code which changes behaviour depending on context should
      either be separated or the context be conveyed in an argument passed by the
      caller, which usually knows the context.
      
      ctcmpc_tx() is used as net_device_ops::ndo_start_xmit. This callback is
      invoked with disabled bottom halves.
      
      Use GFP_ATOMIC for memory allocation in ctcmpc_tx().
      Remove gfp_type() since the last user is gone.
      
      Reviewed-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8f4b6e35
    • Sebastian Andrzej Siewior's avatar
      s390/ctcm: Use GFP_KERNEL in add_channel(). · 04e4e469
      Sebastian Andrzej Siewior authored
      
      
      gfp_type() uses in_interrupt() to figure out the correct GFP mask.
      
      The usage of in_interrupt() in drivers is phased out and Linus clearly
      requested that code which changes behaviour depending on context should
      either be separated or the context be conveyed in an argument passed by the
      caller, which usually knows the context.
      
      The memory allocation of `ch' a few lines above is using GFP_KERNEL,
      also an allocation a few lines later is using GFP_KERNEL.
      
      Use GFP_KERNEL for the memory allocation.
      
      Reviewed-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      04e4e469
    • Sebastian Andrzej Siewior's avatar
      s390/ctcm: Use explicit allocation mask in ctcmpc_unpack_skb(). · 8dc4b6af
      Sebastian Andrzej Siewior authored
      
      
      gfp_type() uses in_interrupt() to figure out the correct GFP mask.
      
      The usage of in_interrupt() in drivers is phased out and Linus clearly
      requested that code which changes behaviour depending on context should
      either be separated or the context be conveyed in an argument passed by the
      caller, which usually knows the context.
      
      The call chain of ctcmpc_unpack_skb():
      ctcmpc_bh()
       -> ctcmpc_unpack_skb()
      
      ctcmpc_bh() is a tasklet handler so GFP_ATOMIC is needed.
      
      Use GFP_ATOMIC as allocation type in ctcmpc_unpack_skb().
      
      Reviewed-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8dc4b6af
    • Sebastian Andrzej Siewior's avatar
      s390/ctcm: Avoid temporary allocation of struct pdu. · ca738f5a
      Sebastian Andrzej Siewior authored
      
      
      The size of struct pdu is 8 byte. The memory is allocated, initialized,
      used and deallocated a few lines later.
      
      It is more efficient to avoid the allocation/free dance and assign the
      values directly to skb's data part instead of using memcpy() for it.
      
      Avoid an allocation of struct pdu and use the resulting skb pointer
      instead.
      
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      [jwi: Fix-up the pdu_offset, adjust skb->len for the pushed length.
            Reflow the commit msg.]
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ca738f5a
    • Sebastian Andrzej Siewior's avatar
      s390/ctcm: Avoid temporary allocation of struct qllc. · d38aa396
      Sebastian Andrzej Siewior authored
      
      
      The size of struct qllc is 2 byte. The memory for is allocated,
      initialized, used and deallocated a few lines later.
      
      It is more efficient to avoid the allocation/free dance and assign the
      values directly to skb's data part instead of using memcpy() for it.
      
      Avoid an allocation of struct qllc and use the resulting skb pointer
      instead.
      
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      [jwi: remove a newline, reflow the commit msg]
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d38aa396
    • Sebastian Andrzej Siewior's avatar
      s390/ctcm: Avoid temporary allocation of struct th_header and th_sweep. · 94e0028a
      Sebastian Andrzej Siewior authored
      
      
      The size of struct th_header is 8 byte and the size of struct th_sweep
      is 16 byte. The memory for is allocated, initialized, used and
      deallocated a few lines later.
      
      It is more efficient to avoid the allocation/free dance and assign the
      values directly to skb's data part instead of using memcpy() for it.
      
      Avoid an allocation of struct th_sweep/th_header and use the resulting
      skb pointer instead.
      
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      [jwi: use skb_put_zero(), instead of skb_put() + memset to 0]
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      94e0028a
    • Chris Packham's avatar
      net: freescale: ucc_geth: remove unused SKB_ALLOC_TIMEOUT · 2bf7d377
      Chris Packham authored
      
      
      This was added in commit ce973b14 ("[PATCH] Freescale QE UCC gigabit
      ethernet driver") but doesn't appear to have been used. Remove it now.
      
      Signed-off-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
      Link: https://lore.kernel.org/r/20201130001010.28998-1-chris.packham@alliedtelesis.co.nz
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2bf7d377
    • Vladimir Oltean's avatar
      net: delete __dev_getfirstbyhwtype · c214550f
      Vladimir Oltean authored
      
      
      The last user of the RTNL brother of dev_getfirstbyhwtype (the latter
      being synchronized under RCU) has been deleted in commit b4db2b35
      ("afs: Use core kernel UUID generation").
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Link: https://lore.kernel.org/r/20201129200550.2433401-1-vladimir.oltean@nxp.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c214550f
    • Jakub Kicinski's avatar
      Merge branch 'net-tipc-fix-all-kernel-doc-and-add-tipc-networking-chapter' · f7cf335c
      Jakub Kicinski authored
      Randy Dunlap says:
      
      ====================
      net/tipc: fix all kernel-doc and add TIPC networking chapter
      
      Fix lots of net/tipc/ kernel-doc warnings. Add many struct field and
      function parameter descriptions.
      
      Then add a TIPC chapter to the networking documentation book.
      
      All patches have been rebased to current net-next.
      
      Note: some of the struct members and function parameters are marked
      with "FIXME". They could use some additional descriptions if
      someone could help add to them. Thanks.
      ====================
      
      Link: https://lore.kernel.org/r/20201129183251.7049-1-rdunlap@infradead.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f7cf335c
    • Randy Dunlap's avatar
      net/tipc: add TIPC chapter to networking Documentation · 2fc30dec
      Randy Dunlap authored
      
      
      Add a TIPC chapter to the networking docbook.
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2fc30dec
    • Randy Dunlap's avatar
      net/tipc: fix all function Return: notation · 637b77fd
      Randy Dunlap authored
      
      
      Fix Return: kernel-doc notation in all net/tipc/ source files.
      Also keep ReST list notation intact for output formatting.
      Fix a few typos in comments.
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      637b77fd
    • Randy Dunlap's avatar
      net/tipc: fix socket.c kernel-doc · f172f4b8
      Randy Dunlap authored
      
      
      Fix socket.c kernel-doc warnings in preparation for adding to the
      networking docbook.
      
      Also, for rcvbuf_limit(), use bullet notation so that the lines do
      not run together.
      
      ../net/tipc/socket.c:130: warning: Function parameter or member 'cong_links' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'probe_unacked' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'snd_win' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'peer_caps' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'rcv_win' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'group' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'oneway' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'nagle_start' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'snd_backlog' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'msg_acc' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'pkt_cnt' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'expect_ack' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'nodelay' not described in 'tipc_sock'
      ../net/tipc/socket.c:130: warning: Function parameter or member 'group_is_open' not described in 'tipc_sock'
      ../net/tipc/socket.c:267: warning: Function parameter or member 'sk' not described in 'tsk_advance_rx_queue'
      ../net/tipc/socket.c:295: warning: Function parameter or member 'sk' not described in 'tsk_rej_rx_queue'
      ../net/tipc/socket.c:295: warning: Function parameter or member 'error' not described in 'tsk_rej_rx_queue'
      ../net/tipc/socket.c:894: warning: Function parameter or member 'tsk' not described in 'tipc_send_group_msg'
      ../net/tipc/socket.c:1187: warning: Function parameter or member 'net' not described in 'tipc_sk_mcast_rcv'
      ../net/tipc/socket.c:1323: warning: Function parameter or member 'inputq' not described in 'tipc_sk_conn_proto_rcv'
      ../net/tipc/socket.c:1323: warning: Function parameter or member 'xmitq' not described in 'tipc_sk_conn_proto_rcv'
      ../net/tipc/socket.c:1885: warning: Function parameter or member 'sock' not described in 'tipc_recvmsg'
      ../net/tipc/socket.c:1993: warning: Function parameter or member 'sock' not described in 'tipc_recvstream'
      ../net/tipc/socket.c:2313: warning: Function parameter or member 'xmitq' not described in 'tipc_sk_filter_rcv'
      ../net/tipc/socket.c:2404: warning: Function parameter or member 'xmitq' not described in 'tipc_sk_enqueue'
      ../net/tipc/socket.c:2456: warning: Function parameter or member 'net' not described in 'tipc_sk_rcv'
      ../net/tipc/socket.c:2693: warning: Function parameter or member 'kern' not described in 'tipc_accept'
      ../net/tipc/socket.c:3816: warning: Excess function parameter 'sysctl_tipc_sk_filter' description in 'tipc_sk_filtering'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f172f4b8
    • Randy Dunlap's avatar
      net/tipc: fix node.c kernel-doc · 4476441e
      Randy Dunlap authored
      
      
      Fix node.c kernel-doc warnings in preparation for adding to the
      networking docbook.
      
      ../net/tipc/node.c:141: warning: Function parameter or member 'kref' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'bc_entry' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'failover_sent' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'peer_id' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'peer_id_string' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'conn_sks' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'keepalive_intv' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'timer' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'peer_net' not described in 'tipc_node'
      ../net/tipc/node.c:141: warning: Function parameter or member 'peer_hash_mix' not described in 'tipc_node'
      ../net/tipc/node.c:273: warning: Function parameter or member '__n' not described in 'tipc_node_crypto_rx'
      ../net/tipc/node.c:822: warning: Function parameter or member 'n' not described in '__tipc_node_link_up'
      ../net/tipc/node.c:822: warning: Function parameter or member 'bearer_id' not described in '__tipc_node_link_up'
      ../net/tipc/node.c:822: warning: Function parameter or member 'xmitq' not described in '__tipc_node_link_up'
      ../net/tipc/node.c:888: warning: Function parameter or member 'n' not described in 'tipc_node_link_up'
      ../net/tipc/node.c:888: warning: Function parameter or member 'bearer_id' not described in 'tipc_node_link_up'
      ../net/tipc/node.c:888: warning: Function parameter or member 'xmitq' not described in 'tipc_node_link_up'
      ../net/tipc/node.c:948: warning: Function parameter or member 'n' not described in '__tipc_node_link_down'
      ../net/tipc/node.c:948: warning: Function parameter or member 'bearer_id' not described in '__tipc_node_link_down'
      ../net/tipc/node.c:948: warning: Function parameter or member 'xmitq' not described in '__tipc_node_link_down'
      ../net/tipc/node.c:948: warning: Function parameter or member 'maddr' not described in '__tipc_node_link_down'
      ../net/tipc/node.c:1537: warning: Function parameter or member 'net' not described in 'tipc_node_get_linkname'
      ../net/tipc/node.c:1537: warning: Function parameter or member 'len' not described in 'tipc_node_get_linkname'
      ../net/tipc/node.c:1891: warning: Function parameter or member 'n' not described in 'tipc_node_check_state'
      ../net/tipc/node.c:1891: warning: Function parameter or member 'xmitq' not described in 'tipc_node_check_state'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4476441e
    • Randy Dunlap's avatar
      net/tipc: fix name_table.c kernel-doc · 5c5d6796
      Randy Dunlap authored
      
      
      Fix name_table.c kernel-doc warnings in preparation for adding to the
      networking docbook.
      
      ../net/tipc/name_table.c:115: warning: Function parameter or member 'start' not described in 'service_range_foreach_match'
      ../net/tipc/name_table.c:115: warning: Function parameter or member 'end' not described in 'service_range_foreach_match'
      ../net/tipc/name_table.c:127: warning: Function parameter or member 'start' not described in 'service_range_match_first'
      ../net/tipc/name_table.c:127: warning: Function parameter or member 'end' not described in 'service_range_match_first'
      ../net/tipc/name_table.c:176: warning: Function parameter or member 'start' not described in 'service_range_match_next'
      ../net/tipc/name_table.c:176: warning: Function parameter or member 'end' not described in 'service_range_match_next'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'type' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'lower' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'upper' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'scope' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'node' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'port' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:225: warning: Function parameter or member 'key' not described in 'tipc_publ_create'
      ../net/tipc/name_table.c:252: warning: Function parameter or member 'type' not described in 'tipc_service_create'
      ../net/tipc/name_table.c:252: warning: Function parameter or member 'hd' not described in 'tipc_service_create'
      ../net/tipc/name_table.c:367: warning: Function parameter or member 'sr' not described in 'tipc_service_remove_publ'
      ../net/tipc/name_table.c:367: warning: Function parameter or member 'node' not described in 'tipc_service_remove_publ'
      ../net/tipc/name_table.c:367: warning: Function parameter or member 'key' not described in 'tipc_service_remove_publ'
      ../net/tipc/name_table.c:383: warning: Function parameter or member 'pa' not described in 'publication_after'
      ../net/tipc/name_table.c:383: warning: Function parameter or member 'pb' not described in 'publication_after'
      ../net/tipc/name_table.c:401: warning: Function parameter or member 'service' not described in 'tipc_service_subscribe'
      ../net/tipc/name_table.c:401: warning: Function parameter or member 'sub' not described in 'tipc_service_subscribe'
      ../net/tipc/name_table.c:546: warning: Function parameter or member 'net' not described in 'tipc_nametbl_translate'
      ../net/tipc/name_table.c:546: warning: Function parameter or member 'type' not described in 'tipc_nametbl_translate'
      ../net/tipc/name_table.c:546: warning: Function parameter or member 'instance' not described in 'tipc_nametbl_translate'
      ../net/tipc/name_table.c:546: warning: Function parameter or member 'dnode' not described in 'tipc_nametbl_translate'
      ../net/tipc/name_table.c:762: warning: Function parameter or member 'net' not described in 'tipc_nametbl_withdraw'
      ../net/tipc/name_table.c:762: warning: Function parameter or member 'type' not described in 'tipc_nametbl_withdraw'
      ../net/tipc/name_table.c:762: warning: Function parameter or member 'lower' not described in 'tipc_nametbl_withdraw'
      ../net/tipc/name_table.c:762: warning: Function parameter or member 'upper' not described in 'tipc_nametbl_withdraw'
      ../net/tipc/name_table.c:762: warning: Function parameter or member 'key' not described in 'tipc_nametbl_withdraw'
      ../net/tipc/name_table.c:796: warning: Function parameter or member 'sub' not described in 'tipc_nametbl_subscribe'
      ../net/tipc/name_table.c:826: warning: Function parameter or member 'sub' not described in 'tipc_nametbl_unsubscribe'
      ../net/tipc/name_table.c:876: warning: Function parameter or member 'net' not described in 'tipc_service_delete'
      ../net/tipc/name_table.c:876: warning: Function parameter or member 'sc' not described in 'tipc_service_delete'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5c5d6796
    • Randy Dunlap's avatar
      net/tipc: fix name_distr.c kernel-doc · cb67296e
      Randy Dunlap authored
      
      
      Fix name_distr.c kernel-doc warnings in preparation for adding to the
      networking docbook.
      
      ../net/tipc/name_distr.c:55: warning: Function parameter or member 'i' not described in 'publ_to_item'
      ../net/tipc/name_distr.c:55: warning: Function parameter or member 'p' not described in 'publ_to_item'
      ../net/tipc/name_distr.c:70: warning: Function parameter or member 'net' not described in 'named_prepare_buf'
      ../net/tipc/name_distr.c:70: warning: Function parameter or member 'type' not described in 'named_prepare_buf'
      ../net/tipc/name_distr.c:70: warning: Function parameter or member 'size' not described in 'named_prepare_buf'
      ../net/tipc/name_distr.c:70: warning: Function parameter or member 'dest' not described in 'named_prepare_buf'
      ../net/tipc/name_distr.c:88: warning: Function parameter or member 'net' not described in 'tipc_named_publish'
      ../net/tipc/name_distr.c:88: warning: Function parameter or member 'publ' not described in 'tipc_named_publish'
      ../net/tipc/name_distr.c:116: warning: Function parameter or member 'net' not described in 'tipc_named_withdraw'
      ../net/tipc/name_distr.c:116: warning: Function parameter or member 'publ' not described in 'tipc_named_withdraw'
      ../net/tipc/name_distr.c:147: warning: Function parameter or member 'net' not described in 'named_distribute'
      ../net/tipc/name_distr.c:147: warning: Function parameter or member 'seqno' not described in 'named_distribute'
      ../net/tipc/name_distr.c:199: warning: Function parameter or member 'net' not described in 'tipc_named_node_up'
      ../net/tipc/name_distr.c:199: warning: Function parameter or member 'dnode' not described in 'tipc_named_node_up'
      ../net/tipc/name_distr.c:199: warning: Function parameter or member 'capabilities' not described in 'tipc_named_node_up'
      ../net/tipc/name_distr.c:225: warning: Function parameter or member 'net' not described in 'tipc_publ_purge'
      ../net/tipc/name_distr.c:225: warning: Function parameter or member 'publ' not described in 'tipc_publ_purge'
      ../net/tipc/name_distr.c:225: warning: Function parameter or member 'addr' not described in 'tipc_publ_purge'
      ../net/tipc/name_distr.c:272: warning: Function parameter or member 'net' not described in 'tipc_update_nametbl'
      ../net/tipc/name_distr.c:272: warning: Function parameter or member 'i' not described in 'tipc_update_nametbl'
      ../net/tipc/name_distr.c:272: warning: Function parameter or member 'node' not described in 'tipc_update_nametbl'
      ../net/tipc/name_distr.c:272: warning: Function parameter or member 'dtype' not described in 'tipc_update_nametbl'
      ../net/tipc/name_distr.c:353: warning: Function parameter or member 'net' not described in 'tipc_named_rcv'
      ../net/tipc/name_distr.c:353: warning: Function parameter or member 'namedq' not described in 'tipc_named_rcv'
      ../net/tipc/name_distr.c:353: warning: Function parameter or member 'rcv_nxt' not described in 'tipc_named_rcv'
      ../net/tipc/name_distr.c:353: warning: Function parameter or member 'open' not described in 'tipc_named_rcv'
      ../net/tipc/name_distr.c:383: warning: Function parameter or member 'net' not described in 'tipc_named_reinit'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      cb67296e
    • Randy Dunlap's avatar
      net/tipc: fix link.c kernel-doc · a99df449
      Randy Dunlap authored
      
      
      Fix link.c kernel-doc warnings in preparation for adding to the
      networking docbook.
      
      ../net/tipc/link.c:200: warning: Function parameter or member 'session' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'snd_nxt_state' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'rcv_nxt_state' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'in_session' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'active' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'if_name' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'rst_cnt' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'drop_point' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'failover_reasm_skb' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'failover_deferdq' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'transmq' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'backlog' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'snd_nxt' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'rcv_unacked' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'deferdq' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'window' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'min_win' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'ssthresh' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'max_win' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'cong_acks' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'checkpoint' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'reasm_tnlmsg' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'last_gap' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'last_ga' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'bc_rcvlink' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'bc_sndlink' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'nack_state' not described in 'tipc_link'
      ../net/tipc/link.c:200: warning: Function parameter or member 'bc_peer_is_up' not described in 'tipc_link'
      ../net/tipc/link.c:473: warning: Function parameter or member 'self' not described in 'tipc_link_create'
      ../net/tipc/link.c:473: warning: Function parameter or member 'peer_id' not described in 'tipc_link_create'
      ../net/tipc/link.c:473: warning: Excess function parameter 'ownnode' description in 'tipc_link_create'
      ../net/tipc/link.c:544: warning: Function parameter or member 'ownnode' not described in 'tipc_link_bc_create'
      ../net/tipc/link.c:544: warning: Function parameter or member 'peer' not described in 'tipc_link_bc_create'
      ../net/tipc/link.c:544: warning: Function parameter or member 'peer_id' not described in 'tipc_link_bc_create'
      ../net/tipc/link.c:544: warning: Function parameter or member 'peer_caps' not described in 'tipc_link_bc_create'
      ../net/tipc/link.c:544: warning: Function parameter or member 'bc_sndlink' not described in 'tipc_link_bc_create'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a99df449
    • Randy Dunlap's avatar
      net/tipc: fix bearer.c for kernel-doc · ec6a1649
      Randy Dunlap authored
      
      
      Fix kernel-doc warnings in bearer.c:
      
      ../net/tipc/bearer.c:77: warning: Function parameter or member 'name' not described in 'tipc_media_find'
      ../net/tipc/bearer.c:91: warning: Function parameter or member 'type' not described in 'media_find_id'
      ../net/tipc/bearer.c:105: warning: Function parameter or member 'buf' not described in 'tipc_media_addr_printf'
      ../net/tipc/bearer.c:105: warning: Function parameter or member 'len' not described in 'tipc_media_addr_printf'
      ../net/tipc/bearer.c:105: warning: Function parameter or member 'a' not described in 'tipc_media_addr_printf'
      ../net/tipc/bearer.c:174: warning: Function parameter or member 'net' not described in 'tipc_bearer_find'
      ../net/tipc/bearer.c:174: warning: Function parameter or member 'name' not described in 'tipc_bearer_find'
      ../net/tipc/bearer.c:238: warning: Function parameter or member 'net' not described in 'tipc_enable_bearer'
      ../net/tipc/bearer.c:238: warning: Function parameter or member 'name' not described in 'tipc_enable_bearer'
      ../net/tipc/bearer.c:238: warning: Function parameter or member 'disc_domain' not described in 'tipc_enable_bearer'
      ../net/tipc/bearer.c:238: warning: Function parameter or member 'prio' not described in 'tipc_enable_bearer'
      ../net/tipc/bearer.c:238: warning: Function parameter or member 'attr' not described in 'tipc_enable_bearer'
      ../net/tipc/bearer.c:350: warning: Function parameter or member 'net' not described in 'tipc_reset_bearer'
      ../net/tipc/bearer.c:350: warning: Function parameter or member 'b' not described in 'tipc_reset_bearer'
      ../net/tipc/bearer.c:374: warning: Function parameter or member 'net' not described in 'bearer_disable'
      ../net/tipc/bearer.c:374: warning: Function parameter or member 'b' not described in 'bearer_disable'
      ../net/tipc/bearer.c:462: warning: Function parameter or member 'net' not described in 'tipc_l2_send_msg'
      ../net/tipc/bearer.c:479: warning: Function parameter or member 'net' not described in 'tipc_l2_send_msg'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ec6a1649
    • Randy Dunlap's avatar
      net/tipc: fix various kernel-doc warnings · 5fcb7d47
      Randy Dunlap authored
      
      
      kernel-doc and Sphinx fixes to eliminate lots of warnings
      in preparation for adding to the networking docbook.
      
      ../net/tipc/crypto.c:57: warning: cannot understand function prototype: 'enum '
      ../net/tipc/crypto.c:69: warning: cannot understand function prototype: 'enum '
      ../net/tipc/crypto.c:130: warning: Function parameter or member 'tfm' not described in 'tipc_tfm'
      ../net/tipc/crypto.c:130: warning: Function parameter or member 'list' not described in 'tipc_tfm'
      ../net/tipc/crypto.c:172: warning: Function parameter or member 'stat' not described in 'tipc_crypto_stats'
      ../net/tipc/crypto.c:232: warning: Function parameter or member 'flags' not described in 'tipc_crypto'
      ../net/tipc/crypto.c:329: warning: Function parameter or member 'ukey' not described in 'tipc_aead_key_validate'
      ../net/tipc/crypto.c:329: warning: Function parameter or member 'info' not described in 'tipc_aead_key_validate'
      ../net/tipc/crypto.c:482: warning: Function parameter or member 'aead' not described in 'tipc_aead_tfm_next'
      ../net/tipc/trace.c:43: warning: cannot understand function prototype: 'unsigned long sysctl_tipc_sk_filter[5] __read_mostly = '
      
      Documentation/networking/tipc:57: ../net/tipc/msg.c:584: WARNING: Unexpected indentation.
      Documentation/networking/tipc:63: ../net/tipc/name_table.c:536: WARNING: Unexpected indentation.
      Documentation/networking/tipc:63: ../net/tipc/name_table.c:537: WARNING: Block quote ends without a blank line; unexpected unindent.
      Documentation/networking/tipc:78: ../net/tipc/socket.c:3809: WARNING: Unexpected indentation.
      Documentation/networking/tipc:78: ../net/tipc/socket.c:3807: WARNING: Inline strong start-string without end-string.
      Documentation/networking/tipc:72: ../net/tipc/node.c:904: WARNING: Unexpected indentation.
      Documentation/networking/tipc:39: ../net/tipc/crypto.c:97: WARNING: Block quote ends without a blank line; unexpected unindent.
      Documentation/networking/tipc:39: ../net/tipc/crypto.c:98: WARNING: Block quote ends without a blank line; unexpected unindent.
      Documentation/networking/tipc:39: ../net/tipc/crypto.c:141: WARNING: Inline strong start-string without end-string.
      
      ../net/tipc/discover.c:82: warning: Function parameter or member 'skb' not described in 'tipc_disc_init_msg'
      
      ../net/tipc/msg.c:69: warning: Function parameter or member 'gfp' not described in 'tipc_buf_acquire'
      ../net/tipc/msg.c:382: warning: Function parameter or member 'offset' not described in 'tipc_msg_build'
      ../net/tipc/msg.c:708: warning: Function parameter or member 'net' not described in 'tipc_msg_lookup_dest'
      
      ../net/tipc/subscr.c:65: warning: Function parameter or member 'seq' not described in 'tipc_sub_check_overlap'
      ../net/tipc/subscr.c:65: warning: Function parameter or member 'found_lower' not described in 'tipc_sub_check_overlap'
      ../net/tipc/subscr.c:65: warning: Function parameter or member 'found_upper' not described in 'tipc_sub_check_overlap'
      
      ../net/tipc/udp_media.c:75: warning: Function parameter or member 'proto' not described in 'udp_media_addr'
      ../net/tipc/udp_media.c:75: warning: Function parameter or member 'port' not described in 'udp_media_addr'
      ../net/tipc/udp_media.c:75: warning: Function parameter or member 'ipv4' not described in 'udp_media_addr'
      ../net/tipc/udp_media.c:75: warning: Function parameter or member 'ipv6' not described in 'udp_media_addr'
      ../net/tipc/udp_media.c:98: warning: Function parameter or member 'rcast' not described in 'udp_bearer'
      
      Also fixed a typo of "duest" to "dest".
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5fcb7d47
    • Randy Dunlap's avatar
      net/tipc: fix tipc header files for kernel-doc · ff10527e
      Randy Dunlap authored
      
      
      Fix tipc header files for adding to the networking docbook.
      
      Remove some uses of "/**" that were not kernel-doc notation.
      
      Fix some source formatting to eliminate Sphinx warnings.
      
      Add missing struct member and function argument kernel-doc descriptions.
      
      Correct the description of a couple of struct members that were
      marked as "(FIXME)".
      
      Documentation/networking/tipc:18: ../net/tipc/name_table.h:65: WARNING: Unexpected indentation.
      Documentation/networking/tipc:18: ../net/tipc/name_table.h:66: WARNING: Block quote ends without a blank line; unexpected unindent.
      
      ../net/tipc/bearer.h:128: warning: Function parameter or member 'min_win' not described in 'tipc_media'
      ../net/tipc/bearer.h:128: warning: Function parameter or member 'max_win' not described in 'tipc_media'
      
      ../net/tipc/bearer.h:171: warning: Function parameter or member 'min_win' not described in 'tipc_bearer'
      ../net/tipc/bearer.h:171: warning: Function parameter or member 'max_win' not described in 'tipc_bearer'
      ../net/tipc/bearer.h:171: warning: Function parameter or member 'disc' not described in 'tipc_bearer'
      ../net/tipc/bearer.h:171: warning: Function parameter or member 'up' not described in 'tipc_bearer'
      ../net/tipc/bearer.h:171: warning: Function parameter or member 'refcnt' not described in 'tipc_bearer'
      
      ../net/tipc/name_distr.h:68: warning: Function parameter or member 'port' not described in 'distr_item'
      
      ../net/tipc/name_table.h:111: warning: Function parameter or member 'services' not described in 'name_table'
      ../net/tipc/name_table.h:111: warning: Function parameter or member 'cluster_scope_lock' not described in 'name_table'
      ../net/tipc/name_table.h:111: warning: Function parameter or member 'rc_dests' not described in 'name_table'
      ../net/tipc/name_table.h:111: warning: Function parameter or member 'snd_nxt' not described in 'name_table'
      
      ../net/tipc/subscr.h:67: warning: Function parameter or member 'kref' not described in 'tipc_subscription'
      ../net/tipc/subscr.h:67: warning: Function parameter or member 'net' not described in 'tipc_subscription'
      ../net/tipc/subscr.h:67: warning: Function parameter or member 'service_list' not described in 'tipc_subscription'
      ../net/tipc/subscr.h:67: warning: Function parameter or member 'conid' not described in 'tipc_subscription'
      ../net/tipc/subscr.h:67: warning: Function parameter or member 'inactive' not described in 'tipc_subscription'
      ../net/tipc/subscr.h:67: warning: Function parameter or member 'lock' not described in 'tipc_subscription'
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ff10527e
    • Jakub Kicinski's avatar
      Merge branch 'mlxsw-add-support-for-802-1ad-bridging' · 7fe2af16
      Jakub Kicinski authored
      Ido Schimmel says:
      
      ====================
      mlxsw: Add support for 802.1ad bridging
      
      802.1ad, also known as QinQ, is an extension to the 802.1q standard,
      which is concerned with passing possibly 802.1q-tagged packets through
      another VLAN-like tunnel. The format of 802.1ad tag is the same as
      802.1q, except it uses the EtherType of 0x88a8, unlike 802.1q's 0x8100.
      
      Currently, mlxsw supports bridging with VLAN-unaware (802.1d) bridges
      and with VLAN-aware bridges whose VLAN protocol is 802.1q. This set adds
      support for VLAN-aware bridges whose VLAN protocol is 802.1ad.
      
      From mlxsw perspective, 802.1ad support entails two main changes:
      
      1. Ports member in an 802.1ad bridge need to be configured to classify
      802.1ad packets as tagged and all other packets as untagged
      
      2. When pushing a VLAN at ingress (PVID), its EtherType needs to be
      0x88a8 instead of 802.1q's 0x8100
      
      The rest stays the same as with 802.1q bridges.
      
      A follow-up patch set will add support for QinQ with VXLAN, also known
      as QinVNI. Currently, linking of a VXLAN netdev to an 802.1ad bridge is
      vetoed and an error is returned to user space.
      
      Patch set overview:
      
      Patches #1-#2 add the registers required to configure the two changes
      described above.
      
      Patch #3 changes the device to only treat 802.1q packets as tagged by
      default, as opposed to both 802.1q and 802.1ad packets. This is more
      inline with the behavior supported by the driver.
      
      Patch #4 adds the ability to configure the EtherType when pushing a PVID
      at ingress.
      
      Patch #5 performs small refactoring to allow for code re-use in the next
      patch.
      
      Patch #6 adds support for 802.1ad bridging and allows mlxsw ports and
      their uppers to join such a bridge.
      
      Patch #7 changes the bridge driver to notify about changes to its VLAN
      protocol, so that these could be vetoed by mlxsw in the next patch.
      
      Patches #8-#9 teach mlxsw to veto unsupported 802.1ad configurations and
      add a corresponding selftest to make sure such configurations are indeed
      vetoed.
      ====================
      
      Link: https://lore.kernel.org/r/20201129125407.1391557-1-idosch@idosch.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7fe2af16