Skip to content
Permalink
Dust-Li/net-ip…
Switch branches/tags

Commits on Aug 19, 2021

  1. net: ipvs: add sysctl_run_estimation to support disable estimation

    estimation_timer will iterater the est_list to do estimation
    for each ipvs stats. When there are lots of services, the
    list can be very large.
    We observiced estimation_timer() run for more then 200ms on
    a machine with 104 CPU and 50K services.
    
    yunhong-cgl jiang report the same phenomenon before:
    https://www.spinics.net/lists/lvs-devel/msg05426.html
    
    In some cases(for example a large K8S cluster with many ipvs services),
    ipvs estimation may not be needed. So adding a sysctl blob to allow
    users to disable this completely.
    
    Default is: 1 (enable)
    
    Cc: yunhong-cgl jiang <xintian1976@gmail.com>
    Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
    Dust Li authored and intel-lab-lkp committed Aug 19, 2021

Commits on Aug 18, 2021

  1. net/mlx4: Use ARRAY_SIZE to get an array's size

    The ARRAY_SIZE macro is defined to get an array's size which is
    more compact and more formal in linux source. Thus, we can replace
    the long sizeof(arr)/sizeof(arr[0]) with the compact ARRAY_SIZE.
    
    Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
    Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
    Link: https://lore.kernel.org/r/20210817121106.44189-1-wangborong@cdjrlc.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jason Wang authored and Jakub Kicinski committed Aug 18, 2021
  2. pktgen: Remove fill_imix_distribution() CONFIG_XFRM dependency

    Currently, the declaration of fill_imix_distribution() is dependent
    on CONFIG_XFRM. This is incorrect.
    
    Move fill_imix_distribution() declaration out of #ifndef CONFIG_XFRM
    block.
    
    Signed-off-by: Nick Richardson <richardsonnick@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Nick Richardson authored and davem330 committed Aug 18, 2021
  3. net-memcg: pass in gfp_t mask to mem_cgroup_charge_skmem()

    Add gfp_t mask as an input parameter to mem_cgroup_charge_skmem(),
    to give more control to the networking stack and enable it to change
    memcg charging behavior. In the future, the networking stack may decide
    to avoid oom-kills when fallbacks are more appropriate.
    
    One behavior change in mem_cgroup_charge_skmem() by this patch is to
    avoid force charging by default and let the caller decide when and if
    force charging is needed through the presence or absence of
    __GFP_NOFAIL.
    
    Signed-off-by: Wei Wang <weiwan@google.com>
    Reviewed-by: Shakeel Butt <shakeelb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tracywwnj authored and davem330 committed Aug 18, 2021
  4. octeontx2-pf: Allow VLAN priority also in ntuple filters

    VLAN TCI is a 16 bit field which includes Priority(3 bits),
    CFI(1 bit) and VID(12 bits). Currently ntuple filters support
    installing rules to steer packets based on VID only.
    This patch extends that support such that filters can
    be installed for entire VLAN TCI.
    
    Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
    Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Subbaraya Sundeep authored and davem330 committed Aug 18, 2021
  5. selftests: vrf: Add test for SNAT over VRF

    Commit 09e856d ("vrf: Reset skb conntrack connection on VRF rcv")
    fixes the "reverse-DNAT" of an SNAT-ed packet over a VRF.
    
    This patch adds a test for this scenario.
    
    Signed-off-by: Lahav Schlesinger <lschlesinger@drivenets.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    lschlesinger-dn authored and davem330 committed Aug 18, 2021
  6. net: net_namespace: Optimize the code

    There is only one caller for ops_free(), so inline it.
    Separate net_drop_ns() and net_free(), so the net_free()
    can be called directly.
    Add free_exit_list() helper function for free net_exit_list.
    
    ====================
    v2:
     - v1 does not apply, rebase it.
    ====================
    
    Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yajun Deng authored and davem330 committed Aug 18, 2021
  7. net: dsa: tag_sja1105: be dsa_loop-safe

    Add support for tag_sja1105 running on non-sja1105 DSA ports, by making
    sure that every time we dereference dp->priv, we check the switch's
    dsa_switch_ops (otherwise we access a struct sja1105_port structure that
    is in fact something else).
    
    This adds an unconditional build-time dependency between sja1105 being
    built as module => tag_sja1105 must also be built as module. This was
    there only for PTP before.
    
    Some sane defaults must also take place when not running on sja1105
    hardware. These are:
    
    - sja1105_xmit_tpid: the sja1105 driver uses different VLAN protocols
      depending on VLAN awareness and switch revision (when an encapsulated
      VLAN must be sent). Default to 0x8100.
    
    - sja1105_rcv_meta_state_machine: this aggregates PTP frames with their
      metadata timestamp frames. When running on non-sja1105 hardware, don't
      do that and accept all frames unmodified.
    
    - sja1105_defer_xmit: calls sja1105_port_deferred_xmit in sja1105_main.c
      which writes a management route over SPI. When not running on sja1105
      hardware, bypass the SPI write and send the frame as-is.
    
    Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    vladimiroltean authored and davem330 committed Aug 18, 2021
  8. Merge branch 'nci-ext'

    Bongsu Jeon says:
    
    ====================
    Update the virtual NCI device driver and add the NCI testcase
    
    This series updates the virtual NCI device driver and NCI selftest code
    and add the NCI test case in selftests.
    
    1/8 to use wait queue in virtual device driver.
    2/8 to remove the polling code in selftests.
    3/8 to fix a typo.
    4/8 to fix the next nlattr offset calculation.
    5/8 to fix the wrong condition in if statement.
    6/8 to add a flag parameter to the Netlink send function.
    7/8 to extract the start/stop discovery function.
    8/8 to add the NCI testcase in selftests.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Aug 18, 2021
  9. selftests: nci: Add the NCI testcase reading T4T Tag

    Add the NCI testcase reading T4T Tag that has NFC TEST in plain text.
    the virtual device application acts as T4T Tag in this testcase.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  10. selftests: nci: Extract the start/stop discovery function

    To reuse the start/stop discovery code in other testcase, extract the code.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  11. selftests: nci: Add the flags parameter for the send_cmd_mt_nla

    To reuse the send_cmd_mt_nla for NLM_F_REQUEST and NLM_F_DUMP flag,
    add the flags parameter to the function.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  12. selftests: nci: Fix the wrong condition

    memcpy should be executed only in case nla_len's value is greater than 0.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  13. selftests: nci: Fix the code for next nlattr offset

    nlattr could have a padding for 4 bytes alignment. So next nla's offset
    should be calculated with a padding.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  14. selftests: nci: Fix the typo

    Fix typo: rep_len -> resp_len
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  15. selftests: nci: Remove the polling code to read a NCI frame

    Because the virtual NCI device uses Wait Queue, the virtual device
    application doesn't need to poll the NCI frame.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  16. nfc: virtual_ncidev: Use wait queue instead of polling

    In previous version, the user level virtual device application that used
    this driver should have the polling scheme to read a NCI frame.
    To remove this polling scheme, use Wait Queue.
    
    Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Bongsu Jeon authored and davem330 committed Aug 18, 2021
  17. net: procfs: add seq_puts() statement for dev_mcast

    Add seq_puts() statement for dev_mcast, make it more readable.
    As also, keep vertical alignment for {dev, ptype, dev_mcast} that
    under /proc/net.
    
    Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yajun Deng authored and davem330 committed Aug 18, 2021
  18. net: RxRPC: make dependent Kconfig symbols be shown indented

    Make all dependent RxRPC kconfig entries be dependent on AF_RXRPC
    so that they are presented (indented) after AF_RXRPC instead
    of being presented at the same level on indentation.
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Marc Dionne <marc.dionne@auristor.com>
    Cc: linux-afs@lists.infradead.org
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    rddunlap authored and davem330 committed Aug 18, 2021
  19. Merge branch 'mptcp-mesh-path-manager'

    Mat Martineau says:
    
    ====================
    mptcp: Add full mesh path manager option
    
    The path manager in MPTCP controls the creation of additional subflows
    after the initial connection is created. As each peer advertises
    available endpoints with the ADD_ADDR MPTCP option, the recipient of
    those advertisements must decide which subflows to create from the known
    local and remote interfaces that are available for use by MPTCP.
    
    The existing in-kernel path manager will create one additional subflow
    when an ADD_ADDR is received, or a local address is newly configured for
    MPTCP use. The maximum number of subflows has a configurable limit.
    
    This patch set adds a MPTCP_PM_ADDR_FLAG_FULLMESH flag to the MPTCP
    netlink API that enables subflows to be created more aggressively. When
    an ADD_ADDR is received from a peer, new subflows are created between
    that address/port and all local addresses configured for MPTCP.
    Similarly, when a new local address is newly configured for use by
    MPTCP, new subflows are created between that local address and all known
    remote addresses for that MPTCP connection. The configurable limit on
    the number of subflows still applies. If the new flag is not used the
    path manager behavior is unchanged.
    
    Patch 1 adds a helper function and refactors another function to prepare
    for the rest of the patch series.
    
    Patches 2 and 3 add two mesh connection capabilities: initiating
    subflows based on added local addresses, or reacting to incoming
    advertisements.
    
    Patches 4-6 add full mesh cases to the self tests.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Aug 18, 2021
  20. selftests: mptcp: delete uncontinuous removing ids

    The removing addresses testcases can only deal with the continuous ids.
    This patch added the uncontinuous removing ids support.
    
    Signed-off-by: Geliang Tang <geliangtang@xiaomi.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Aug 18, 2021
  21. selftests: mptcp: add fullmesh testcases

    This patch added the testcases for the fullmesh address flag of the path
    manager.
    
    Co-developed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
    Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
    Signed-off-by: Geliang Tang <geliangtang@xiaomi.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Aug 18, 2021
  22. selftests: mptcp: set and print the fullmesh flag

    This patch dealt with the MPTCP_PM_ADDR_FLAG_FULLMESH flag in add_addr()
    and print_addr(), to set and print out the fullmesh flag.
    
    Signed-off-by: Geliang Tang <geliangtang@xiaomi.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Aug 18, 2021
  23. mptcp: local addresses fullmesh

    In mptcp_pm_nl_add_addr_received(), fill a temporary allocate array of
    all local address corresponding to the fullmesh endpoint. If such array
    is empty, keep the current behavior.
    
    Elsewhere loop on such array and create a subflow for each local address
    towards the given remote address
    
    Suggested-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Geliang Tang <geliangtang@xiaomi.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Aug 18, 2021
  24. mptcp: remote addresses fullmesh

    This patch added and managed a new per endpoint flag, named
    MPTCP_PM_ADDR_FLAG_FULLMESH.
    
    In mptcp_pm_create_subflow_or_signal_addr(), if such flag is set, instead
    of:
            remote_address((struct sock_common *)sk, &remote);
    fill a temporary allocated array of all known remote address. After
    releaseing the pm lock loop on such array and create a subflow for each
    remote address from the given local.
    
    Note that the we could still use an array even for non 'fullmesh'
    endpoint: with a single entry corresponding to the primary MPC subflow
    remote address.
    
    Suggested-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Geliang Tang <geliangtang@xiaomi.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Aug 18, 2021
  25. mptcp: drop flags and ifindex arguments

    This patch added a new helper mptcp_pm_get_flags_and_ifindex_by_id(),
    and used it in __mptcp_subflow_connect() to get the flags and ifindex
    values.
    
    Then the two arguments flags and ifindex of __mptcp_subflow_connect()
    can be dropped.
    
    Signed-off-by: Geliang Tang <geliangtang@xiaomi.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Aug 18, 2021
  26. Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/tnguy/next-queue
    
    Nguyen, Anthony L says:
    
    ====================
    40GbE Intel Wired LAN Driver Updates 2021-08-17
    
    This series contains updates to iavf and i40e drivers.
    
    Stefan Assmann converts use of flag based locking of critical sections
    to mutexes for iavf.
    
    Colin King fixes a spelling error for i40e.
    
    * '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
      i40e: Fix spelling mistake "dissable" -> "disable"
      iavf: use mutexes for locking of critical sections
    ====================
    
    Link: https://lore.kernel.org/r/20210817203549.3529860-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Aug 18, 2021

