From 1f9bb3857421b848f94da12f9cd7c4518b219e3e Mon Sep 17 00:00:00 2001 From: Lucas Asvio Date: Sun, 2 Jun 2024 13:28:15 +0200 Subject: [PATCH] kernel: ipq806x: refresh qca-nss patches to kernel 5.15.158 --- .../999-100-qca-nss-ecm-support-CORE.patch | 4 ++-- ...204-qca-nss-clients-iptunnel-support.patch | 2 +- ...99-205-qca-nss-clients-vxlan-support.patch | 4 ++-- .../999-300-qca-mcs-support.patch | 24 +++++++++---------- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/target/linux/ipq806x/patches-5.15/999-100-qca-nss-ecm-support-CORE.patch b/target/linux/ipq806x/patches-5.15/999-100-qca-nss-ecm-support-CORE.patch index 1dd9a4fac9..9402c91e97 100644 --- a/target/linux/ipq806x/patches-5.15/999-100-qca-nss-ecm-support-CORE.patch +++ b/target/linux/ipq806x/patches-5.15/999-100-qca-nss-ecm-support-CORE.patch @@ -452,7 +452,7 @@ +/* QCA NSS ECM support - End */ --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -2100,4 +2100,9 @@ void br_do_proxy_suppress_arp(struct sk_ +@@ -2101,4 +2101,9 @@ void br_do_proxy_suppress_arp(struct sk_ void br_do_suppress_nd(struct sk_buff *skb, struct net_bridge *br, u16 vid, struct net_bridge_port *p, struct nd_msg *msg); struct nd_msg *br_is_nd_neigh_msg(struct sk_buff *skb, struct nd_msg *m); @@ -602,7 +602,7 @@ static void ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp) -@@ -2064,6 +2065,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str +@@ -2065,6 +2066,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str return result; } diff --git a/target/linux/ipq806x/patches-5.15/999-204-qca-nss-clients-iptunnel-support.patch b/target/linux/ipq806x/patches-5.15/999-204-qca-nss-clients-iptunnel-support.patch index 5869f84e4c..64c2e524dd 100644 --- a/target/linux/ipq806x/patches-5.15/999-204-qca-nss-clients-iptunnel-support.patch +++ b/target/linux/ipq806x/patches-5.15/999-204-qca-nss-clients-iptunnel-support.patch @@ -10,7 +10,7 @@ __u32 flags; /* tunnel flags */ --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h -@@ -534,4 +534,9 @@ static inline void ip_tunnel_info_opts_s +@@ -567,4 +567,9 @@ static inline void ip_tunnel_info_opts_s #endif /* CONFIG_INET */ diff --git a/target/linux/ipq806x/patches-5.15/999-205-qca-nss-clients-vxlan-support.patch b/target/linux/ipq806x/patches-5.15/999-205-qca-nss-clients-vxlan-support.patch index b8a85108cf..b105499c26 100644 --- a/target/linux/ipq806x/patches-5.15/999-205-qca-nss-clients-vxlan-support.patch +++ b/target/linux/ipq806x/patches-5.15/999-205-qca-nss-clients-vxlan-support.patch @@ -59,7 +59,7 @@ /* caller should hold vxlan->hash_lock */ static struct vxlan_rdst *vxlan_fdb_find_rdst(struct vxlan_fdb *f, union vxlan_addr *ip, __be16 port, -@@ -2746,6 +2777,9 @@ static void vxlan_xmit_one(struct sk_buf +@@ -2750,6 +2781,9 @@ static void vxlan_xmit_one(struct sk_buf goto out_unlock; } @@ -69,7 +69,7 @@ tos = ip_tunnel_ecn_encap(tos, old_iph, skb); ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); err = vxlan_build_skb(skb, ndst, sizeof(struct iphdr), -@@ -2817,6 +2851,9 @@ static void vxlan_xmit_one(struct sk_buf +@@ -2821,6 +2855,9 @@ static void vxlan_xmit_one(struct sk_buf if (err < 0) goto tx_error; diff --git a/target/linux/ipq806x/patches-5.15/999-300-qca-mcs-support.patch b/target/linux/ipq806x/patches-5.15/999-300-qca-mcs-support.patch index 51c9282297..d3c10cca45 100644 --- a/target/linux/ipq806x/patches-5.15/999-300-qca-mcs-support.patch +++ b/target/linux/ipq806x/patches-5.15/999-300-qca-mcs-support.patch @@ -38,15 +38,15 @@ errout: --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -833,6 +833,7 @@ void br_manage_promisc(struct net_bridge +@@ -834,6 +834,7 @@ void br_manage_promisc(struct net_bridge int nbp_backup_change(struct net_bridge_port *p, struct net_device *backup_dev); /* br_input.c */ -+int br_pass_frame_up(struct sk_buff *skb); /* QCA qca-mcs support */ ++int br_pass_frame_up(struct sk_buff *skb, bool promisc); /* QCA qca-mcs support */ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb); rx_handler_func_t *br_get_rx_handler(const struct net_device *dev); -@@ -2105,4 +2106,14 @@ struct nd_msg *br_is_nd_neigh_msg(struct +@@ -2106,4 +2107,14 @@ struct nd_msg *br_is_nd_neigh_msg(struct #define __br_get(__hook, __default, __args ...) \ (__hook ? (__hook(__args)) : (__default)) /* QCA NSS ECM support - End */ @@ -124,12 +124,12 @@ return netif_receive_skb(skb); } --static int br_pass_frame_up(struct sk_buff *skb) -+int br_pass_frame_up(struct sk_buff *skb) +-static int br_pass_frame_up(struct sk_buff *skb, bool promisc) ++int br_pass_frame_up(struct sk_buff *skb, bool promisc) { struct net_device *indev, *brdev = BR_INPUT_SKB_CB(skb)->brdev; struct net_bridge *br = netdev_priv(brdev); -@@ -69,6 +79,7 @@ static int br_pass_frame_up(struct sk_bu +@@ -71,6 +81,7 @@ static int br_pass_frame_up(struct sk_bu dev_net(indev), NULL, skb, indev, NULL, br_netif_receive_skb); } @@ -137,8 +137,8 @@ /* note: already called with rcu_read_lock */ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb) -@@ -84,6 +95,11 @@ int br_handle_frame_finish(struct net *n - struct net_bridge *br; +@@ -87,6 +98,11 @@ int br_handle_frame_finish(struct net *n + bool promisc; u16 vid = 0; u8 state; + /* QCA qca-mcs support - Start */ @@ -149,7 +149,7 @@ if (!p || p->state == BR_STATE_DISABLED) goto drop; -@@ -140,6 +156,11 @@ int br_handle_frame_finish(struct net *n +@@ -145,6 +161,11 @@ int br_handle_frame_finish(struct net *n switch (pkt_type) { case BR_PKT_MULTICAST: @@ -161,7 +161,7 @@ mdst = br_mdb_get(brmctx, skb, vid); if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) { -@@ -155,8 +176,15 @@ int br_handle_frame_finish(struct net *n +@@ -160,8 +181,15 @@ int br_handle_frame_finish(struct net *n } break; case BR_PKT_UNICAST: @@ -179,7 +179,7 @@ default: break; } -@@ -171,12 +199,19 @@ int br_handle_frame_finish(struct net *n +@@ -176,12 +204,19 @@ int br_handle_frame_finish(struct net *n dst->used = now; br_forward(dst->dst, skb, local_rcv, false); } else { @@ -198,7 +198,7 @@ - +out1: /* QCA qca-mcs support */ if (local_rcv) - return br_pass_frame_up(skb); + return br_pass_frame_up(skb, promisc); --- a/include/linux/mroute.h +++ b/include/linux/mroute.h