From 998892d0678211bba42eb185a52e906a392308bc Mon Sep 17 00:00:00 2001 From: Lucas Asvio Date: Fri, 6 Jun 2025 08:52:42 +0200 Subject: [PATCH] ipq806x_nss: bump to k6.6.93 --- .../990-0012-qca-nss-cfi-support.patch | 16 +++++------ ...0-0013-qca-nss-drv-add-qdisc-support.patch | 28 +++++++++---------- ...ilter_optional_tcp_window_check.patc.patch | 4 +-- ...ridge_optimize_netfilter_hooks.patch.patch | 2 +- ...x-IPv6-user-route-change-event-calls.patch | 6 ++-- .../990-0184-net-add-fast-xmit-api.patch | 2 +- ...eset-skb-fast_xmit-flag-in-slow-path.patch | 2 +- ...-fast_xmit-flag-in-dev_fast_xmit-API.patch | 2 +- ...dded-route-table-update-notify-chain.patch | 14 +++++----- ...idge-add-patch-for-IGMP-MLD-snooping.patch | 4 +-- ...ice-notification-for-bridge-activity.patch | 2 +- ...204-bridge-Port-Hy-Fi-bridging-hooks.patch | 2 +- ...extra-priv_flag-support-in-netdevice.patch | 8 +++--- ...-linux-kernel-to-support-shortcut-fe.patch | 8 +++--- ...-tc-filter-taps-support-for-sfe-path.patch | 6 ++-- ...ve-skb_vlan_untag-skb-after-sfe-hook.patch | 10 +++---- ...e-Adding-support-to-detect-fb-netdev.patch | 2 +- ...-0341-ppp-PPPoE-acceleration-support.patch | 14 +++++----- ...-0343-net-gre-Set-skb-skb_iif-number.patch | 4 +-- ...heck-compression-enabled-on-PPP-devi.patch | 2 +- ...Use-flag-to-detect-TX-RX-compression.patch | 2 +- ...-skb-iif-for-pkt-thru-l2tp-interface.patch | 4 +-- ...l2tp-chan-ops-support-get_addressing.patch | 4 +-- ...t-l2tp-ppp_channel_proto_version-API.patch | 8 +++--- 24 files changed, 78 insertions(+), 78 deletions(-) diff --git a/target/linux/ipq806x/patches-6.6/990-0012-qca-nss-cfi-support.patch b/target/linux/ipq806x/patches-6.6/990-0012-qca-nss-cfi-support.patch index 3db5503985..a20f3975a0 100644 --- a/target/linux/ipq806x/patches-6.6/990-0012-qca-nss-cfi-support.patch +++ b/target/linux/ipq806x/patches-6.6/990-0012-qca-nss-cfi-support.patch @@ -39,7 +39,7 @@ return tfm->__crt_alg->cra_blocksize; --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c -@@ -657,6 +657,7 @@ static int esp_output(struct xfrm_state +@@ -616,6 +616,7 @@ static int esp_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -47,7 +47,7 @@ esp.inplace = true; -@@ -668,6 +669,11 @@ static int esp_output(struct xfrm_state +@@ -627,6 +628,11 @@ static int esp_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -59,7 +59,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -889,6 +895,7 @@ static int esp_input(struct xfrm_state * +@@ -848,6 +854,7 @@ static int esp_input(struct xfrm_state * u8 *iv; struct scatterlist *sg; int err = -EINVAL; @@ -67,7 +67,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) goto out; -@@ -896,6 +903,12 @@ static int esp_input(struct xfrm_state * +@@ -855,6 +862,12 @@ static int esp_input(struct xfrm_state * if (elen <= 0) goto out; @@ -82,7 +82,7 @@ --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c -@@ -695,6 +695,7 @@ static int esp6_output(struct xfrm_state +@@ -654,6 +654,7 @@ static int esp6_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -90,7 +90,7 @@ esp.inplace = true; -@@ -706,6 +707,11 @@ static int esp6_output(struct xfrm_state +@@ -665,6 +666,11 @@ static int esp6_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -102,7 +102,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -933,6 +939,7 @@ static int esp6_input(struct xfrm_state +@@ -892,6 +898,7 @@ static int esp6_input(struct xfrm_state __be32 *seqhi; u8 *iv; struct scatterlist *sg; @@ -110,7 +110,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) { ret = -EINVAL; -@@ -944,6 +951,12 @@ static int esp6_input(struct xfrm_state +@@ -903,6 +910,12 @@ static int esp6_input(struct xfrm_state goto out; } diff --git a/target/linux/ipq806x/patches-6.6/990-0013-qca-nss-drv-add-qdisc-support.patch b/target/linux/ipq806x/patches-6.6/990-0013-qca-nss-drv-add-qdisc-support.patch index 4c78f7739c..e9638dc616 100644 --- a/target/linux/ipq806x/patches-6.6/990-0013-qca-nss-drv-add-qdisc-support.patch +++ b/target/linux/ipq806x/patches-6.6/990-0013-qca-nss-drv-add-qdisc-support.patch @@ -1,6 +1,6 @@ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -762,6 +762,7 @@ typedef unsigned char *sk_buff_data_t; +@@ -767,6 +767,7 @@ enum skb_tstamp_type { * @offload_fwd_mark: Packet was L2-forwarded in hardware * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware * @tc_skip_classify: do not classify packet. set by IFB device @@ -8,7 +8,7 @@ * @tc_at_ingress: used within tc_classify to distinguish in/egress * @redirected: packet was redirected by packet classifier * @from_ingress: packet was redirected from the ingress path -@@ -939,6 +940,7 @@ struct sk_buff { +@@ -942,6 +943,7 @@ struct sk_buff { #ifdef CONFIG_NET_XGRESS __u8 tc_at_ingress:1; /* See TC_AT_INGRESS_MASK */ __u8 tc_skip_classify:1; @@ -62,7 +62,7 @@ { --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -4681,6 +4681,15 @@ void dev_uc_flush(struct net_device *dev +@@ -4692,6 +4692,15 @@ void dev_uc_flush(struct net_device *dev void dev_uc_init(struct net_device *dev); /** @@ -359,13 +359,10 @@ u32 limit; const struct Qdisc_ops *ops; struct qdisc_size_table __rcu *stab; -@@ -748,6 +749,40 @@ static inline bool skb_skip_tc_classify( - return true; - } - #endif -+ return false; -+} -+ +@@ -752,6 +753,40 @@ static inline bool skb_skip_tc_classify( + return false; + } + +/* + * Set skb classify bit field. + */ @@ -397,10 +394,13 @@ + return true; + } +#endif - return false; - } - -@@ -802,6 +802,11 @@ static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i) ++ return false; ++} ++ + /* Reset all TX qdiscs greater than index of a device. */ + static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i) + { +@@ -767,6 +802,11 @@ static inline void qdisc_reset_all_tx_gt } } diff --git a/target/linux/ipq806x/patches-6.6/990-0082-OpenWrt-613-netfilter_optional_tcp_window_check.patc.patch b/target/linux/ipq806x/patches-6.6/990-0082-OpenWrt-613-netfilter_optional_tcp_window_check.patc.patch index 0d0b2911d2..8467d48582 100644 --- a/target/linux/ipq806x/patches-6.6/990-0082-OpenWrt-613-netfilter_optional_tcp_window_check.patc.patch +++ b/target/linux/ipq806x/patches-6.6/990-0082-OpenWrt-613-netfilter_optional_tcp_window_check.patc.patch @@ -75,7 +75,7 @@ Signed-off-by: Ram Chandra Jangir NF_SYSCTL_CT_PROTO_TCP_IGNORE_INVALID_RST, NF_SYSCTL_CT_PROTO_TCP_MAX_RETRANS, NF_SYSCTL_CT_PROTO_TIMEOUT_UDP, -@@ -834,6 +835,14 @@ static struct ctl_table nf_ct_sysctl_tab +@@ -838,6 +839,14 @@ static struct ctl_table nf_ct_sysctl_tab .extra1 = SYSCTL_ZERO, .extra2 = SYSCTL_ONE, }, @@ -90,7 +90,7 @@ Signed-off-by: Ram Chandra Jangir [NF_SYSCTL_CT_PROTO_TCP_IGNORE_INVALID_RST] = { .procname = "nf_conntrack_tcp_ignore_invalid_rst", .maxlen = sizeof(u8), -@@ -1035,6 +1044,7 @@ static void nf_conntrack_standalone_init +@@ -1041,6 +1050,7 @@ static void nf_conntrack_standalone_init XASSIGN(LOOSE, &tn->tcp_loose); XASSIGN(LIBERAL, &tn->tcp_be_liberal); diff --git a/target/linux/ipq806x/patches-6.6/990-0085-OpenWRT-644-bridge_optimize_netfilter_hooks.patch.patch b/target/linux/ipq806x/patches-6.6/990-0085-OpenWRT-644-bridge_optimize_netfilter_hooks.patch.patch index e6e9b08408..8676cdbc7d 100644 --- a/target/linux/ipq806x/patches-6.6/990-0085-OpenWRT-644-bridge_optimize_netfilter_hooks.patch.patch +++ b/target/linux/ipq806x/patches-6.6/990-0085-OpenWRT-644-bridge_optimize_netfilter_hooks.patch.patch @@ -144,7 +144,7 @@ Signed-off-by: Murat Sezgin #define BR_HASH_BITS 8 #define BR_HASH_SIZE (1 << BR_HASH_BITS) -@@ -1932,12 +1933,25 @@ extern const struct nf_br_ops __rcu *nf_ +@@ -1933,12 +1934,25 @@ extern const struct nf_br_ops __rcu *nf_ int br_nf_core_init(void); void br_nf_core_fini(void); void br_netfilter_rtable_init(struct net_bridge *); diff --git a/target/linux/ipq806x/patches-6.6/990-0182-net-ipv6-Fix-IPv6-user-route-change-event-calls.patch b/target/linux/ipq806x/patches-6.6/990-0182-net-ipv6-Fix-IPv6-user-route-change-event-calls.patch index 98d20b6aca..d5efb5bdf0 100644 --- a/target/linux/ipq806x/patches-6.6/990-0182-net-ipv6-Fix-IPv6-user-route-change-event-calls.patch +++ b/target/linux/ipq806x/patches-6.6/990-0182-net-ipv6-Fix-IPv6-user-route-change-event-calls.patch @@ -15,7 +15,7 @@ Signed-off-by: Murat Sezgin --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -4502,6 +4502,10 @@ int ipv6_route_ioctl(struct net *net, un +@@ -4539,6 +4539,10 @@ int ipv6_route_ioctl(struct net *net, un break; } rtnl_unlock(); @@ -26,7 +26,7 @@ Signed-off-by: Murat Sezgin return err; } -@@ -5524,11 +5528,17 @@ static int inet6_rtm_delroute(struct sk_ +@@ -5561,11 +5565,17 @@ static int inet6_rtm_delroute(struct sk_ } if (cfg.fc_mp) @@ -46,7 +46,7 @@ Signed-off-by: Murat Sezgin } static int inet6_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh, -@@ -5545,9 +5555,15 @@ static int inet6_rtm_newroute(struct sk_ +@@ -5582,9 +5592,15 @@ static int inet6_rtm_newroute(struct sk_ cfg.fc_metric = IP6_RT_PRIO_USER; if (cfg.fc_mp) diff --git a/target/linux/ipq806x/patches-6.6/990-0184-net-add-fast-xmit-api.patch b/target/linux/ipq806x/patches-6.6/990-0184-net-add-fast-xmit-api.patch index 31e53b86da..6d8de1ba50 100644 --- a/target/linux/ipq806x/patches-6.6/990-0184-net-add-fast-xmit-api.patch +++ b/target/linux/ipq806x/patches-6.6/990-0184-net-add-fast-xmit-api.patch @@ -26,7 +26,7 @@ Signed-off-by: Ken Zhu void unregister_netdevice_many(struct list_head *head); --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4298,6 +4298,80 @@ struct netdev_queue *netdev_core_pick_tx +@@ -4329,6 +4329,80 @@ struct netdev_queue *netdev_core_pick_tx } /** diff --git a/target/linux/ipq806x/patches-6.6/990-0185-dev_queue_xmit-Reset-skb-fast_xmit-flag-in-slow-path.patch b/target/linux/ipq806x/patches-6.6/990-0185-dev_queue_xmit-Reset-skb-fast_xmit-flag-in-slow-path.patch index e0c064aa83..88b2b63dd0 100644 --- a/target/linux/ipq806x/patches-6.6/990-0185-dev_queue_xmit-Reset-skb-fast_xmit-flag-in-slow-path.patch +++ b/target/linux/ipq806x/patches-6.6/990-0185-dev_queue_xmit-Reset-skb-fast_xmit-flag-in-slow-path.patch @@ -17,7 +17,7 @@ Signed-off-by: Tushar Ganatra --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4403,6 +4403,11 @@ int __dev_queue_xmit(struct sk_buff *skb +@@ -4434,6 +4434,11 @@ int __dev_queue_xmit(struct sk_buff *skb skb_reset_mac_header(skb); skb_assert_len(skb); diff --git a/target/linux/ipq806x/patches-6.6/990-0185-net-set-skb-s-fast_xmit-flag-in-dev_fast_xmit-API.patch b/target/linux/ipq806x/patches-6.6/990-0185-net-set-skb-s-fast_xmit-flag-in-dev_fast_xmit-API.patch index 850ae5cd2e..cb74379c57 100644 --- a/target/linux/ipq806x/patches-6.6/990-0185-net-set-skb-s-fast_xmit-flag-in-dev_fast_xmit-API.patch +++ b/target/linux/ipq806x/patches-6.6/990-0185-net-set-skb-s-fast_xmit-flag-in-dev_fast_xmit-API.patch @@ -26,7 +26,7 @@ Signed-off-by: Tallapragada Kalyan __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4313,6 +4313,10 @@ bool dev_fast_xmit(struct sk_buff *skb, +@@ -4344,6 +4344,10 @@ bool dev_fast_xmit(struct sk_buff *skb, int cpu; netdev_tx_t rc; diff --git a/target/linux/ipq806x/patches-6.6/990-0197-net-ipv4-ipv6-Added-route-table-update-notify-chain.patch b/target/linux/ipq806x/patches-6.6/990-0197-net-ipv4-ipv6-Added-route-table-update-notify-chain.patch index 8696887758..7ad93256db 100644 --- a/target/linux/ipq806x/patches-6.6/990-0197-net-ipv4-ipv6-Added-route-table-update-notify-chain.patch +++ b/target/linux/ipq806x/patches-6.6/990-0197-net-ipv4-ipv6-Added-route-table-update-notify-chain.patch @@ -49,7 +49,7 @@ Signed-off-by: Murat Sezgin void fib_del_ifaddr(struct in_ifaddr *, struct in_ifaddr *); --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -1211,6 +1211,9 @@ static bool fib_valid_key_len(u32 key, u +@@ -1195,6 +1195,9 @@ static int fib_insert_alias(struct trie static void fib_remove_alias(struct trie *t, struct key_vector *tp, struct key_vector *l, struct fib_alias *old); @@ -59,7 +59,7 @@ Signed-off-by: Murat Sezgin /* Caller must hold RTNL. */ int fib_table_insert(struct net *net, struct fib_table *tb, struct fib_config *cfg, struct netlink_ext_ack *extack) -@@ -1404,6 +1407,8 @@ int fib_table_insert(struct net *net, st +@@ -1385,6 +1388,8 @@ int fib_table_insert(struct net *net, st rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, new_fa->tb_id, &cfg->fc_nlinfo, nlflags); succeeded: @@ -68,7 +68,7 @@ Signed-off-by: Murat Sezgin return 0; out_remove_new_fa: -@@ -1776,6 +1781,8 @@ int fib_table_delete(struct net *net, st +@@ -1754,6 +1759,8 @@ int fib_table_delete(struct net *net, st if (fa_to_delete->fa_state & FA_S_ACCESSED) rt_cache_flush(cfg->fc_nlinfo.nl_net); @@ -77,7 +77,7 @@ Signed-off-by: Murat Sezgin fib_release_info(fa_to_delete->fa_info); alias_free_mem_rcu(fa_to_delete); return 0; -@@ -2408,6 +2415,18 @@ void __init fib_trie_init(void) +@@ -2386,6 +2393,18 @@ void __init fib_trie_init(void) 0, SLAB_PANIC | SLAB_ACCOUNT, NULL); } @@ -108,7 +108,7 @@ Signed-off-by: Murat Sezgin static inline const void *choose_neigh_daddr(const struct in6_addr *p, struct sk_buff *skb, const void *daddr) -@@ -3873,6 +3876,9 @@ int ip6_route_add(struct fib6_config *cf +@@ -3910,6 +3913,9 @@ int ip6_route_add(struct fib6_config *cf return PTR_ERR(rt); err = __ip6_ins_rt(rt, &cfg->fc_nlinfo, extack); @@ -118,7 +118,7 @@ Signed-off-by: Murat Sezgin fib6_info_release(rt); return err; -@@ -3893,7 +3899,9 @@ static int __ip6_del_rt(struct fib6_info +@@ -3930,7 +3936,9 @@ static int __ip6_del_rt(struct fib6_info spin_lock_bh(&table->tb6_lock); err = fib6_del(rt, info); spin_unlock_bh(&table->tb6_lock); @@ -129,7 +129,7 @@ Signed-off-by: Murat Sezgin out: fib6_info_release(rt); return err; -@@ -6372,6 +6380,18 @@ static int ip6_route_dev_notify(struct n +@@ -6409,6 +6417,18 @@ static int ip6_route_dev_notify(struct n return NOTIFY_OK; } diff --git a/target/linux/ipq806x/patches-6.6/990-0201-linux-bridge-add-patch-for-IGMP-MLD-snooping.patch b/target/linux/ipq806x/patches-6.6/990-0201-linux-bridge-add-patch-for-IGMP-MLD-snooping.patch index 00cea6a559..301ae23cd1 100644 --- a/target/linux/ipq806x/patches-6.6/990-0201-linux-bridge-add-patch-for-IGMP-MLD-snooping.patch +++ b/target/linux/ipq806x/patches-6.6/990-0201-linux-bridge-add-patch-for-IGMP-MLD-snooping.patch @@ -104,7 +104,7 @@ Signed-off-by: Murat Sezgin br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) { --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -908,6 +908,7 @@ void br_manage_promisc(struct net_bridge +@@ -909,6 +909,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 */ @@ -112,7 +112,7 @@ Signed-off-by: Murat Sezgin 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); -@@ -2282,4 +2283,8 @@ void br_do_suppress_nd(struct sk_buff *s +@@ -2283,4 +2284,8 @@ void br_do_suppress_nd(struct sk_buff *s 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); bool br_is_neigh_suppress_enabled(const struct net_bridge_port *p, u16 vid); diff --git a/target/linux/ipq806x/patches-6.6/990-0203-net-Add-netdevice-notification-for-bridge-activity.patch b/target/linux/ipq806x/patches-6.6/990-0203-net-Add-netdevice-notification-for-bridge-activity.patch index b7935211bd..191fe013bd 100644 --- a/target/linux/ipq806x/patches-6.6/990-0203-net-Add-netdevice-notification-for-bridge-activity.patch +++ b/target/linux/ipq806x/patches-6.6/990-0203-net-Add-netdevice-notification-for-bridge-activity.patch @@ -48,7 +48,7 @@ Signed-off-by: Murat Sezgin * therefore there is no reason for a NETDEV_RELEASE event. --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -1699,6 +1699,7 @@ const char *netdev_cmd_to_name(enum netd +@@ -1730,6 +1730,7 @@ const char *netdev_cmd_to_name(enum netd N(PRE_CHANGEADDR) N(OFFLOAD_XSTATS_ENABLE) N(OFFLOAD_XSTATS_DISABLE) N(OFFLOAD_XSTATS_REPORT_USED) N(OFFLOAD_XSTATS_REPORT_DELTA) N(XDP_FEAT_CHANGE) diff --git a/target/linux/ipq806x/patches-6.6/990-0204-bridge-Port-Hy-Fi-bridging-hooks.patch b/target/linux/ipq806x/patches-6.6/990-0204-bridge-Port-Hy-Fi-bridging-hooks.patch index ab01b3889d..5bf425bc57 100644 --- a/target/linux/ipq806x/patches-6.6/990-0204-bridge-Port-Hy-Fi-bridging-hooks.patch +++ b/target/linux/ipq806x/patches-6.6/990-0204-bridge-Port-Hy-Fi-bridging-hooks.patch @@ -201,7 +201,7 @@ Signed-off-by: Amitesh Anand #define BR_HASH_BITS 8 #define BR_HASH_SIZE (1 << BR_HASH_BITS) -@@ -2287,4 +2288,12 @@ bool br_is_neigh_suppress_enabled(const +@@ -2288,4 +2289,12 @@ bool br_is_neigh_suppress_enabled(const #define __br_get(__hook, __default, __args ...) \ (__hook ? (__hook(__args)) : (__default)) diff --git a/target/linux/ipq806x/patches-6.6/990-0224-net-Add-extra-priv_flag-support-in-netdevice.patch b/target/linux/ipq806x/patches-6.6/990-0224-net-Add-extra-priv_flag-support-in-netdevice.patch index 445663bc83..f84db78c03 100644 --- a/target/linux/ipq806x/patches-6.6/990-0224-net-Add-extra-priv_flag-support-in-netdevice.patch +++ b/target/linux/ipq806x/patches-6.6/990-0224-net-Add-extra-priv_flag-support-in-netdevice.patch @@ -104,7 +104,7 @@ Signed-off-by: Murat Sezgin const struct net_device_ops *netdev_ops; const struct xdp_metadata_ops *xdp_metadata_ops; int ifindex; -@@ -4286,7 +4315,6 @@ static inline bool netif_dormant(const s +@@ -4297,7 +4326,6 @@ static inline bool netif_dormant(const s return test_bit(__LINK_STATE_DORMANT, &dev->state); } @@ -112,7 +112,7 @@ Signed-off-by: Murat Sezgin /** * netif_testing_on - mark device as under test. * @dev: network device -@@ -5238,6 +5266,11 @@ static inline bool netif_is_failover_sla +@@ -5249,6 +5277,11 @@ static inline bool netif_is_failover_sla return dev->priv_flags & IFF_FAILOVER_SLAVE; } @@ -126,7 +126,7 @@ Signed-off-by: Murat Sezgin { --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c -@@ -828,7 +828,6 @@ static int ipgre_tunnel_ctl(struct net_d +@@ -832,7 +832,6 @@ static int ipgre_tunnel_ctl(struct net_d It allows to construct virtual multiprotocol broadcast "LAN" over the Internet, provided multicast routing is tuned. @@ -134,7 +134,7 @@ Signed-off-by: Murat Sezgin I have no idea was this bicycle invented before me, so that I had to set ARPHRD_IPGRE to a random value. I have an impression, that Cisco could make something similar, -@@ -1337,6 +1336,7 @@ static void ipgre_tap_setup(struct net_d +@@ -1341,6 +1340,7 @@ static void ipgre_tap_setup(struct net_d dev->netdev_ops = &gre_tap_netdev_ops; dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; diff --git a/target/linux/ipq806x/patches-6.6/990-0260-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/ipq806x/patches-6.6/990-0260-net-patch-linux-kernel-to-support-shortcut-fe.patch index 9f32af9460..6b70961738 100644 --- a/target/linux/ipq806x/patches-6.6/990-0260-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/ipq806x/patches-6.6/990-0260-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -27,7 +27,7 @@ Signed-off-by: Murat Sezgin __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3595,8 +3595,13 @@ static int xmit_one(struct sk_buff *skb, +@@ -3626,8 +3626,13 @@ static int xmit_one(struct sk_buff *skb, unsigned int len; int rc; @@ -43,7 +43,7 @@ Signed-off-by: Murat Sezgin #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb))) -@@ -5449,6 +5454,9 @@ void netdev_rx_handler_unregister(struct +@@ -5480,6 +5485,9 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -53,7 +53,7 @@ Signed-off-by: Murat Sezgin /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -5496,6 +5504,7 @@ static int __netif_receive_skb_core(stru +@@ -5527,6 +5535,7 @@ static int __netif_receive_skb_core(stru bool deliver_exact = false; int ret = NET_RX_DROP; __be16 type; @@ -61,7 +61,7 @@ Signed-off-by: Murat Sezgin net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); -@@ -5534,6 +5543,14 @@ another_round: +@@ -5565,6 +5574,14 @@ another_round: goto out; } diff --git a/target/linux/ipq806x/patches-6.6/990-0282-net-tc-filter-taps-support-for-sfe-path.patch b/target/linux/ipq806x/patches-6.6/990-0282-net-tc-filter-taps-support-for-sfe-path.patch index 482d2260cc..7259e91ddc 100644 --- a/target/linux/ipq806x/patches-6.6/990-0282-net-tc-filter-taps-support-for-sfe-path.patch +++ b/target/linux/ipq806x/patches-6.6/990-0282-net-tc-filter-taps-support-for-sfe-path.patch @@ -13,7 +13,7 @@ Signed-off-by: Subhash Kumar Katnapally --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2097,6 +2097,9 @@ static int call_netdevice_notifiers_mtu( +@@ -2128,6 +2128,9 @@ static int call_netdevice_notifiers_mtu( return call_netdevice_notifiers_info(val, &info.info); } @@ -23,7 +23,7 @@ Signed-off-by: Subhash Kumar Katnapally #ifdef CONFIG_NET_INGRESS static DEFINE_STATIC_KEY_FALSE(ingress_needed_key); -@@ -5543,11 +5546,13 @@ another_round: +@@ -5574,11 +5577,13 @@ another_round: goto out; } @@ -42,7 +42,7 @@ Signed-off-by: Subhash Kumar Katnapally } } -@@ -5603,6 +5608,24 @@ skip_classify: +@@ -5634,6 +5639,24 @@ skip_classify: goto out; } diff --git a/target/linux/ipq806x/patches-6.6/990-0337-net-Move-skb_vlan_untag-skb-after-sfe-hook.patch b/target/linux/ipq806x/patches-6.6/990-0337-net-Move-skb_vlan_untag-skb-after-sfe-hook.patch index c98d6e5b35..4f134e1ad4 100644 --- a/target/linux/ipq806x/patches-6.6/990-0337-net-Move-skb_vlan_untag-skb-after-sfe-hook.patch +++ b/target/linux/ipq806x/patches-6.6/990-0337-net-Move-skb_vlan_untag-skb-after-sfe-hook.patch @@ -27,7 +27,7 @@ Signed-off-by: Ratheesh Kannoth /******************************************************************************* * * Device Interface Subroutines -@@ -1639,7 +1637,6 @@ void dev_close(struct net_device *dev) +@@ -1670,7 +1668,6 @@ void dev_close(struct net_device *dev) } EXPORT_SYMBOL(dev_close); @@ -35,7 +35,7 @@ Signed-off-by: Ratheesh Kannoth /** * dev_disable_lro - disable Large Receive Offload on a device * @dev: device -@@ -3228,7 +3225,6 @@ void dev_kfree_skb_any_reason(struct sk_ +@@ -3259,7 +3256,6 @@ void dev_kfree_skb_any_reason(struct sk_ } EXPORT_SYMBOL(dev_kfree_skb_any_reason); @@ -43,7 +43,7 @@ Signed-off-by: Ratheesh Kannoth /** * netif_device_detach - mark device as removed * @dev: network device -@@ -5540,12 +5536,6 @@ another_round: +@@ -5571,12 +5567,6 @@ another_round: } } @@ -56,7 +56,7 @@ Signed-off-by: Ratheesh Kannoth if (likely(!fast_tc_filter)) { fast_recv = rcu_dereference(athrs_fast_nat_recv); if (fast_recv) { -@@ -5556,6 +5546,12 @@ another_round: +@@ -5587,6 +5577,12 @@ another_round: } } @@ -69,7 +69,7 @@ Signed-off-by: Ratheesh Kannoth if (skb_skip_tc_classify(skb)) goto skip_classify; -@@ -8552,7 +8548,6 @@ void *netdev_lower_dev_get_private(struc +@@ -8583,7 +8579,6 @@ void *netdev_lower_dev_get_private(struc } EXPORT_SYMBOL(netdev_lower_dev_get_private); diff --git a/target/linux/ipq806x/patches-6.6/990-0339-net-gre-Adding-support-to-detect-fb-netdev.patch b/target/linux/ipq806x/patches-6.6/990-0339-net-gre-Adding-support-to-detect-fb-netdev.patch index fecbe879f7..565f6ae7cf 100644 --- a/target/linux/ipq806x/patches-6.6/990-0339-net-gre-Adding-support-to-detect-fb-netdev.patch +++ b/target/linux/ipq806x/patches-6.6/990-0339-net-gre-Adding-support-to-detect-fb-netdev.patch @@ -38,7 +38,7 @@ Signed-off-by: Swati Singh #endif /* __NET_IP_TUNNELS_H */ --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c -@@ -459,6 +459,26 @@ drop: +@@ -463,6 +463,26 @@ drop: return 0; } diff --git a/target/linux/ipq806x/patches-6.6/990-0341-ppp-PPPoE-acceleration-support.patch b/target/linux/ipq806x/patches-6.6/990-0341-ppp-PPPoE-acceleration-support.patch index 063b2015c1..985a239f33 100644 --- a/target/linux/ipq806x/patches-6.6/990-0341-ppp-PPPoE-acceleration-support.patch +++ b/target/linux/ipq806x/patches-6.6/990-0341-ppp-PPPoE-acceleration-support.patch @@ -57,7 +57,7 @@ Signed-off-by: Murat Sezgin --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -255,6 +255,24 @@ struct ppp_net { +@@ -266,6 +266,24 @@ struct ppp_net { #define seq_before(a, b) ((s32)((a) - (b)) < 0) #define seq_after(a, b) ((s32)((a) - (b)) > 0) @@ -82,7 +82,7 @@ Signed-off-by: Murat Sezgin /* Prototypes. */ static int ppp_unattached_ioctl(struct net *net, struct ppp_file *pf, struct file *file, unsigned int cmd, unsigned long arg); -@@ -3468,6 +3486,7 @@ ppp_connect_channel(struct channel *pch, +@@ -3478,6 +3496,7 @@ ppp_connect_channel(struct channel *pch, struct ppp_net *pn; int ret = -ENXIO; int hdrlen; @@ -90,7 +90,7 @@ Signed-off-by: Murat Sezgin pn = ppp_pernet(pch->chan_net); -@@ -3500,6 +3519,8 @@ ppp_connect_channel(struct channel *pch, +@@ -3510,6 +3529,8 @@ ppp_connect_channel(struct channel *pch, ++ppp->n_channels; pch->ppp = ppp; refcount_inc(&ppp->file.refcnt); @@ -99,7 +99,7 @@ Signed-off-by: Murat Sezgin ppp_unlock(ppp); ret = 0; -@@ -3507,6 +3528,14 @@ ppp_connect_channel(struct channel *pch, +@@ -3517,6 +3538,14 @@ ppp_connect_channel(struct channel *pch, write_unlock_bh(&pch->upl); out: mutex_unlock(&pn->all_ppp_mutex); @@ -114,7 +114,7 @@ Signed-off-by: Murat Sezgin return ret; } -@@ -3524,6 +3553,13 @@ ppp_disconnect_channel(struct channel *p +@@ -3534,6 +3563,13 @@ ppp_disconnect_channel(struct channel *p pch->ppp = NULL; write_unlock_bh(&pch->upl); if (ppp) { @@ -128,7 +128,7 @@ Signed-off-by: Murat Sezgin /* remove it from the ppp unit's list */ ppp_lock(ppp); list_del(&pch->clist); -@@ -3603,6 +3639,188 @@ static void *unit_find(struct idr *p, in +@@ -3613,6 +3649,188 @@ static void *unit_find(struct idr *p, in return idr_find(p, n); } @@ -317,7 +317,7 @@ Signed-off-by: Murat Sezgin /* Module/initialization stuff */ module_init(ppp_init); -@@ -3619,6 +3837,8 @@ EXPORT_SYMBOL(ppp_input_error); +@@ -3629,6 +3847,8 @@ EXPORT_SYMBOL(ppp_input_error); EXPORT_SYMBOL(ppp_output_wakeup); EXPORT_SYMBOL(ppp_register_compressor); EXPORT_SYMBOL(ppp_unregister_compressor); diff --git a/target/linux/ipq806x/patches-6.6/990-0343-net-gre-Set-skb-skb_iif-number.patch b/target/linux/ipq806x/patches-6.6/990-0343-net-gre-Set-skb-skb_iif-number.patch index 3be0f8efd2..e886cb0f8f 100644 --- a/target/linux/ipq806x/patches-6.6/990-0343-net-gre-Set-skb-skb_iif-number.patch +++ b/target/linux/ipq806x/patches-6.6/990-0343-net-gre-Set-skb-skb_iif-number.patch @@ -16,7 +16,7 @@ Signed-off-by: Pavithra R --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c -@@ -687,6 +687,8 @@ static netdev_tx_t ipgre_xmit(struct sk_ +@@ -691,6 +691,8 @@ static netdev_tx_t ipgre_xmit(struct sk_ if (gre_handle_offloads(skb, !!(tunnel->parms.o_flags & TUNNEL_CSUM))) goto free_skb; @@ -25,7 +25,7 @@ Signed-off-by: Pavithra R __gre_xmit(skb, dev, tnl_params, skb->protocol); return NETDEV_TX_OK; -@@ -770,6 +772,8 @@ static netdev_tx_t gre_tap_xmit(struct s +@@ -774,6 +776,8 @@ static netdev_tx_t gre_tap_xmit(struct s if (skb_cow_head(skb, dev->needed_headroom)) goto free_skb; diff --git a/target/linux/ipq806x/patches-6.6/990-0344-net-ppp-API-to-check-compression-enabled-on-PPP-devi.patch b/target/linux/ipq806x/patches-6.6/990-0344-net-ppp-API-to-check-compression-enabled-on-PPP-devi.patch index f83f310ff5..3806692115 100644 --- a/target/linux/ipq806x/patches-6.6/990-0344-net-ppp-API-to-check-compression-enabled-on-PPP-devi.patch +++ b/target/linux/ipq806x/patches-6.6/990-0344-net-ppp-API-to-check-compression-enabled-on-PPP-devi.patch @@ -14,7 +14,7 @@ Signed-off-by: Pavithra R --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3675,6 +3675,28 @@ void ppp_update_stats(struct net_device +@@ -3685,6 +3685,28 @@ void ppp_update_stats(struct net_device ppp_recv_unlock(ppp); } diff --git a/target/linux/ipq806x/patches-6.6/990-0345-net-ppp-Use-flag-to-detect-TX-RX-compression.patch b/target/linux/ipq806x/patches-6.6/990-0345-net-ppp-Use-flag-to-detect-TX-RX-compression.patch index 89533aebfc..7cb252f3ed 100644 --- a/target/linux/ipq806x/patches-6.6/990-0345-net-ppp-Use-flag-to-detect-TX-RX-compression.patch +++ b/target/linux/ipq806x/patches-6.6/990-0345-net-ppp-Use-flag-to-detect-TX-RX-compression.patch @@ -12,7 +12,7 @@ Signed-off-by: Pavithra R --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3690,7 +3690,7 @@ bool ppp_is_cp_enabled(struct net_device +@@ -3700,7 +3700,7 @@ bool ppp_is_cp_enabled(struct net_device ppp = netdev_priv(dev); ppp_lock(ppp); diff --git a/target/linux/ipq806x/patches-6.6/990-0346-net-l2tp-set-skb-iif-for-pkt-thru-l2tp-interface.patch b/target/linux/ipq806x/patches-6.6/990-0346-net-l2tp-set-skb-iif-for-pkt-thru-l2tp-interface.patch index 1d5f2e309e..88cfaf5c9d 100644 --- a/target/linux/ipq806x/patches-6.6/990-0346-net-l2tp-set-skb-iif-for-pkt-thru-l2tp-interface.patch +++ b/target/linux/ipq806x/patches-6.6/990-0346-net-l2tp-set-skb-iif-for-pkt-thru-l2tp-interface.patch @@ -13,7 +13,7 @@ Signed-off-by: ratheesh kannoth --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -2986,6 +2986,20 @@ char *ppp_dev_name(struct ppp_channel *c +@@ -2996,6 +2996,20 @@ char *ppp_dev_name(struct ppp_channel *c return name; } @@ -34,7 +34,7 @@ Signed-off-by: ratheesh kannoth /* * Disconnect a channel from the generic layer. -@@ -3854,6 +3868,7 @@ EXPORT_SYMBOL(ppp_unregister_channel); +@@ -3864,6 +3878,7 @@ EXPORT_SYMBOL(ppp_unregister_channel); EXPORT_SYMBOL(ppp_channel_index); EXPORT_SYMBOL(ppp_unit_number); EXPORT_SYMBOL(ppp_dev_name); diff --git a/target/linux/ipq806x/patches-6.6/990-0347-net-l2tp-l2tp-chan-ops-support-get_addressing.patch b/target/linux/ipq806x/patches-6.6/990-0347-net-l2tp-l2tp-chan-ops-support-get_addressing.patch index 2831275934..58208af8e5 100644 --- a/target/linux/ipq806x/patches-6.6/990-0347-net-l2tp-l2tp-chan-ops-support-get_addressing.patch +++ b/target/linux/ipq806x/patches-6.6/990-0347-net-l2tp-l2tp-chan-ops-support-get_addressing.patch @@ -18,7 +18,7 @@ Signed-off-by: Murat Sezgin --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3737,6 +3737,32 @@ int ppp_is_multilink(struct net_device * +@@ -3747,6 +3747,32 @@ int ppp_is_multilink(struct net_device * } EXPORT_SYMBOL(ppp_is_multilink); @@ -51,7 +51,7 @@ Signed-off-by: Murat Sezgin /* ppp_channel_get_protocol() * Call this to obtain the underlying protocol of the PPP channel, * e.g. PX_PROTO_OE -@@ -3841,6 +3867,59 @@ int ppp_hold_channels(struct net_device +@@ -3851,6 +3877,59 @@ int ppp_hold_channels(struct net_device } EXPORT_SYMBOL(ppp_hold_channels); diff --git a/target/linux/ipq806x/patches-6.6/990-0348-net-l2tp-ppp_channel_proto_version-API.patch b/target/linux/ipq806x/patches-6.6/990-0348-net-l2tp-ppp_channel_proto_version-API.patch index 16de0bea76..65e6988c6d 100644 --- a/target/linux/ipq806x/patches-6.6/990-0348-net-l2tp-ppp_channel_proto_version-API.patch +++ b/target/linux/ipq806x/patches-6.6/990-0348-net-l2tp-ppp_channel_proto_version-API.patch @@ -34,7 +34,7 @@ Signed-off-by: Amruth S #include #include -@@ -3500,6 +3501,8 @@ ppp_connect_channel(struct channel *pch, +@@ -3510,6 +3511,8 @@ ppp_connect_channel(struct channel *pch, struct ppp_net *pn; int ret = -ENXIO; int hdrlen; @@ -43,7 +43,7 @@ Signed-off-by: Amruth S int notify = 0; pn = ppp_pernet(pch->chan_net); -@@ -3533,6 +3536,30 @@ ppp_connect_channel(struct channel *pch, +@@ -3543,6 +3546,30 @@ ppp_connect_channel(struct channel *pch, ++ppp->n_channels; pch->ppp = ppp; refcount_inc(&ppp->file.refcnt); @@ -74,7 +74,7 @@ Signed-off-by: Amruth S notify = 1; ppp_unlock(ppp); -@@ -3783,6 +3810,18 @@ int ppp_channel_get_protocol(struct ppp_ +@@ -3793,6 +3820,18 @@ int ppp_channel_get_protocol(struct ppp_ } EXPORT_SYMBOL(ppp_channel_get_protocol); @@ -93,7 +93,7 @@ Signed-off-by: Amruth S /* ppp_channel_hold() * Call this to hold a channel. * -@@ -3936,6 +3975,28 @@ void ppp_release_channels(struct ppp_cha +@@ -3946,6 +3985,28 @@ void ppp_release_channels(struct ppp_cha } EXPORT_SYMBOL(ppp_release_channels);