mirror of
https://github.com/breeze303/nss-packages.git
synced 2025-12-16 16:57:29 +00:00
qca-nss-clients: update to QSDK 12.1.5
This commit is contained in:
parent
2a9e76182d
commit
73580be317
@ -5,9 +5,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-clients.git
|
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-clients.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2021-07-23
|
PKG_SOURCE_DATE:=2022-03-18
|
||||||
PKG_SOURCE_VERSION:=ec7a57bed8914adcbd5bf95de1f0b630296489c1
|
PKG_SOURCE_VERSION:=a93764b647be71342e588f5e6406fde44f5b9ca4
|
||||||
PKG_MIRROR_HASH:=b7413c5b20a341d3d7ea49c1b86ff92b4a8795aa7c64986ca820ba18205e332d
|
PKG_MIRROR_HASH:=f855957345c06f1760a059328e58b78bf1f9559e60aebf44784e0289d11743c2
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
@ -17,7 +17,7 @@ define KernelPackage/qca-nss-drv-pppoe
|
|||||||
CATEGORY:=Kernel modules
|
CATEGORY:=Kernel modules
|
||||||
SUBMENU:=Network Devices
|
SUBMENU:=Network Devices
|
||||||
TITLE:=Kernel driver for NSS (connection manager) - PPPoE
|
TITLE:=Kernel driver for NSS (connection manager) - PPPoE
|
||||||
DEPENDS:=@LINUX_5_10 @TARGET_ipq807x +kmod-qca-nss-drv +kmod-ppp +kmod-pppoe
|
DEPENDS:=@TARGET_ipq807x +kmod-qca-nss-drv +kmod-ppp +kmod-pppoe +kmod-bonding
|
||||||
FILES:=$(PKG_BUILD_DIR)/pppoe/qca-nss-pppoe.ko
|
FILES:=$(PKG_BUILD_DIR)/pppoe/qca-nss-pppoe.ko
|
||||||
AUTOLOAD:=$(call AutoLoad,51,qca-nss-pppoe)
|
AUTOLOAD:=$(call AutoLoad,51,qca-nss-pppoe)
|
||||||
endef
|
endef
|
||||||
@ -45,7 +45,7 @@ define KernelPackage/qca-nss-drv-vlan-mgr
|
|||||||
CATEGORY:=Kernel modules
|
CATEGORY:=Kernel modules
|
||||||
SUBMENU:=Network Devices
|
SUBMENU:=Network Devices
|
||||||
TITLE:=Kernel driver for NSS vlan manager
|
TITLE:=Kernel driver for NSS vlan manager
|
||||||
DEPENDS:=@LINUX_5_10 @TARGET_ipq807x +kmod-qca-nss-drv
|
DEPENDS:=@TARGET_ipq807x +kmod-qca-nss-drv +kmod-bonding
|
||||||
FILES:=$(PKG_BUILD_DIR)/vlan/qca-nss-vlan.ko
|
FILES:=$(PKG_BUILD_DIR)/vlan/qca-nss-vlan.ko
|
||||||
AUTOLOAD:=$(call AutoLoad,51,qca-nss-vlan)
|
AUTOLOAD:=$(call AutoLoad,51,qca-nss-vlan)
|
||||||
endef
|
endef
|
||||||
@ -99,4 +99,4 @@ endef
|
|||||||
|
|
||||||
$(eval $(call KernelPackage,qca-nss-drv-pppoe))
|
$(eval $(call KernelPackage,qca-nss-drv-pppoe))
|
||||||
$(eval $(call KernelPackage,qca-nss-drv-bridge-mgr))
|
$(eval $(call KernelPackage,qca-nss-drv-bridge-mgr))
|
||||||
$(eval $(call KernelPackage,qca-nss-drv-vlan-mgr))
|
$(eval $(call KernelPackage,qca-nss-drv-vlan-mgr))
|
||||||
31
qca/qca-nss-clients/files/qca-nss-netlink.init
Normal file
31
qca/qca-nss-clients/files/qca-nss-netlink.init
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023, The Linux Foundation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
# any purpose with or without fee is hereby granted, provided that the
|
||||||
|
# above copyright notice and this permission notice appear in all copies.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||||
|
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
rmmod qca-nss-netlink.ko
|
||||||
|
modprobe qca-nss-netlink
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
modprobe qca-nss-netlink
|
||||||
|
|
||||||
|
echo 2048 > /proc/sys/dev/nss/n2hcfg/n2h_queue_limit_core0
|
||||||
|
echo 2048 > /proc/sys/dev/nss/n2hcfg/n2h_queue_limit_core1
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
rmmod qca-nss-netlink.ko
|
||||||
|
}
|
||||||
162
qca/qca-nss-clients/patches/0001-kernel-5.15-support-qdisc.patch
Normal file
162
qca/qca-nss-clients/patches/0001-kernel-5.15-support-qdisc.patch
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
--- a/nss_qdisc/igs/nss_mirred.c
|
||||||
|
+++ b/nss_qdisc/igs/nss_mirred.c
|
||||||
|
@@ -82,20 +82,24 @@ static const struct nla_policy nss_mirre
|
||||||
|
* nss_mirred_init()
|
||||||
|
* Initialize the nss mirred action.
|
||||||
|
*/
|
||||||
|
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0))
|
||||||
|
static int nss_mirred_init(struct net *net, struct nlattr *nla,
|
||||||
|
- struct nlattr *est, struct tc_action *tc_act, int ovr,
|
||||||
|
- int bind)
|
||||||
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0))
|
||||||
|
+ struct nlattr *est, struct tc_action *tc_act, int ovr,
|
||||||
|
+ int bind)
|
||||||
|
+{
|
||||||
|
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
|
||||||
|
+ struct nlattr *est, struct tc_action **tc_act, int ovr,
|
||||||
|
+ int bind, bool rtnl_held, struct tcf_proto *tp,
|
||||||
|
+ u32 flags, struct netlink_ext_ack *extack)
|
||||||
|
{
|
||||||
|
#else
|
||||||
|
-static int nss_mirred_init(struct net *net, struct nlattr *nla,
|
||||||
|
- struct nlattr *est, struct tc_action **tc_act, int ovr,
|
||||||
|
- int bind, bool rtnl_held, struct tcf_proto *tp,
|
||||||
|
- struct netlink_ext_ack *extack)
|
||||||
|
+ struct nlattr *est, struct tc_action **tc_act,
|
||||||
|
+ struct tcf_proto *tp, u32 flags, struct netlink_ext_ack *extack)
|
||||||
|
{
|
||||||
|
+ bool bind = flags & TCA_ACT_FLAGS_BIND;
|
||||||
|
+#endif
|
||||||
|
struct tc_action_net *tn = net_generic(net, nss_mirred_net_id);
|
||||||
|
u32 index;
|
||||||
|
-#endif
|
||||||
|
struct nlattr *arr[TC_NSS_MIRRED_MAX + 1];
|
||||||
|
struct tc_nss_mirred *parm;
|
||||||
|
struct nss_mirred_tcf *act;
|
||||||
|
@@ -239,8 +243,13 @@ static int nss_mirred_init(struct net *n
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ret) {
|
||||||
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0))
|
||||||
|
ret = tcf_idr_create(tn, index, est, tc_act, &nss_mirred_act_ops,
|
||||||
|
bind, true);
|
||||||
|
+#else
|
||||||
|
+ ret = tcf_idr_create(tn, index, est, tc_act, &nss_mirred_act_ops,
|
||||||
|
+ bind, true, 0);
|
||||||
|
+#endif
|
||||||
|
if (ret) {
|
||||||
|
tcf_idr_cleanup(tn, index);
|
||||||
|
return ret;
|
||||||
|
--- a/nss_qdisc/nss_bf.c
|
||||||
|
+++ b/nss_qdisc/nss_bf.c
|
||||||
|
@@ -70,7 +70,7 @@ static inline struct nss_bf_class_data *
|
||||||
|
*/
|
||||||
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0))
|
||||||
|
static int nss_bf_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
||||||
|
- struct nlattr **tca, unsigned long *arg)
|
||||||
|
+ struct nlattr **tca, unsigned long *arg, struct netlink_ext_ack *extack)
|
||||||
|
{
|
||||||
|
struct netlink_ext_ack *extack = NULL;
|
||||||
|
#else
|
||||||
|
@@ -296,7 +296,11 @@ static void nss_bf_destroy_class(struct
|
||||||
|
* nss_bf_delete_class()
|
||||||
|
* Detaches a class from operation, but does not destroy it.
|
||||||
|
*/
|
||||||
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0))
|
||||||
|
+static int nss_bf_delete_class(struct Qdisc *sch, unsigned long arg, struct netlink_ext_ack *extack)
|
||||||
|
+#else
|
||||||
|
static int nss_bf_delete_class(struct Qdisc *sch, unsigned long arg)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
struct nss_bf_sched_data *q = qdisc_priv(sch);
|
||||||
|
struct nss_bf_class_data *cl = (struct nss_bf_class_data *)arg;
|
||||||
|
--- a/nss_qdisc/nss_htb.c
|
||||||
|
+++ b/nss_qdisc/nss_htb.c
|
||||||
|
@@ -278,7 +278,7 @@ static int nss_htb_ppe_change_class(stru
|
||||||
|
*/
|
||||||
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0))
|
||||||
|
static int nss_htb_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
||||||
|
- struct nlattr **tca, unsigned long *arg)
|
||||||
|
+ struct nlattr **tca, unsigned long *arg, struct netlink_ext_ack *extack)
|
||||||
|
{
|
||||||
|
struct netlink_ext_ack *extack = NULL;
|
||||||
|
#else
|
||||||
|
@@ -522,7 +522,11 @@ static void nss_htb_destroy_class(struct
|
||||||
|
* nss_htb_delete_class()
|
||||||
|
* Detaches a class from operation, but does not destroy it.
|
||||||
|
*/
|
||||||
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0))
|
||||||
|
+static int nss_htb_delete_class(struct Qdisc *sch, unsigned long arg, struct netlink_ext_ack *extack)
|
||||||
|
+#else
|
||||||
|
static int nss_htb_delete_class(struct Qdisc *sch, unsigned long arg)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
struct nss_htb_sched_data *q = qdisc_priv(sch);
|
||||||
|
struct nss_htb_class_data *cl = (struct nss_htb_class_data *)arg;
|
||||||
|
--- a/nss_qdisc/nss_qdisc.c
|
||||||
|
+++ b/nss_qdisc/nss_qdisc.c
|
||||||
|
@@ -1144,15 +1144,16 @@ unsigned int nss_qdisc_drop(struct Qdisc
|
||||||
|
{
|
||||||
|
struct nss_qdisc *nq = qdisc_priv(sch);
|
||||||
|
unsigned int ret;
|
||||||
|
+ struct sk_buff *to_free = qdisc_peek_head(sch);
|
||||||
|
|
||||||
|
if (!nq->is_virtual) {
|
||||||
|
- ret = __qdisc_queue_drop_head(sch, &sch->q);
|
||||||
|
+ ret = __qdisc_queue_drop_head(sch, &sch->q, &to_free);
|
||||||
|
} else {
|
||||||
|
spin_lock_bh(&nq->bounce_protection_lock);
|
||||||
|
/*
|
||||||
|
* This function is safe to call within locks
|
||||||
|
*/
|
||||||
|
- ret = __qdisc_queue_drop_head(sch, &sch->q);
|
||||||
|
+ ret = __qdisc_queue_drop_head(sch, &sch->q, &to_free);
|
||||||
|
spin_unlock_bh(&nq->bounce_protection_lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1206,10 +1207,10 @@ static bool nss_qdisc_iterate_fl(struct
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0))
|
||||||
|
- status = tc_classify(skb, tcf, &res, false);
|
||||||
|
-#else
|
||||||
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
|
||||||
|
status = tcf_classify(skb, tcf, &res, false);
|
||||||
|
+#else
|
||||||
|
+ status = tcf_classify(skb, NULL, tcf, &res, false);
|
||||||
|
#endif
|
||||||
|
if ((status == TC_ACT_STOLEN) || (status == TC_ACT_QUEUED)) {
|
||||||
|
return 1;
|
||||||
|
@@ -2172,6 +2173,8 @@ int __nss_qdisc_init(struct Qdisc *sch,
|
||||||
|
* This is to prevent mixing NSS and PPE qdisc with linux qdisc.
|
||||||
|
*/
|
||||||
|
if ((parent != TC_H_ROOT) && (root->ops->owner != THIS_MODULE)) {
|
||||||
|
+ nss_qdisc_warning("parent (%d) and TC_H_ROOT (%d))", parent, TC_H_ROOT);
|
||||||
|
+ nss_qdisc_warning("root->ops->owner (%px) and THIS_MODULE (%px))", root->ops->owner , THIS_MODULE);
|
||||||
|
nss_qdisc_warning("NSS qdisc %px (type %d) used along with non-nss qdiscs,"
|
||||||
|
" or the interface is currently down", nq->qdisc, nq->type);
|
||||||
|
}
|
||||||
|
--- a/nss_qdisc/nss_wrr.c
|
||||||
|
+++ b/nss_qdisc/nss_wrr.c
|
||||||
|
@@ -230,7 +230,7 @@ static int nss_wrr_ppe_change_class(stru
|
||||||
|
|
||||||
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0))
|
||||||
|
static int nss_wrr_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
||||||
|
- struct nlattr **tca, unsigned long *arg)
|
||||||
|
+ struct nlattr **tca, unsigned long *arg, struct netlink_ext_ack *extack)
|
||||||
|
{
|
||||||
|
struct netlink_ext_ack *extack = NULL;
|
||||||
|
#else
|
||||||
|
@@ -406,7 +406,11 @@ failure:
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0))
|
||||||
|
+static int nss_wrr_delete_class(struct Qdisc *sch, unsigned long arg, struct netlink_ext_ack *extack)
|
||||||
|
+#else
|
||||||
|
static int nss_wrr_delete_class(struct Qdisc *sch, unsigned long arg)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
struct nss_wrr_sched_data *q = qdisc_priv(sch);
|
||||||
|
struct nss_wrr_class_data *cl = (struct nss_wrr_class_data *)arg;
|
||||||
Loading…
Reference in New Issue
Block a user