linux/drivers/net
Hangbin Liu e74216b8de bonding: fix macvlan over alb bond support
The commit 14af9963ba ("bonding: Support macvlans on top of tlb/rlb mode
bonds") aims to enable the use of macvlans on top of rlb bond mode. However,
the current rlb bond mode only handles ARP packets to update remote neighbor
entries. This causes an issue when a macvlan is on top of the bond, and
remote devices send packets to the macvlan using the bond's MAC address
as the destination. After delivering the packets to the macvlan, the macvlan
will rejects them as the MAC address is incorrect. Consequently, this commit
makes macvlan over bond non-functional.

To address this problem, one potential solution is to check for the presence
of a macvlan port on the bond device using netif_is_macvlan_port(bond->dev)
and return NULL in the rlb_arp_xmit() function. However, this approach
doesn't fully resolve the situation when a VLAN exists between the bond and
macvlan.

So let's just do a partial revert for commit 14af9963ba in rlb_arp_xmit().
As the comment said, Don't modify or load balance ARPs that do not originate
locally.

Fixes: 14af9963ba ("bonding: Support macvlans on top of tlb/rlb mode bonds")
Reported-by: susan.zheng@veritas.com
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2117816
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
History 2023-08-24 10:07:13 +02:00
..
appletalk net: appletalk: remove Apple/Farallon LocalTalk PC support 2022-05-11 13:08:38 +01:00
arcnet leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
bonding bonding: fix macvlan over alb bond support 2023-08-24 10:07:13 +02:00
caif caif_virtio: fix race between virtio_device_ready() and ndo_open() 2022-06-27 08:04:30 -04:00
can net: validate veth and vxcan peer ifindexes 2023-08-20 11:40:03 +01:00
dsa net: dsa: mt7530: fix handling of 802.1X PAE frames 2023-08-19 12:29:33 +01:00
ethernet ibmveth: Use dcbf rather than dcbfl 2023-08-23 11:51:16 +01:00
fddi net: fddi: skfp: rmt: Clean up some inconsistent indenting 2023-04-11 12:46:26 +02:00
fjes ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
hamradio hamradio: drop ISA_DMA_API dependency 2023-04-19 13:11:41 +01:00
hippi net: hippi: Add missing pci_disable_device() in rr_init_one() 2022-09-26 13:22:39 -07:00
hyperv hv_netvsc: Allocate rx indirection table size dynamically 2023-06-07 09:46:49 +01:00
ieee802154 Core WPAN changes: 2023-06-24 15:41:46 -07:00
ipa net: ipa: only reset hashed tables when supported 2023-07-25 20:34:20 -07:00
ipvlan ipvlan: Fix a reference count leak warning in ipvlan_ns_exit() 2023-08-18 19:38:44 -07:00
mctp mctp i2c: Switch back to use struct i2c_driver's .probe() 2023-06-13 20:46:20 -07:00
mdio net: mdio: mdio-bitbang: Fix C45 read/write protocol 2023-08-19 12:41:33 +01:00
netdevsim netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() 2023-07-12 12:46:35 -07:00
pcs net: pcs: Add missing put_device call in miic_create 2023-08-11 10:21:07 +01:00
phy net: phy: Fix deadlocking in phy_error() invocation 2023-08-19 19:26:50 +01:00
plip net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq() 2022-12-07 20:10:47 -08:00
ppp pptp: Fix fib lookup calls. 2023-07-04 19:39:30 +01:00
pse-pd net: pse-pd: PSE_REGULATOR should depend on REGULATOR 2022-10-05 20:32:28 -07:00
slip drivers: net: slip: fix NPD bug in sl_tx_timeout() 2022-04-06 23:00:16 -07:00
team team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves 2023-08-15 19:03:11 -07:00
thunderbolt net: thunderbolt: Fix typos in comments 2023-04-12 21:09:12 -07:00
usb USB: zaurus: Add ID for A-300/B-500/C-700 2023-08-01 14:44:27 -07:00
vmxnet3 net: introduce and use skb_frag_fill_page_desc() 2023-05-13 19:47:56 +01:00
vxlan drivers: vxlan: vnifilter: free percpu vni stats on error path 2023-08-06 16:43:07 +01:00
wan net: lapbether: only support ethernet devices 2023-06-15 08:55:22 +01:00
wireguard wireguard: allowedips: expand maximum node depth 2023-08-07 12:26:57 -07:00
wireless wifi: iwlwifi: mvm: add dependency for PTP clock 2023-08-15 10:54:06 +02:00
wwan Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
xen-netback xen/netback: Fix buffer overrun triggered by unusual packet 2023-08-03 09:04:08 +02:00
amt.c amt: remove unnecessary skb pointer check 2022-08-19 16:51:21 -07:00
bareudp.c bareudp: use ipv6_mod_enabled to check if IPv6 enabled 2022-03-16 19:16:57 -07:00
dummy.c ethtool: doc: clarify what drivers can implement in their get_drvinfo() 2022-11-17 19:26:02 -08:00
eql.c net: rename reference+tracking helpers 2022-06-09 21:52:55 -07:00
geneve.c net: geneve: accept every ethertype 2023-03-21 13:39:29 +01:00
gtp.c gtp: Fix use-after-free in __gtp_encap_destroy(). 2023-06-24 15:20:42 -07:00
ifb.c net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). 2022-10-28 20:13:54 -07:00
Kconfig net: veth: make PAGE_POOL_STATS optional 2023-05-10 09:57:39 +01:00
LICENSE.SRC Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
loopback.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-29 13:04:52 -08:00
macsec.c macsec: use DEV_STATS_INC() 2023-08-06 13:19:57 +01:00
macvlan.c macvlan: add forgotten nla_policy for IFLA_MACVLAN_BC_CUTOFF 2023-07-25 19:48:50 -07:00
macvtap.c drivers: remove struct module * setting from struct class 2023-03-17 15:16:27 +01:00
Makefile net: thunderbolt: Move into own directory 2023-01-12 21:19:30 -08:00
mdio.c net: mdio: Correct function name mdio45_links_ok() in comment 2021-03-29 13:42:44 -07:00
mhi_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-17 18:30:39 -08:00
mii.c net: mii: make mii_ethtool_gset() return void 2021-08-19 13:06:53 +01:00
net_failover.c net/net_failover: fix txq exceeding warning 2023-03-27 08:08:57 +01:00
netconsole.c netconsole: avoid CON_ENABLED misuse to track registration 2022-12-02 11:25:02 +01:00
nlmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
ntb_netdev.c ntb_netdev: Fix module_init problem 2023-07-08 11:03:53 -04:00
rionet.c driver core: class: remove struct class_interface * from callbacks 2023-04-03 21:42:52 +02:00
sb1000.c net: dev: Makes sure netif_rx() can be invoked in any context. 2022-02-14 13:38:35 +00:00
Space.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
sungem_phy.c net: sungem_phy: Add of_node_put() for reference returned by of_get_parent() 2022-07-21 19:04:19 -07:00
tap.c net: tap_open(): set sk_uid from current_fsuid() 2023-08-02 10:06:06 +01:00
tun.c drivers: net: prevent tun_build_skb() to exceed the packet size limit 2023-08-07 19:14:41 -07:00
veth.c net: validate veth and vxcan peer ifindexes 2023-08-20 11:40:03 +01:00
virtio_net.c Including fixes from ipsec and netfilter. 2023-08-18 06:52:23 +02:00
vrf.c vrf: Fix lockdep splat in output path 2023-07-18 12:49:57 +02:00
vsockmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
xen-netfront.c drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00