diff --git a/include/kernel-5.4 b/include/kernel-5.4 index da47f26f8..07b86c8cc 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.4 = .246 -LINUX_KERNEL_HASH-5.4.246 = 0938790a858fd0af6aa6b27a3bdf4c5d4a46aba60e6178156980d58bef7ed9ea +LINUX_VERSION-5.4 = .247 +LINUX_KERNEL_HASH-5.4.247 = 33010d4f02314dd4eb51ab5d09f49ce970f2cfefe9f2133a2e085cac5dfffed7 diff --git a/include/kernel-6.1 b/include/kernel-6.1 index b9a7b1cea..81fb77fc9 100644 --- a/include/kernel-6.1 +++ b/include/kernel-6.1 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.1 = .33 -LINUX_KERNEL_HASH-6.1.33 = b87d6ba8ea7328e8007a7ea9171d1aa0d540d95eacfcab09578e0a3b623dd2cd +LINUX_VERSION-6.1 = .34 +LINUX_KERNEL_HASH-6.1.34 = b26f7cbcbf8031efc49f11f236f372fc34a4fd5fc6ad3151b893d1aa038ed603 diff --git a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch index 3ae947dbe..ecf6a73bf 100644 --- a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch +++ b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch @@ -66,7 +66,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5440,8 +5440,7 @@ static inline void skb_gro_reset_offset( +@@ -5442,8 +5442,7 @@ static inline void skb_gro_reset_offset( NAPI_GRO_CB(skb)->frag0 = NULL; NAPI_GRO_CB(skb)->frag0_len = 0; diff --git a/target/linux/generic/backport-5.4/901-v6.10-backport-net-device-path.patch b/target/linux/generic/backport-5.4/901-v6.10-backport-net-device-path.patch index c193f5f91..48312fc32 100644 --- a/target/linux/generic/backport-5.4/901-v6.10-backport-net-device-path.patch +++ b/target/linux/generic/backport-5.4/901-v6.10-backport-net-device-path.patch @@ -1,6 +1,6 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -844,6 +844,61 @@ typedef u16 (*select_queue_fallback_t)(s +@@ -847,6 +847,61 @@ typedef u16 (*select_queue_fallback_t)(s struct sk_buff *skb, struct net_device *sb_dev); @@ -62,7 +62,7 @@ enum tc_setup_type { TC_SETUP_QDISC_MQPRIO, TC_SETUP_CLSU32, -@@ -1450,6 +1505,8 @@ struct net_device_ops { +@@ -1453,6 +1508,8 @@ struct net_device_ops { u32 flags); int (*ndo_xsk_wakeup)(struct net_device *dev, u32 queue_id, u32 flags); diff --git a/target/linux/generic/backport-6.1/100-net-add-netdev_sw_irq_coalesce_default_on.patch b/target/linux/generic/backport-6.1/100-net-add-netdev_sw_irq_coalesce_default_on.patch index 2b3e1f30e..f363b1a8e 100644 --- a/target/linux/generic/backport-6.1/100-net-add-netdev_sw_irq_coalesce_default_on.patch +++ b/target/linux/generic/backport-6.1/100-net-add-netdev_sw_irq_coalesce_default_on.patch @@ -34,7 +34,7 @@ Signed-off-by: David S. Miller #define NET_RX_SUCCESS 0 /* keep 'em coming, baby */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10532,6 +10532,22 @@ void netdev_set_default_ethtool_ops(stru +@@ -10534,6 +10534,22 @@ void netdev_set_default_ethtool_ops(stru } EXPORT_SYMBOL_GPL(netdev_set_default_ethtool_ops); diff --git a/target/linux/generic/backport-6.1/101-net-Remove-the-obsolte-u64_stats_fetch_-_irq-users-d.patch b/target/linux/generic/backport-6.1/101-net-Remove-the-obsolte-u64_stats_fetch_-_irq-users-d.patch index 3d92be4be..258d38afa 100644 --- a/target/linux/generic/backport-6.1/101-net-Remove-the-obsolte-u64_stats_fetch_-_irq-users-d.patch +++ b/target/linux/generic/backport-6.1/101-net-Remove-the-obsolte-u64_stats_fetch_-_irq-users-d.patch @@ -1886,7 +1886,7 @@ Signed-off-by: Jakub Kicinski result->xdp_packets += packets; --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c -@@ -2105,18 +2105,18 @@ static void virtnet_stats(struct net_dev +@@ -2107,18 +2107,18 @@ static void virtnet_stats(struct net_dev struct send_queue *sq = &vi->sq[i]; do { @@ -1909,7 +1909,7 @@ Signed-off-by: Jakub Kicinski tot->rx_packets += rpackets; tot->tx_packets += tpackets; -@@ -2724,12 +2724,12 @@ static void virtnet_get_ethtool_stats(st +@@ -2726,12 +2726,12 @@ static void virtnet_get_ethtool_stats(st stats_base = (u8 *)&rq->stats; do { @@ -1924,7 +1924,7 @@ Signed-off-by: Jakub Kicinski idx += VIRTNET_RQ_STATS_LEN; } -@@ -2738,12 +2738,12 @@ static void virtnet_get_ethtool_stats(st +@@ -2740,12 +2740,12 @@ static void virtnet_get_ethtool_stats(st stats_base = (u8 *)&sq->stats; do { diff --git a/target/linux/generic/hack-5.4/721-phy_packets.patch b/target/linux/generic/hack-5.4/721-phy_packets.patch index a903467eb..d711c38dc 100644 --- a/target/linux/generic/hack-5.4/721-phy_packets.patch +++ b/target/linux/generic/hack-5.4/721-phy_packets.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1615,6 +1615,7 @@ enum netdev_priv_flags { +@@ -1618,6 +1618,7 @@ enum netdev_priv_flags { IFF_FAILOVER_SLAVE = 1<<28, IFF_L3MDEV_RX_HANDLER = 1<<29, IFF_LIVE_RENAME_OK = 1<<30, @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN -@@ -1647,6 +1648,7 @@ enum netdev_priv_flags { +@@ -1650,6 +1651,7 @@ enum netdev_priv_flags { #define IFF_FAILOVER_SLAVE IFF_FAILOVER_SLAVE #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER #define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK @@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau /* Specifies the type of the struct net_device::ml_priv pointer */ enum netdev_ml_priv_type { -@@ -1955,6 +1957,11 @@ struct net_device { +@@ -1958,6 +1960,11 @@ struct net_device { const struct tlsdev_ops *tlsdev_ops; #endif @@ -43,7 +43,7 @@ Signed-off-by: Felix Fietkau const struct header_ops *header_ops; unsigned int flags; -@@ -2037,6 +2044,10 @@ struct net_device { +@@ -2040,6 +2047,10 @@ struct net_device { struct mpls_dev __rcu *mpls_ptr; #endif diff --git a/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch index db63a8eda..7b8e9eedb 100644 --- a/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch @@ -115,7 +115,7 @@ Signed-off-by: Zhi Chen depends on NETFILTER_ADVANCED --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2572,6 +2572,9 @@ int nf_conntrack_init_net(struct net *ne +@@ -2575,6 +2575,9 @@ int nf_conntrack_init_net(struct net *ne nf_conntrack_helper_pernet_init(net); nf_conntrack_proto_pernet_init(net); diff --git a/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index 782c5de81..cfa686a1a 100644 --- a/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -99,7 +99,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (!dev->eth_mangle_tx || (skb = dev->eth_mangle_tx(dev, skb)) != NULL) -@@ -4719,6 +4727,11 @@ void netdev_rx_handler_unregister(struct +@@ -4721,6 +4729,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -111,7 +111,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -4769,6 +4782,10 @@ static int __netif_receive_skb_core(stru +@@ -4771,6 +4784,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -122,7 +122,7 @@ net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_receive_skb(skb); -@@ -4808,6 +4825,16 @@ another_round: +@@ -4810,6 +4827,16 @@ another_round: goto out; } diff --git a/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch index b9dda6cad..fe94a9da0 100644 --- a/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2702,7 +2702,7 @@ int nf_conntrack_init_start(void) +@@ -2705,7 +2705,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch index ff23e781a..91dc3e011 100644 --- a/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1704,6 +1704,7 @@ enum netdev_priv_flags { +@@ -1707,6 +1707,7 @@ enum netdev_priv_flags { IFF_LIVE_RENAME_OK = 1<<30, IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), IFF_CHANGE_PROTO_DOWN = BIT_ULL(32), @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN -@@ -1738,6 +1739,7 @@ enum netdev_priv_flags { +@@ -1741,6 +1742,7 @@ enum netdev_priv_flags { #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER #define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK #define IFF_TX_SKB_NO_LINEAR IFF_TX_SKB_NO_LINEAR @@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau /* Specifies the type of the struct net_device::ml_priv pointer */ enum netdev_ml_priv_type { -@@ -2106,6 +2108,11 @@ struct net_device { +@@ -2109,6 +2111,11 @@ struct net_device { const struct tlsdev_ops *tlsdev_ops; #endif @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau const struct header_ops *header_ops; unsigned char operstate; -@@ -2181,6 +2188,10 @@ struct net_device { +@@ -2184,6 +2191,10 @@ struct net_device { struct mctp_dev __rcu *mctp_ptr; #endif diff --git a/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch index 6e14d04c5..afb9f3d90 100644 --- a/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch +++ b/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch @@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // 2500MBd NRZ in their EEPROM SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), -@@ -2334,7 +2337,8 @@ static void sfp_sm_main(struct sfp *sfp, +@@ -2339,7 +2342,8 @@ static void sfp_sm_main(struct sfp *sfp, * or t_start_up, so assume there is a fault. */ sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, @@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { init_done: /* Create mdiobus and start trying for PHY */ -@@ -2563,10 +2567,12 @@ static void sfp_check_state(struct sfp * +@@ -2568,10 +2572,12 @@ static void sfp_check_state(struct sfp * mutex_lock(&sfp->st_mutex); state = sfp_get_state(sfp); changed = state ^ sfp->state; diff --git a/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch index 281a31c04..cad0c0486 100644 --- a/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch @@ -123,7 +123,7 @@ Signed-off-by: Zhi Chen depends on NETFILTER_ADVANCED --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2808,6 +2808,10 @@ int nf_conntrack_init_net(struct net *ne +@@ -2811,6 +2811,10 @@ int nf_conntrack_init_net(struct net *ne nf_conntrack_ecache_pernet_init(net); nf_conntrack_proto_pernet_init(net); diff --git a/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index 88b614a17..11c6d7269 100644 --- a/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -111,7 +111,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb))) -@@ -5247,6 +5255,11 @@ void netdev_rx_handler_unregister(struct +@@ -5249,6 +5257,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -123,7 +123,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -5295,6 +5308,10 @@ static int __netif_receive_skb_core(stru +@@ -5297,6 +5310,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -134,7 +134,7 @@ net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_receive_skb(skb); -@@ -5332,6 +5349,15 @@ another_round: +@@ -5334,6 +5351,15 @@ another_round: goto out; } diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index 61ab7eb5a..8583b8fa6 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -23,7 +23,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -992,6 +992,13 @@ struct devlink; +@@ -995,6 +995,13 @@ struct devlink; struct tlsdev_ops; @@ -37,7 +37,7 @@ Signed-off-by: Pablo Neira Ayuso /* * This structure defines the management hooks for network devices. * The following hooks can be defined; unless noted otherwise, they are -@@ -1224,6 +1231,10 @@ struct tlsdev_ops; +@@ -1227,6 +1234,10 @@ struct tlsdev_ops; * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, * u16 flags); * @@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso * int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier); * Called to change device carrier. Soft-devices (like dummy, team, etc) * which do not represent real hardware may define this to allow their -@@ -1471,6 +1482,8 @@ struct net_device_ops { +@@ -1474,6 +1485,8 @@ struct net_device_ops { int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, u16 flags); diff --git a/target/linux/generic/pending-5.4/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch b/target/linux/generic/pending-5.4/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch index 6401fa7a2..f5129c801 100644 --- a/target/linux/generic/pending-5.4/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch +++ b/target/linux/generic/pending-5.4/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -993,6 +993,7 @@ struct tlsdev_ops; +@@ -996,6 +996,7 @@ struct tlsdev_ops; struct flow_offload; @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau enum flow_offload_type { FLOW_OFFLOAD_ADD = 0, -@@ -1231,8 +1232,15 @@ enum flow_offload_type { +@@ -1234,8 +1235,15 @@ enum flow_offload_type { * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, * u16 flags); * @@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau * Adds/deletes flow entry to/from net device flowtable. * * int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier); -@@ -1482,8 +1490,11 @@ struct net_device_ops { +@@ -1485,8 +1493,11 @@ struct net_device_ops { int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, u16 flags); diff --git a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index ab1ce9c0f..5e9674998 100644 --- a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1997,6 +1997,8 @@ struct net_device { +@@ -2000,6 +2000,8 @@ struct net_device { struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __wsum csum; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5506,6 +5506,9 @@ static enum gro_result dev_gro_receive(s +@@ -5508,6 +5508,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -7308,6 +7311,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7310,6 +7313,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7358,6 +7403,7 @@ static int __netdev_upper_dev_link(struc +@@ -7360,6 +7405,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7451,6 +7497,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7453,6 +7499,7 @@ void netdev_upper_dev_unlink(struct net_ __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8181,6 +8228,7 @@ int dev_set_mac_address(struct net_devic +@@ -8183,6 +8230,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch index 4965596a1..d571bca8a 100644 --- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch +++ b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch @@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau }; enum gro_result { -@@ -2167,6 +2170,7 @@ struct net_device { +@@ -2170,6 +2173,7 @@ struct net_device { struct lock_class_key addr_list_lock_key; bool proto_down; unsigned wol_enabled:1; @@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau }; #define to_net_dev(d) container_of(d, struct net_device, dev) -@@ -2347,6 +2351,26 @@ void netif_napi_add(struct net_device *d +@@ -2350,6 +2354,26 @@ void netif_napi_add(struct net_device *d int (*poll)(struct napi_struct *, int), int weight); /** @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau static int netif_rx_internal(struct sk_buff *skb); static int call_netdevice_notifiers_info(unsigned long val, -@@ -5948,6 +5949,11 @@ void __napi_schedule(struct napi_struct +@@ -5950,6 +5951,11 @@ void __napi_schedule(struct napi_struct { unsigned long flags; @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau local_irq_save(flags); ____napi_schedule(this_cpu_ptr(&softnet_data), n); local_irq_restore(flags); -@@ -5999,6 +6005,10 @@ EXPORT_SYMBOL(napi_schedule_prep); +@@ -6001,6 +6007,10 @@ EXPORT_SYMBOL(napi_schedule_prep); */ void __napi_schedule_irqoff(struct napi_struct *n) { @@ -118,7 +118,7 @@ Signed-off-by: Felix Fietkau if (!IS_ENABLED(CONFIG_PREEMPT_RT)) ____napi_schedule(this_cpu_ptr(&softnet_data), n); else -@@ -6263,9 +6273,89 @@ static void init_gro_hash(struct napi_st +@@ -6265,9 +6275,89 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } @@ -208,7 +208,7 @@ Signed-off-by: Felix Fietkau INIT_LIST_HEAD(&napi->poll_list); hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); napi->timer.function = napi_watchdog; -@@ -6282,6 +6372,7 @@ void netif_napi_add(struct net_device *d +@@ -6284,6 +6374,7 @@ void netif_napi_add(struct net_device *d #ifdef CONFIG_NETPOLL napi->poll_owner = -1; #endif @@ -216,7 +216,7 @@ Signed-off-by: Felix Fietkau set_bit(NAPI_STATE_SCHED, &napi->state); set_bit(NAPI_STATE_NPSVC, &napi->state); list_add_rcu(&napi->dev_list, &dev->napi_list); -@@ -6322,6 +6413,7 @@ static void flush_gro_hash(struct napi_s +@@ -6324,6 +6415,7 @@ static void flush_gro_hash(struct napi_s void netif_napi_del(struct napi_struct *napi) { might_sleep(); @@ -224,7 +224,7 @@ Signed-off-by: Felix Fietkau if (napi_hash_del(napi)) synchronize_net(); list_del_init(&napi->dev_list); -@@ -6334,50 +6426,18 @@ EXPORT_SYMBOL(netif_napi_del); +@@ -6336,50 +6428,18 @@ EXPORT_SYMBOL(netif_napi_del); static int napi_poll(struct napi_struct *n, struct list_head *repoll) { @@ -279,7 +279,7 @@ Signed-off-by: Felix Fietkau /* Some drivers may have called napi_schedule * prior to exhausting their budget. -@@ -10349,6 +10409,10 @@ static int __init net_dev_init(void) +@@ -10351,6 +10411,10 @@ static int __init net_dev_init(void) sd->backlog.weight = weight_p; } diff --git a/target/linux/generic/pending-6.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-6.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 898dd2542..a9b32b60f 100644 --- a/target/linux/generic/pending-6.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-6.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2133,6 +2133,8 @@ struct net_device { +@@ -2136,6 +2136,8 @@ struct net_device { struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -7606,6 +7606,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7608,6 +7608,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7657,6 +7699,7 @@ static int __netdev_upper_dev_link(struc +@@ -7659,6 +7701,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7753,6 +7796,7 @@ static void __netdev_upper_dev_unlink(st +@@ -7755,6 +7798,7 @@ static void __netdev_upper_dev_unlink(st __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8805,6 +8849,7 @@ int dev_set_mac_address(struct net_devic +@@ -8807,6 +8851,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch b/target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch index 2c1ec55d0..1cd036629 100644 --- a/target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch +++ b/target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch @@ -17,7 +17,7 @@ Signed-off-by: Christian Marangi --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2168,7 +2168,7 @@ struct net_device { +@@ -2171,7 +2171,7 @@ struct net_device { #if IS_ENABLED(CONFIG_AX25) void *ax25_ptr; #endif diff --git a/target/linux/ipq40xx/patches-5.4/703-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch b/target/linux/ipq40xx/patches-5.4/703-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch index 15192385d..b1bc8705b 100644 --- a/target/linux/ipq40xx/patches-5.4/703-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch +++ b/target/linux/ipq40xx/patches-5.4/703-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch @@ -24,7 +24,7 @@ Reviewed-by: Grant Grundler --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -785,6 +785,16 @@ struct xps_map { +@@ -788,6 +788,16 @@ struct xps_map { #define XPS_MIN_MAP_ALLOC ((L1_CACHE_ALIGN(offsetof(struct xps_map, queues[1])) \ - sizeof(struct xps_map)) / sizeof(u16)) @@ -41,7 +41,7 @@ Reviewed-by: Grant Grundler /* * This structure holds all XPS maps for device. Maps are indexed by CPU. */ -@@ -1443,6 +1453,9 @@ struct net_device_ops { +@@ -1446,6 +1456,9 @@ struct net_device_ops { const struct sk_buff *skb, u16 rxq_index, u32 flow_id); diff --git a/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch b/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch index 3ca722ec7..2cd180f2f 100644 --- a/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch +++ b/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch @@ -40,7 +40,7 @@ #endif --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2662,6 +2662,8 @@ enum netdev_cmd { +@@ -2665,6 +2665,8 @@ enum netdev_cmd { NETDEV_CVLAN_FILTER_DROP_INFO, NETDEV_SVLAN_FILTER_PUSH_INFO, NETDEV_SVLAN_FILTER_DROP_INFO, diff --git a/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch b/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch index 71510ba62..c7ce6dab0 100644 --- a/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch @@ -106,7 +106,7 @@ __be16 vlan_proto, u16 vlan_id) --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1656,6 +1656,20 @@ enum netdev_ml_priv_type { +@@ -1659,6 +1659,20 @@ enum netdev_ml_priv_type { ML_PRIV_CAN, }; @@ -127,7 +127,7 @@ /** * struct net_device - The DEVICE structure. * -@@ -1966,6 +1980,7 @@ struct net_device { +@@ -1969,6 +1983,7 @@ struct net_device { unsigned int flags; unsigned int priv_flags; @@ -135,7 +135,7 @@ unsigned short gflags; unsigned short padded; -@@ -2649,6 +2664,10 @@ enum netdev_cmd { +@@ -2652,6 +2667,10 @@ enum netdev_cmd { NETDEV_CVLAN_FILTER_DROP_INFO, NETDEV_SVLAN_FILTER_PUSH_INFO, NETDEV_SVLAN_FILTER_DROP_INFO, diff --git a/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch b/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch index e5837b4a0..1507ee1b8 100644 --- a/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch @@ -19,7 +19,7 @@ extern void br_fdb_unregister_notify(struct notifier_block *nb); --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1662,12 +1662,18 @@ enum netdev_priv_qca_ecm_flags { +@@ -1665,12 +1665,18 @@ enum netdev_priv_qca_ecm_flags { IFF_QCA_ECM_PPP_L2TPV2 = 1<<1, IFF_QCA_ECM_PPP_L2TPV3 = 1<<2, IFF_QCA_ECM_PPP_PPTP = 1<<3, diff --git a/target/linux/ramips/patches-5.4/0999-mt76x8-ec200a.patch b/target/linux/ramips/patches-5.4/0999-mt76x8-ec200a.patch index b8e150d25..9e6ab9489 100644 --- a/target/linux/ramips/patches-5.4/0999-mt76x8-ec200a.patch +++ b/target/linux/ramips/patches-5.4/0999-mt76x8-ec200a.patch @@ -1,6 +1,6 @@ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -267,6 +267,7 @@ +@@ -267,6 +267,7 @@ static void option_instat_callback(struc #define QUECTEL_PRODUCT_EC200U 0x0901 #define QUECTEL_PRODUCT_EC200S_CN 0x6002 #define QUECTEL_PRODUCT_EC200T 0x6026 @@ -8,7 +8,7 @@ #define QUECTEL_PRODUCT_RM500K 0x7001 #define CMOTECH_VENDOR_ID 0x16d8 -@@ -1208,6 +1209,7 @@ +@@ -1208,6 +1209,7 @@ static const struct usb_device_id option { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) }, @@ -16,10 +16,9 @@ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, - --- a/drivers/usb/serial/usb_wwan.c +++ b/drivers/usb/serial/usb_wwan.c -@@ -478,6 +478,14 @@ +@@ -478,6 +478,14 @@ static struct urb *usb_wwan_setup_urb(st usb_sndbulkpipe(serial->dev, endpoint) | dir, buf, len, callback, ctx);