Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
From 4a44a52f16ccd3d03e0cb5fb437a5eb31a5f9f05 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Mon, 26 Feb 2024 21:39:34 +0100
|
||||
Subject: [PATCH] net l2tp: drop flow hash on forward
|
||||
|
||||
Drop the flow-hash of the skb when forwarding to the L2TP netdev.
|
||||
|
||||
This avoids the L2TP qdisc from using the flow-hash from the outer
|
||||
packet, which is identical for every flow within the tunnel.
|
||||
|
||||
This does not affect every platform but is specific for the ethernet
|
||||
driver. It depends on the platform including L4 information in the
|
||||
flow-hash.
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
net/l2tp/l2tp_eth.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- a/net/l2tp/l2tp_eth.c
|
||||
+++ b/net/l2tp/l2tp_eth.c
|
||||
@@ -136,6 +136,9 @@ static void l2tp_eth_dev_recv(struct l2t
|
||||
/* checksums verified by L2TP */
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
|
||||
+ /* drop outer flow-hash */
|
||||
+ skb_clear_hash(skb);
|
||||
+
|
||||
skb_dst_drop(skb);
|
||||
nf_reset_ct(skb);
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 3f1a227cb071f65f6ecc4db9f399649869735a7c Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Sat, 17 Feb 2024 22:34:59 +0100
|
||||
Subject: [PATCH] net vxlan: don't learn non-unicast L2 destinations
|
||||
|
||||
This patch avoids learning non-unicast targets in the vxlan FDB.
|
||||
They are non-unicast and thus should be sent to the broadcast-IPv6
|
||||
instead of a unicast address.
|
||||
|
||||
Link: https://lore.kernel.org/netdev/15ee0cc7-9252-466b-8ce7-5225d605dde8@david-bauer.net/
|
||||
Link: https://github.com/freifunk-gluon/gluon/issues/3191
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
drivers/net/vxlan.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
--- a/drivers/net/vxlan/vxlan_core.c
|
||||
+++ b/drivers/net/vxlan/vxlan_core.c
|
||||
@@ -1493,6 +1493,10 @@ static bool vxlan_snoop(struct net_devic
|
||||
struct vxlan_fdb *f;
|
||||
u32 ifindex = 0;
|
||||
|
||||
+ /* Don't learn broadcast packets */
|
||||
+ if (is_multicast_ether_addr(src_mac) || is_zero_ether_addr(src_mac))
|
||||
+ return false;
|
||||
+
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
if (src_ip->sa.sa_family == AF_INET6 &&
|
||||
(ipv6_addr_type(&src_ip->sin6.sin6_addr) & IPV6_ADDR_LINKLOCAL))
|
||||
@@ -34,7 +34,7 @@
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&pio 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -434,10 +434,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcca_1v8>;
|
||||
status = "okay";
|
||||
|
||||
Reference in New Issue
Block a user