Before I can get to work a feed repository that work i have included qca-nss source needed on this commit Source author: SqTER-PL <r.napierala@asta-net.pl>
461 lines
16 KiB
Diff
461 lines
16 KiB
Diff
--- a/bridge/nss_bridge_mgr.c
|
|
+++ b/bridge/nss_bridge_mgr.c
|
|
@@ -18,6 +18,7 @@
|
|
* nss_bridge_mgr.c
|
|
* NSS to HLOS Bridge Interface manager
|
|
*/
|
|
+#include <linux/version.h>
|
|
#include <linux/sysctl.h>
|
|
#include <linux/etherdevice.h>
|
|
#include <linux/if_vlan.h>
|
|
@@ -1050,7 +1051,11 @@ int nss_bridge_mgr_register_br(struct ne
|
|
}
|
|
#endif
|
|
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ err = nss_bridge_tx_set_mac_addr_msg(ifnum, (uint8_t *)dev->dev_addr);
|
|
+#else
|
|
err = nss_bridge_tx_set_mac_addr_msg(ifnum, dev->dev_addr);
|
|
+#endif
|
|
if (err != NSS_TX_SUCCESS) {
|
|
nss_bridge_mgr_warn("%px: failed to set mac_addr msg, error = %d\n", b_pvt, err);
|
|
goto fail_3;
|
|
@@ -1207,7 +1212,12 @@ static int nss_bridge_mgr_changeaddr_eve
|
|
|
|
nss_bridge_mgr_trace("%px: MAC changed to %pM, update NSS\n", b_pvt, dev->dev_addr);
|
|
|
|
- if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, dev->dev_addr) != NSS_TX_SUCCESS) {
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, (uint8_t *)dev->dev_addr) != NSS_TX_SUCCESS)
|
|
+#else
|
|
+ if (nss_bridge_tx_set_mac_addr_msg(b_pvt->ifnum, dev->dev_addr) != NSS_TX_SUCCESS)
|
|
+#endif
|
|
+ {
|
|
nss_bridge_mgr_warn("%px: Failed to send change MAC address message to NSS\n", b_pvt);
|
|
return NOTIFY_BAD;
|
|
}
|
|
--- a/dtls/v2.0/nss_dtlsmgr_ctx_dev.c
|
|
+++ b/dtls/v2.0/nss_dtlsmgr_ctx_dev.c
|
|
@@ -526,7 +526,11 @@ void nss_dtlsmgr_ctx_dev_setup(struct ne
|
|
#else
|
|
dev->priv_destructor = nss_dtlsmgr_ctx_dev_free;
|
|
#endif
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ memcpy((void *)dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len);
|
|
+#else
|
|
memcpy(dev->dev_addr, "\xaa\xbb\xcc\xdd\xee\xff", dev->addr_len);
|
|
+#endif
|
|
memset(dev->broadcast, 0xff, dev->addr_len);
|
|
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
|
|
}
|
|
--- a/gre/test/nss_connmgr_gre_test.c
|
|
+++ b/gre/test/nss_connmgr_gre_test.c
|
|
@@ -223,7 +223,11 @@ static int nss_connmgr_gre_test_show_pro
|
|
*/
|
|
static int nss_connmgr_gre_test_open_proc(struct inode *inode, struct file *filp)
|
|
{
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ return single_open(filp, nss_connmgr_gre_test_show_proc, pde_data(inode));
|
|
+#else
|
|
return single_open(filp, nss_connmgr_gre_test_show_proc, PDE_DATA(inode));
|
|
+#endif
|
|
}
|
|
|
|
/*
|
|
--- a/gre/nss_connmgr_gre.c
|
|
+++ b/gre/nss_connmgr_gre.c
|
|
@@ -279,10 +279,17 @@ static struct rtnl_link_stats64 *nss_con
|
|
#else
|
|
start = u64_stats_fetch_begin_irq(&tstats->syncp);
|
|
#endif
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ rx_packets = u64_stats_read(&tstats->rx_packets);
|
|
+ tx_packets = u64_stats_read(&tstats->tx_packets);
|
|
+ rx_bytes = u64_stats_read(&tstats->rx_bytes);
|
|
+ tx_bytes = u64_stats_read(&tstats->tx_bytes);
|
|
+#else
|
|
rx_packets = tstats->rx_packets;
|
|
tx_packets = tstats->tx_packets;
|
|
rx_bytes = tstats->rx_bytes;
|
|
tx_bytes = tstats->tx_bytes;
|
|
+#endif
|
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
|
|
} while (u64_stats_fetch_retry_bh(&tstats->syncp, start));
|
|
#else
|
|
@@ -697,11 +704,21 @@ static void nss_connmgr_gre_event_receiv
|
|
tstats = this_cpu_ptr(dev->tstats);
|
|
u64_stats_update_begin(&tstats->syncp);
|
|
if (interface_type == NSS_DYNAMIC_INTERFACE_TYPE_GRE_INNER) {
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_add(&tstats->tx_packets, stats->tx_packets);
|
|
+ u64_stats_add(&tstats->tx_bytes, stats->tx_bytes);
|
|
+#else
|
|
tstats->tx_packets += stats->tx_packets;
|
|
tstats->tx_bytes += stats->tx_bytes;
|
|
+#endif
|
|
} else if (interface_type == NSS_DYNAMIC_INTERFACE_TYPE_GRE_OUTER) {
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_add(&tstats->rx_packets, stats->rx_packets);
|
|
+ u64_stats_add(&tstats->rx_bytes, stats->rx_bytes);
|
|
+#else
|
|
tstats->rx_packets += stats->rx_packets;
|
|
tstats->rx_bytes += stats->rx_bytes;
|
|
+#endif
|
|
}
|
|
u64_stats_update_end(&tstats->syncp);
|
|
dev->stats.rx_dropped += nss_cmn_rx_dropped_sum(stats);
|
|
--- a/tunipip6/nss_connmgr_tunipip6.c
|
|
+++ b/tunipip6/nss_connmgr_tunipip6.c
|
|
@@ -353,11 +353,21 @@ static void nss_tunipip6_update_dev_stat
|
|
|
|
memset(&stats, 0, sizeof(stats));
|
|
if (interface_type == NSS_DYNAMIC_INTERFACE_TYPE_TUNIPIP6_INNER) {
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_set(&stats.tx_packets, sync_stats->node_stats.tx_packets);
|
|
+ u64_stats_set(&stats.tx_bytes, sync_stats->node_stats.tx_bytes);
|
|
+#else
|
|
stats.tx_packets = sync_stats->node_stats.tx_packets;
|
|
stats.tx_bytes = sync_stats->node_stats.tx_bytes;
|
|
+#endif
|
|
} else if (interface_type == NSS_DYNAMIC_INTERFACE_TYPE_TUNIPIP6_OUTER) {
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_set(&stats.rx_packets, sync_stats->node_stats.rx_packets);
|
|
+ u64_stats_set(&stats.rx_bytes, sync_stats->node_stats.rx_bytes);
|
|
+#else
|
|
stats.rx_packets = sync_stats->node_stats.rx_packets;
|
|
stats.rx_bytes = sync_stats->node_stats.rx_bytes;
|
|
+#endif
|
|
} else {
|
|
nss_tunipip6_warning("%px: Invalid interface type received from NSS\n", dev);
|
|
return;
|
|
--- a/nss_qdisc/igs/nss_mirred.c
|
|
+++ b/nss_qdisc/igs/nss_mirred.c
|
|
@@ -317,7 +317,11 @@ static int nss_mirred_act(struct sk_buff
|
|
* Update the last use of action.
|
|
*/
|
|
tcf_lastuse_update(&act->tcf_tm);
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ bstats_update(this_cpu_ptr(act->common.cpu_bstats), skb);
|
|
+#else
|
|
bstats_cpu_update(this_cpu_ptr(act->common.cpu_bstats), skb);
|
|
+#endif
|
|
|
|
rcu_read_lock();
|
|
retval = READ_ONCE(act->tcf_action);
|
|
--- a/nss_qdisc/nss_qdisc.h
|
|
+++ b/nss_qdisc/nss_qdisc.h
|
|
@@ -188,7 +188,11 @@ struct nss_qdisc {
|
|
/* Shaper configure callback for reading shaper specific
|
|
* responses (e.g. memory size).
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ struct gnet_stats_basic_sync bstats; /* Basic class statistics */
|
|
+#else
|
|
struct gnet_stats_basic_packed bstats; /* Basic class statistics */
|
|
+#endif
|
|
struct gnet_stats_queue qstats; /* Qstats for use by classes */
|
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 13, 0))
|
|
atomic_t refcnt; /* Reference count for class use */
|
|
@@ -444,8 +448,13 @@ extern void nss_qdisc_stop_basic_stats_p
|
|
* nss_qdisc_gnet_stats_copy_basic()
|
|
* Wrapper around gnet_stats_copy_basic()
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+extern int nss_qdisc_gnet_stats_copy_basic(struct Qdisc *sch,
|
|
+ struct gnet_dump *d, struct gnet_stats_basic_sync *b);
|
|
+#else
|
|
extern int nss_qdisc_gnet_stats_copy_basic(struct Qdisc *sch,
|
|
struct gnet_dump *d, struct gnet_stats_basic_packed *b);
|
|
+#endif
|
|
|
|
/*
|
|
* nss_qdisc_gnet_stats_copy_queue()
|
|
--- a/nss_qdisc/igs/nss_ifb.c
|
|
+++ b/nss_qdisc/igs/nss_ifb.c
|
|
@@ -544,8 +544,15 @@ static void nss_ifb_update_dev_stats(str
|
|
* post shaping. Therefore IFB interface's stats should be updated
|
|
* with NSS firmware's IFB TX stats only.
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_set(&stats.rx_packets, node_stats->tx_packets);
|
|
+ u64_stats_set(&stats.tx_packets, node_stats->tx_packets);
|
|
+ u64_stats_set(&stats.rx_bytes, node_stats->tx_bytes);
|
|
+ u64_stats_set(&stats.tx_bytes, node_stats->tx_bytes);
|
|
+#else
|
|
stats.rx_packets = stats.tx_packets = node_stats->tx_packets;
|
|
stats.rx_bytes = stats.tx_bytes = node_stats->tx_bytes;
|
|
+#endif
|
|
dev->stats.rx_dropped = dev->stats.tx_dropped += sync_stats->igs_stats.tx_dropped;
|
|
u64_stats_update_end(&stats.syncp);
|
|
|
|
--- a/nss_qdisc/nss_qdisc.c
|
|
+++ b/nss_qdisc/nss_qdisc.c
|
|
@@ -26,6 +26,9 @@
|
|
#include "nss_htb.h"
|
|
#include "nss_blackhole.h"
|
|
#include "nss_wred.h"
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+#include "net/gen_stats.h"
|
|
+#endif
|
|
|
|
void *nss_qdisc_ctx; /* Shaping context for nss_qdisc */
|
|
|
|
@@ -2563,7 +2566,11 @@ static void nss_qdisc_basic_stats_callba
|
|
{
|
|
struct nss_qdisc *nq = (struct nss_qdisc *)app_data;
|
|
struct Qdisc *qdisc = nq->qdisc;
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ struct gnet_stats_basic_sync *bstats;
|
|
+#else
|
|
struct gnet_stats_basic_packed *bstats;
|
|
+#endif
|
|
struct gnet_stats_queue *qstats;
|
|
struct nss_shaper_node_stats_response *response;
|
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 13, 0))
|
|
@@ -2602,8 +2609,13 @@ static void nss_qdisc_basic_stats_callba
|
|
* Update qdisc->bstats
|
|
*/
|
|
spin_lock_bh(&nq->lock);
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_add(&bstats->bytes, (__u64)response->sn_stats.delta.dequeued_bytes);
|
|
+ u64_stats_add(&bstats->packets, response->sn_stats.delta.dequeued_packets);
|
|
+#else
|
|
bstats->bytes += (__u64)response->sn_stats.delta.dequeued_bytes;
|
|
bstats->packets += response->sn_stats.delta.dequeued_packets;
|
|
+#endif
|
|
|
|
/*
|
|
* Update qdisc->qstats
|
|
@@ -2763,12 +2775,18 @@ void nss_qdisc_stop_basic_stats_polling(
|
|
* Wrapper around gnet_stats_copy_basic()
|
|
*/
|
|
int nss_qdisc_gnet_stats_copy_basic(struct Qdisc *sch, struct gnet_dump *d,
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ struct gnet_stats_basic_sync *b)
|
|
+#else
|
|
struct gnet_stats_basic_packed *b)
|
|
+#endif
|
|
{
|
|
#if (LINUX_VERSION_CODE <= KERNEL_VERSION(3, 18, 0))
|
|
return gnet_stats_copy_basic(d, b);
|
|
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))
|
|
return gnet_stats_copy_basic(d, NULL, b);
|
|
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0))
|
|
+ return gnet_stats_copy_basic(d, NULL, b, true);
|
|
#else
|
|
return gnet_stats_copy_basic(qdisc_root_sleeping_running(sch), d, NULL, b);
|
|
#endif
|
|
@@ -2799,7 +2817,9 @@ static int nss_qdisc_if_event_cb(struct
|
|
struct net_device *br;
|
|
struct Qdisc *br_qdisc;
|
|
int if_num, br_num;
|
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0))
|
|
struct nss_qdisc *nq;
|
|
+#endif
|
|
|
|
dev = nss_qdisc_get_dev(ptr);
|
|
if (!dev) {
|
|
@@ -2842,7 +2862,9 @@ static int nss_qdisc_if_event_cb(struct
|
|
break;
|
|
}
|
|
|
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0))
|
|
nq = (struct nss_qdisc *)qdisc_priv(br_qdisc);
|
|
+#endif
|
|
|
|
/*
|
|
* Call attach or detach according as per event type.
|
|
--- a/vlan/nss_vlan_mgr.c
|
|
+++ b/vlan/nss_vlan_mgr.c
|
|
@@ -18,6 +18,7 @@
|
|
* nss_vlan_mgr.c
|
|
* NSS to HLOS vlan Interface manager
|
|
*/
|
|
+#include <linux/version.h>
|
|
#include <linux/etherdevice.h>
|
|
#include <linux/if_vlan.h>
|
|
#include <linux/proc_fs.h>
|
|
@@ -808,7 +809,11 @@ static struct nss_vlan_pvt *nss_vlan_mgr
|
|
}
|
|
|
|
v->mtu = dev->mtu;
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ ether_addr_copy(v->dev_addr, (uint8_t *)dev->dev_addr);
|
|
+#else
|
|
ether_addr_copy(v->dev_addr, dev->dev_addr);
|
|
+#endif
|
|
v->ifindex = dev->ifindex;
|
|
v->refs = 1;
|
|
|
|
@@ -956,14 +961,23 @@ static int nss_vlan_mgr_changeaddr_event
|
|
}
|
|
spin_unlock(&vlan_mgr_ctx.lock);
|
|
|
|
- if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, dev->dev_addr) != NSS_TX_SUCCESS) {
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, (uint8_t *)dev->dev_addr) != NSS_TX_SUCCESS)
|
|
+#else
|
|
+ if (nss_vlan_tx_set_mac_addr_msg(v_pvt->nss_if, dev->dev_addr) != NSS_TX_SUCCESS)
|
|
+#endif
|
|
+ {
|
|
nss_vlan_mgr_warn("%s: Failed to send change MAC address message to NSS\n", dev->name);
|
|
nss_vlan_mgr_instance_deref(v_pvt);
|
|
return NOTIFY_BAD;
|
|
}
|
|
|
|
spin_lock(&vlan_mgr_ctx.lock);
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ ether_addr_copy(v_pvt->dev_addr, (uint8_t *)dev->dev_addr);
|
|
+#else
|
|
ether_addr_copy(v_pvt->dev_addr, dev->dev_addr);
|
|
+#endif
|
|
spin_unlock(&vlan_mgr_ctx.lock);
|
|
nss_vlan_mgr_trace("%s: MAC changed to %pM, updated NSS\n", dev->name, dev->dev_addr);
|
|
nss_vlan_mgr_instance_deref(v_pvt);
|
|
--- a/vxlanmgr/nss_vxlanmgr_tunnel.c
|
|
+++ b/vxlanmgr/nss_vxlanmgr_tunnel.c
|
|
@@ -465,8 +465,13 @@ static void nss_vxlanmgr_tunnel_inner_st
|
|
|
|
tstats = this_cpu_ptr(dev->tstats);
|
|
u64_stats_update_begin(&tstats->syncp);
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_add(&tstats->tx_packets, stats->node_stats.tx_packets);
|
|
+ u64_stats_add(&tstats->tx_bytes, stats->node_stats.tx_bytes);
|
|
+#else
|
|
tstats->tx_packets += stats->node_stats.tx_packets;
|
|
tstats->tx_bytes += stats->node_stats.tx_bytes;
|
|
+#endif
|
|
u64_stats_update_end(&tstats->syncp);
|
|
netdev_stats->tx_dropped += dropped;
|
|
dev_put(dev);
|
|
@@ -503,8 +508,13 @@ static void nss_vxlanmgr_tunnel_outer_st
|
|
|
|
tstats = this_cpu_ptr(dev->tstats);
|
|
u64_stats_update_begin(&tstats->syncp);
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_add(&tstats->rx_packets, stats->node_stats.tx_packets);
|
|
+ u64_stats_add(&tstats->rx_bytes, stats->node_stats.tx_bytes);
|
|
+#else
|
|
tstats->rx_packets += stats->node_stats.tx_packets;
|
|
tstats->rx_bytes += stats->node_stats.tx_bytes;
|
|
+#endif
|
|
u64_stats_update_end(&tstats->syncp);
|
|
netdev_stats->rx_dropped += dropped;
|
|
dev_put(dev);
|
|
--- a/pvxlanmgr/nss_pvxlanmgr.c
|
|
+++ b/pvxlanmgr/nss_pvxlanmgr.c
|
|
@@ -177,7 +177,11 @@ static struct rtnl_link_stats64 *nss_pvx
|
|
* Netdev seems to be incrementing rx_dropped because we don't give IP header.
|
|
* So reset it as it's of no use for us.
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ atomic_long_set(&(dev)->stats.__rx_dropped, 0);
|
|
+#else
|
|
atomic_long_set(&dev->rx_dropped, 0);
|
|
+#endif
|
|
priv = netdev_priv(dev);
|
|
memset(stats, 0, sizeof(struct rtnl_link_stats64));
|
|
memcpy(stats, &priv->stats, sizeof(struct rtnl_link_stats64));
|
|
@@ -305,7 +309,11 @@ static void nss_pvxlanmgr_dummy_netdev_s
|
|
dev->priv_destructor = NULL;
|
|
#endif
|
|
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ memcpy((void *)dev->dev_addr, "\x00\x00\x00\x00\x00\x00", dev->addr_len);
|
|
+#else
|
|
memcpy(dev->dev_addr, "\x00\x00\x00\x00\x00\x00", dev->addr_len);
|
|
+#endif
|
|
memset(dev->broadcast, 0xff, dev->addr_len);
|
|
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
|
|
}
|
|
--- a/clmapmgr/nss_clmapmgr.c
|
|
+++ b/clmapmgr/nss_clmapmgr.c
|
|
@@ -102,7 +102,11 @@ void nss_clmapmgr_dev_stats64(struct net
|
|
* Netdev seems to be incrementing rx_dropped because we don't give IP header.
|
|
* So reset it as it's of no use for us.
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ atomic_long_set(&(dev)->stats.__rx_dropped, 0);
|
|
+#else
|
|
atomic_long_set(&dev->rx_dropped, 0);
|
|
+#endif
|
|
priv = netdev_priv(dev);
|
|
memset(stats, 0, sizeof(struct rtnl_link_stats64));
|
|
memcpy(stats, &priv->stats, sizeof(struct rtnl_link_stats64));
|
|
--- a/tls/nss_tlsmgr_tun.c
|
|
+++ b/tls/nss_tlsmgr_tun.c
|
|
@@ -158,7 +158,11 @@ static void nss_tlsmgr_tun_setup(struct
|
|
/*
|
|
* Get the MAC address from the ethernet device
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ eth_random_addr((u8 *) dev->dev_addr);
|
|
+#else
|
|
random_ether_addr(dev->dev_addr);
|
|
+#endif
|
|
|
|
memset(dev->broadcast, 0xff, dev->addr_len);
|
|
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
|
|
--- a/netlink/nss_nlgre_redir_cmn.c
|
|
+++ b/netlink/nss_nlgre_redir_cmn.c
|
|
@@ -384,7 +384,11 @@ static int nss_nlgre_redir_cmn_set_mac_a
|
|
return -EINVAL;
|
|
}
|
|
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ memcpy((void *) dev->dev_addr, addr->sa_data, ETH_ALEN);
|
|
+#else
|
|
memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
|
|
+#endif
|
|
return 0;
|
|
}
|
|
|
|
--- a/nss_connmgr_tun6rd.c
|
|
+++ b/nss_connmgr_tun6rd.c
|
|
@@ -101,10 +101,17 @@ static void nss_tun6rd_update_dev_stats(
|
|
|
|
u64_stats_init(&stats.syncp);
|
|
u64_stats_update_begin(&stats.syncp);
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ u64_stats_set(&stats.rx_packets, sync_stats->node_stats.rx_packets);
|
|
+ u64_stats_set(&stats.rx_bytes, sync_stats->node_stats.rx_bytes);
|
|
+ u64_stats_set(&stats.tx_packets, sync_stats->node_stats.tx_packets);
|
|
+ u64_stats_set(&stats.tx_bytes, sync_stats->node_stats.tx_bytes);
|
|
+#else
|
|
stats.rx_packets = sync_stats->node_stats.rx_packets;
|
|
stats.rx_bytes = sync_stats->node_stats.rx_bytes;
|
|
stats.tx_packets = sync_stats->node_stats.tx_packets;
|
|
stats.tx_bytes = sync_stats->node_stats.tx_bytes;
|
|
+#endif
|
|
u64_stats_update_end(&stats.syncp);
|
|
#else
|
|
struct nss_tun6rd_stats stats;
|
|
--- a/ipsecmgr/v1.0/nss_ipsecmgr.c
|
|
+++ b/ipsecmgr/v1.0/nss_ipsecmgr.c
|
|
@@ -445,7 +445,11 @@ static void nss_ipsecmgr_tunnel_setup(st
|
|
/*
|
|
* get the MAC address from the ethernet device
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ eth_random_addr((u8 *) dev->dev_addr);
|
|
+#else
|
|
random_ether_addr(dev->dev_addr);
|
|
+#endif
|
|
|
|
memset(dev->broadcast, 0xff, dev->addr_len);
|
|
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
|
|
--- a/ipsecmgr/v2.0/nss_ipsecmgr_tunnel.c
|
|
+++ b/ipsecmgr/v2.0/nss_ipsecmgr_tunnel.c
|
|
@@ -394,7 +394,11 @@ static void nss_ipsecmgr_tunnel_setup(st
|
|
/*
|
|
* Get the MAC address from the ethernet device
|
|
*/
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 1, 0))
|
|
+ eth_random_addr((u8 *) dev->dev_addr);
|
|
+#else
|
|
random_ether_addr(dev->dev_addr);
|
|
+#endif
|
|
|
|
memset(dev->broadcast, 0xff, dev->addr_len);
|
|
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
|