+++ /dev/null
-From foo@baz Wed May 16 16:57:32 CEST 2018
-From: Grygorii Strashko <grygorii.strashko@ti.com>
-Date: Tue, 1 May 2018 12:41:22 -0500
-Subject: net: ethernet: ti: cpsw: fix packet leaking in dual_mac mode
-
-From: Grygorii Strashko <grygorii.strashko@ti.com>
-
-[ Upstream commit 5e5add172ea81152d518b161ec5706503ad3d799 ]
-
-In dual_mac mode packets arrived on one port should not be forwarded by
-switch hw to another port. Only Linux Host can forward packets between
-ports. The below test case (reported in [1]) shows that packet arrived on
-one port can be leaked to anoter (reproducible with dual port evms):
- - connect port 1 (eth0) to linux Host 0 and run tcpdump or Wireshark
- - connect port 2 (eth1) to linux Host 1 with vlan 1 configured
- - ping <IPx> from Host 1 through vlan 1 interface.
-ARP packets will be seen on Host 0.
-
-Issue happens because dual_mac mode is implemnted using two vlans: 1 (Port
-1+Port 0) and 2 (Port 2+Port 0), so there are vlan records created for for
-each vlan. By default, the ALE will find valid vlan record in its table
-when vlan 1 tagged packet arrived on Port 2 and so forwards packet to all
-ports which are vlan 1 members (like Port.
-
-To avoid such behaviorr the ALE VLAN ID Ingress Check need to be enabled
-for each external CPSW port (ALE_PORTCTLn.VID_INGRESS_CHECK) so ALE will
-drop ingress packets if Rx port is not VLAN member.
-
-Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/ti/cpsw.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/net/ethernet/ti/cpsw.c
-+++ b/drivers/net/ethernet/ti/cpsw.c
-@@ -1109,6 +1109,8 @@ static inline void cpsw_add_dual_emac_de
- port_mask, ALE_VLAN, slave->port_vlan, 0);
- cpsw_ale_add_ucast(priv->ale, priv->mac_addr,
- priv->host_port, ALE_VLAN | ALE_SECURE, slave->port_vlan);
-+ cpsw_ale_control_set(cpsw->ale, slave_port,
-+ ALE_PORT_DROP_UNKNOWN_VLAN, 1);
- }
-
- static void soft_reset_slave(struct cpsw_slave *slave)
tcp-ignore-fast-open-on-repair-mode.patch
sctp-fix-the-issue-that-the-cookie-ack-with-auth-can-t-get-processed.patch
sctp-delay-the-authentication-for-the-duplicated-cookie-echo-chunk.patch
-net-ethernet-ti-cpsw-fix-packet-leaking-in-dual_mac-mode.patch
alsa-timer-call-notifier-in-the-same-spinlock.patch
audit-move-calcs-after-alloc-and-check-when-logging-set-loginuid.patch
arm64-introduce-mov_q-macro-to-move-a-constant-into-a-64-bit-register.patch