mirror of
https://github.com/breeze303/openwrt-ipq.git
synced 2025-12-17 00:33:43 +00:00
NSS patches should always get applied last as to avoid fuzzing issues with upstream patches. Also cleanup patches that introduced spaces as indents vs. tabs Signed-off-by: Sean Khan <datapronix@protonmail.com> ath11k_nss: drop upstreamed patch A variation of this patch 'wifi: mac80211: Use flexible array in struct ieee80211_tim_ie' was upstreamed in commit 'e6e4d90b69027d74ba7e9a0a586b95a5714e10c0'. Remove it to avoid compilation issues. Signed-off-by: Sean Khan <datapronix@protonmail.com> ath11k_nss: Fix patch conflict Signed-off-by: Sean Khan <datapronix@protonmail.com>
78 lines
2.8 KiB
Diff
78 lines
2.8 KiB
Diff
--- a/include/net/ip6_tunnel.h
|
|
+++ b/include/net/ip6_tunnel.h
|
|
@@ -36,6 +36,7 @@ struct __ip6_tnl_parm {
|
|
__u8 proto; /* tunnel protocol */
|
|
__u8 encap_limit; /* encapsulation limit for tunnel */
|
|
__u8 hop_limit; /* hop limit for tunnel */
|
|
+ __u8 draft03; /* FMR using draft03 of map-e - QCA NSS Clients Support */
|
|
bool collect_md;
|
|
__be32 flowinfo; /* traffic class and flowlabel for tunnel */
|
|
__u32 flags; /* tunnel flags */
|
|
--- a/include/net/ip_tunnels.h
|
|
+++ b/include/net/ip_tunnels.h
|
|
@@ -592,4 +592,9 @@ static inline void ip_tunnel_info_opts_s
|
|
|
|
#endif /* CONFIG_INET */
|
|
|
|
+/* QCA NSS Clients Support - Start */
|
|
+void ipip6_update_offload_stats(struct net_device *dev, void *ptr);
|
|
+void ip6_update_offload_stats(struct net_device *dev, void *ptr);
|
|
+/* QCA NSS Clients Support - End */
|
|
+
|
|
#endif /* __NET_IP_TUNNELS_H */
|
|
--- a/net/ipv6/ip6_tunnel.c
|
|
+++ b/net/ipv6/ip6_tunnel.c
|
|
@@ -2412,6 +2412,26 @@ nla_put_failure:
|
|
return -EMSGSIZE;
|
|
}
|
|
|
|
+/* QCA NSS Client Support - Start */
|
|
+/*
|
|
+ * Update offload stats
|
|
+ */
|
|
+void ip6_update_offload_stats(struct net_device *dev, void *ptr)
|
|
+{
|
|
+ struct pcpu_sw_netstats *tstats = per_cpu_ptr(dev->tstats, 0);
|
|
+ const struct pcpu_sw_netstats *offload_stats =
|
|
+ (struct pcpu_sw_netstats *)ptr;
|
|
+
|
|
+ u64_stats_update_begin(&tstats->syncp);
|
|
+ u64_stats_add(&tstats->tx_packets, u64_stats_read(&offload_stats->tx_packets));
|
|
+ u64_stats_add(&tstats->tx_bytes, u64_stats_read(&offload_stats->tx_bytes));
|
|
+ u64_stats_add(&tstats->rx_packets, u64_stats_read(&offload_stats->rx_packets));
|
|
+ u64_stats_add(&tstats->rx_bytes, u64_stats_read(&offload_stats->rx_bytes));
|
|
+ u64_stats_update_end(&tstats->syncp);
|
|
+}
|
|
+EXPORT_SYMBOL(ip6_update_offload_stats);
|
|
+/* QCA NSS Client Support - End */
|
|
+
|
|
struct net *ip6_tnl_get_link_net(const struct net_device *dev)
|
|
{
|
|
struct ip6_tnl *tunnel = netdev_priv(dev);
|
|
--- a/net/ipv6/sit.c
|
|
+++ b/net/ipv6/sit.c
|
|
@@ -1734,6 +1734,23 @@ nla_put_failure:
|
|
return -EMSGSIZE;
|
|
}
|
|
|
|
+/* QCA NSS Clients Support - Start */
|
|
+void ipip6_update_offload_stats(struct net_device *dev, void *ptr)
|
|
+{
|
|
+ struct pcpu_sw_netstats *tstats = per_cpu_ptr(dev->tstats, 0);
|
|
+ const struct pcpu_sw_netstats *offload_stats =
|
|
+ (struct pcpu_sw_netstats *)ptr;
|
|
+
|
|
+ u64_stats_update_begin(&tstats->syncp);
|
|
+ u64_stats_add(&tstats->tx_packets, u64_stats_read(&offload_stats->tx_packets));
|
|
+ u64_stats_add(&tstats->tx_bytes, u64_stats_read(&offload_stats->tx_bytes));
|
|
+ u64_stats_add(&tstats->rx_packets, u64_stats_read(&offload_stats->rx_packets));
|
|
+ u64_stats_add(&tstats->rx_bytes, u64_stats_read(&offload_stats->rx_bytes));
|
|
+ u64_stats_update_end(&tstats->syncp);
|
|
+}
|
|
+EXPORT_SYMBOL(ipip6_update_offload_stats);
|
|
+/* QCA NSS Clients Support - End */
|
|
+
|
|
static const struct nla_policy ipip6_policy[IFLA_IPTUN_MAX + 1] = {
|
|
[IFLA_IPTUN_LINK] = { .type = NLA_U32 },
|
|
[IFLA_IPTUN_LOCAL] = { .type = NLA_U32 },
|