Commits on Aug 17, 2021

  1. i40e: Fix spelling mistake "dissable" -> "disable"

    There is a spelling mistake in a dev_info message. Fix it.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Colin Ian King authored and anguy11 committed Aug 17, 2021
  2. iavf: use mutexes for locking of critical sections

    As follow-up to the discussion with Jakub Kicinski about iavf locking
    being insufficient [1] convert iavf to use mutexes instead of bitops.
    The locking logic is kept as is, just a drop-in replacement of
    enum iavf_critical_section_t with separate mutexes.
    The only difference is that the mutexes will be destroyed before the
    module is unloaded.
    
    [1] https://lwn.net/ml/netdev/20210316150210.00007249%40intel.com/
    
    Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
    Tested-by: Marek Szlosek <marek.szlosek@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    sassmann authored and anguy11 committed Aug 17, 2021
  3. selftests: net: improved IOAM tests

    As previously discussed with David Ahern, here is a refactored and improved
    version of the IOAM self-test. It is now more complete and more robust. Now,
    all tests are divided into three categories: OUTPUT (evaluates the IOAM
    processing by the sender), INPUT (evaluates the IOAM processing by the receiver)
    and GLOBAL (evaluates wider use cases that do not fall into the other two
    categories). Both OUTPUT and INPUT tests only use a two-node topology (alpha and
    beta), while GLOBAL tests use the entire three-node topology (alpha, beta,
    gamma). Each test is documented inside its own handler in the (bash) script.
    
    Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    IurmanJ authored and davem330 committed Aug 17, 2021
  4. Merge branch 'bridge-vlan-fixes'

    Nikolay Aleksandrov says:
    
    ====================
    net: bridge: vlan: fixes for vlan mcast contexts
    
    These are four fixes for vlan multicast contexts. The first patch enables
    mcast ctx snooping when adding already existing master vlans to be
    consistent with the rest of the code. The second patch accounts for the
    mcast ctx router ports when allocating skb for notification. The third
    one fixes two suspicious rcu usages due to wrong vlan group helper, and
    the fourth updates host vlan mcast state along with port mcast state.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Aug 17, 2021
  5. net: bridge: mcast: toggle also host vlan state in br_multicast_toggl…

    …e_vlan
    
    When changing vlan mcast state by br_multicast_toggle_vlan it iterates
    over all ports and enables/disables the port mcast ctx based on the new
    state, but I forgot to update the host vlan (bridge master vlan entry)
    with the new state so it will be left out. Also that function is not
    used outside of br_multicast.c, so make it static.
    
    Fixes: f4b7002 ("net: bridge: add vlan mcast snooping knob")
    Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Nikolay Aleksandrov authored and davem330 committed Aug 17, 2021
  6. net: bridge: mcast: use the correct vlan group helper

    When dereferencing the port vlan group we should use the rcu helper
    instead of the one relying on rtnl. In br_multicast_pg_to_port_ctx the
    entry cannot disappear as we hold the multicast lock and rcu as explained
    in the comment above it.
    For the same reason we're ok in br_multicast_start_querier.
    
     =============================
     WARNING: suspicious RCU usage
     5.14.0-rc5+ torvalds#429 Tainted: G        W
     -----------------------------
     net/bridge/br_private.h:1478 suspicious rcu_dereference_protected() usage!
    
     other info that might help us debug this:
    
     rcu_scheduler_active = 2, debug_locks = 1
     3 locks held by swapper/2/0:
      #0: ffff88822be85eb0 ((&p->timer)){+.-.}-{0:0}, at: call_timer_fn+0x5/0x2da
      #1: ffff88810b32f260 (&br->multicast_lock){+.-.}-{3:3}, at: br_multicast_port_group_expired+0x28/0x13d [bridge]
      #2: ffffffff824f6c80 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire.constprop.0+0x0/0x22 [bridge]
    
     stack backtrace:
     CPU: 2 PID: 0 Comm: swapper/2 Kdump: loaded Tainted: G        W         5.14.0-rc5+ torvalds#429
     Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-4.fc34 04/01/2014
     Call Trace:
      <IRQ>
      dump_stack_lvl+0x45/0x59
      nbp_vlan_group+0x3e/0x44 [bridge]
      br_multicast_pg_to_port_ctx+0xd6/0x10d [bridge]
      br_multicast_star_g_handle_mode+0xa1/0x2ce [bridge]
      ? netlink_broadcast+0xf/0x11
      ? nlmsg_notify+0x56/0x99
      ? br_mdb_notify+0x224/0x2e9 [bridge]
      ? br_multicast_del_pg+0x1dc/0x26d [bridge]
      br_multicast_del_pg+0x1dc/0x26d [bridge]
      br_multicast_port_group_expired+0xaa/0x13d [bridge]
      ? __grp_src_delete_marked.isra.0+0x35/0x35 [bridge]
      ? __grp_src_delete_marked.isra.0+0x35/0x35 [bridge]
      call_timer_fn+0x134/0x2da
      __run_timers+0x169/0x193
      run_timer_softirq+0x19/0x2d
      __do_softirq+0x1bc/0x42a
      __irq_exit_rcu+0x5c/0xb3
      irq_exit_rcu+0xa/0x12
      sysvec_apic_timer_interrupt+0x5e/0x75
      </IRQ>
      asm_sysvec_apic_timer_interrupt+0x12/0x20
     RIP: 0010:default_idle+0xc/0xd
     Code: e8 14 40 71 ff e8 10 b3 ff ff 4c 89 e2 48 89 ef 31 f6 5d 41 5c e9 a9 e8 c2 ff cc cc cc cc 0f 1f 44 00 00 e8 7f 55 65 ff fb f4 <c3> 0f 1f 44 00 00 55 65 48 8b 2c 25 40 6f 01 00 53 f0 80 4d 02 20
     RSP: 0018:ffff88810033bf00 EFLAGS: 00000206
     RAX: ffffffff819cf828 RBX: ffff888100328000 RCX: 0000000000000001
     RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff819cfa2d
     RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001
     R10: ffff8881008302c0 R11: 00000000000006db R12: 0000000000000000
     R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000000
      ? __sched_text_end+0x4/0x4
      ? default_idle_call+0x15/0x7b
      default_idle_call+0x4d/0x7b
      do_idle+0x124/0x2a2
      cpu_startup_entry+0x1d/0x1f
      secondary_startup_64_no_verify+0xb0/0xbb
    
    Fixes: 74edfd4 ("net: bridge: multicast: add helper to get port mcast context from port group")
    Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Nikolay Aleksandrov authored and davem330 committed Aug 17, 2021
  7. net: bridge: vlan: account for router port lists when notifying

    When sending a global vlan notification we should account for the number
    of router ports when allocating the skb, otherwise we might end up
    losing notifications.
    
    Fixes: dc00287 ("net: bridge: vlan: use br_rports_fill_info() to export mcast router ports")
    Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Nikolay Aleksandrov authored and davem330 committed Aug 17, 2021
  8. net: bridge: vlan: enable mcast snooping for existing master vlans

    We always create a vlan with enabled mcast snooping, so when the user
    turns on per-vlan mcast contexts they'll get consistent behaviour with
    the current situation, but one place wasn't updated when a bridge/master
    vlan which already exists (created due to port vlans) is being added as
    real bridge vlan (BRIDGE_VLAN_INFO_BRENTRY). We need to enable mcast
    snooping for that vlan when that happens.
    
    Fixes: 7b54aaa ("net: bridge: multicast: add vlan state initialization and control")
    Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Nikolay Aleksandrov authored and davem330 committed Aug 17, 2021
Older