mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
Compare commits
5 Commits
release/v2
...
v2.3.0-rc3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3e3c9ea72 | ||
|
|
a3125e6ab2 | ||
|
|
63e8b90656 | ||
|
|
70f231d948 | ||
|
|
2983d9ca2b |
@@ -1,4 +1,4 @@
|
||||
From b912dcd063381438ad70f4a3326ff0ac1be7c3ea Mon Sep 17 00:00:00 2001
|
||||
From 705ea724f1dc4083665746a1cf4c9b0f317667ec Mon Sep 17 00:00:00 2001
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Tue, 26 Oct 2021 20:41:22 +0200
|
||||
Subject: [PATCH] bpf-headers: add a package with kernel headers for ebpf
|
||||
@@ -87,7 +87,7 @@ index 0000000000..4e227a11d0
|
||||
+
|
||||
diff --git a/package/kernel/bpf-headers/Makefile b/package/kernel/bpf-headers/Makefile
|
||||
new file mode 100644
|
||||
index 0000000000..e316feea55
|
||||
index 0000000000..5f5b89370d
|
||||
--- /dev/null
|
||||
+++ b/package/kernel/bpf-headers/Makefile
|
||||
@@ -0,0 +1,99 @@
|
||||
@@ -152,7 +152,7 @@ index 0000000000..e316feea55
|
||||
+ $(Kernel/Patch/Default)
|
||||
+endef
|
||||
+
|
||||
+BPF_DOC = $(wildcard $(patsubst %,$(LINUX_DIR)/scripts/%.py,bpf_doc bpf_helpers_doc))
|
||||
+BPF_DOC = $(PKG_BUILD_DIR)/scripts/bpf_helpers_doc.py
|
||||
+
|
||||
+define Build/Configure
|
||||
+ grep -vE 'CONFIG_(CPU_.*ENDIAN|HZ)' $(PKG_BUILD_DIR)/arch/mips/configs/generic_defconfig > $(PKG_BUILD_DIR)/.config
|
||||
|
||||
@@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=bpf-headers
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
#include $(INCLUDE_DIR)/bpf.mk
|
||||
include $(INCLUDE_DIR)/bpf.mk
|
||||
|
||||
define Package/qosify
|
||||
SECTION:=kernel
|
||||
@@ -27,12 +27,10 @@ define Package/qosify
|
||||
PKGFLAGS+=nonshared
|
||||
endef
|
||||
|
||||
#BPF_DOC = $(wildcard $(patsubst %,$(BPF_HEADERS_DIR)/scripts/%.py,bpf_doc bpf_helpers_doc))
|
||||
|
||||
TARGET_CFLAGS += -I$(BPF_HEADERS_DIR)/user_headers/include
|
||||
BPF_DOC = $(wildcard $(patsubst %,$(BPF_HEADERS_DIR)/scripts/%.py,bpf_doc bpf_helpers_doc))
|
||||
|
||||
define Build/Compile
|
||||
# $(call CompileBPF,$(PKG_BUILD_DIR)/qosify-bpf.c)
|
||||
$(call CompileBPF,$(PKG_BUILD_DIR)/qosify-bpf.c)
|
||||
$(Build/Compile/Default)
|
||||
endef
|
||||
|
||||
@@ -43,7 +41,7 @@ endef
|
||||
|
||||
define Package/qosify/install
|
||||
$(INSTALL_DIR) $(1)/lib/bpf $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config $(1)/etc/hotplug.d/net
|
||||
$(INSTALL_DATA) ./files/qosify-bpf.o $(1)/lib/bpf
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/qosify-bpf.o $(1)/lib/bpf
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qosify $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) ./files/qosify.init $(1)/etc/init.d/qosify
|
||||
$(INSTALL_DATA) ./files/qosify-defaults.conf $(1)/etc/qosify-defaults.conf
|
||||
|
||||
Binary file not shown.
@@ -4,7 +4,7 @@ config defaults
|
||||
option dscp_bulk CS0
|
||||
option dscp_default_udp CS4
|
||||
option bulk_trigger_timeout 5
|
||||
option bulk_trigger_pps 100
|
||||
option bulk_trigger_pps 0
|
||||
|
||||
config interface wan
|
||||
option name wan
|
||||
|
||||
@@ -20,7 +20,7 @@ add_defaults() {
|
||||
|
||||
json_add_boolean reset 1
|
||||
|
||||
config_get files "$cfg" files
|
||||
config_get files "$cfg" defaults
|
||||
json_add_array files
|
||||
for i in $files; do
|
||||
json_add_string "" "$i"
|
||||
|
||||
@@ -62,6 +62,7 @@ int main(int argc, char **argv)
|
||||
|
||||
uloop_run();
|
||||
|
||||
qosify_ubus_stop();
|
||||
qosify_iface_stop();
|
||||
|
||||
uloop_done();
|
||||
|
||||
@@ -238,6 +238,8 @@ parse_l4proto(struct qosify_config *config, struct __sk_buff *skb,
|
||||
return;
|
||||
|
||||
if ((*value & DSCP_FALLBACK_FLAG) && *dscp_out)
|
||||
return;
|
||||
|
||||
*dscp_out = *value;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ struct qosify_map_data {
|
||||
uint8_t file_dscp;
|
||||
|
||||
union {
|
||||
uint16_t port;
|
||||
uint32_t port;
|
||||
struct in_addr ip;
|
||||
struct in6_addr ip6;
|
||||
} addr;
|
||||
@@ -77,6 +77,7 @@ void qosify_iface_status(struct blob_buf *b);
|
||||
void qosify_iface_stop(void);
|
||||
|
||||
int qosify_ubus_init(void);
|
||||
void qosify_ubus_stop(void);
|
||||
int qosify_ubus_check_interface(const char *name, char *ifname, int ifname_len);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -139,8 +139,8 @@ static const struct blobmsg_policy qosify_config_policy[__CL_CONFIG_MAX] = {
|
||||
[CL_CONFIG_RESET] = { "reset", BLOBMSG_TYPE_BOOL },
|
||||
[CL_CONFIG_FILES] = { "files", BLOBMSG_TYPE_ARRAY },
|
||||
[CL_CONFIG_TIMEOUT] = { "timeout", BLOBMSG_TYPE_INT32 },
|
||||
[CL_CONFIG_DSCP_UDP] = { "dscp_default_tcp", BLOBMSG_TYPE_STRING },
|
||||
[CL_CONFIG_DSCP_TCP] = { "dscp_default_udp", BLOBMSG_TYPE_STRING },
|
||||
[CL_CONFIG_DSCP_UDP] = { "dscp_default_udp", BLOBMSG_TYPE_STRING },
|
||||
[CL_CONFIG_DSCP_TCP] = { "dscp_default_tcp", BLOBMSG_TYPE_STRING },
|
||||
[CL_CONFIG_DSCP_PRIO] = { "dscp_prio", BLOBMSG_TYPE_STRING },
|
||||
[CL_CONFIG_DSCP_BULK] = { "dscp_bulk", BLOBMSG_TYPE_STRING },
|
||||
[CL_CONFIG_DSCP_ICMP] = { "dscp_icmp", BLOBMSG_TYPE_STRING },
|
||||
@@ -308,6 +308,11 @@ int qosify_ubus_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void qosify_ubus_stop(void)
|
||||
{
|
||||
ubus_auto_shutdown(&conn);
|
||||
}
|
||||
|
||||
struct iface_req {
|
||||
char *name;
|
||||
int len;
|
||||
|
||||
@@ -31,7 +31,7 @@ ALLWIFIBOARDS:= \
|
||||
edgecore-eap101 \
|
||||
sercomm-wallaby \
|
||||
edgecore-eap102 \
|
||||
wallys-dr6018
|
||||
wallys-dr6018 \
|
||||
tplink-ex227 \
|
||||
tplink-ex447
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 164756923b3e89cb2fc825a80d4cc4236fb6dc89 Mon Sep 17 00:00:00 2001
|
||||
From 640973dcc794f43d99df7674209d9532711c49b4 Mon Sep 17 00:00:00 2001
|
||||
From: John Crispin <john@phrozen.org>
|
||||
Date: Sat, 18 Jul 2020 08:53:44 +0200
|
||||
Subject: [PATCH 01/30] ipq807x: add the Qualcomm AX target support
|
||||
@@ -63,9 +63,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
.../ipq807x/patches/110-add-esmt-nand.patch | 37 +
|
||||
target/linux/ipq807x/patches/111-eap106.patch | 765 +
|
||||
target/linux/ipq807x/patches/112-pstore.patch | 147 +
|
||||
.../ipq807x/patches/200-bpf_backport.patch | 44635 ++++++++++++++++
|
||||
.../ipq807x/patches/200-bpf_backport.patch | 44763 ++++++++++++++++
|
||||
toolchain/kernel-headers/Makefile | 8 +
|
||||
60 files changed, 56539 insertions(+), 2 deletions(-)
|
||||
60 files changed, 56667 insertions(+), 2 deletions(-)
|
||||
create mode 100644 package/boot/uboot-envtools/files/ipq807x
|
||||
create mode 100644 target/linux/ipq807x/109-logspam.patch
|
||||
create mode 100644 target/linux/ipq807x/Makefile
|
||||
@@ -16570,10 +16570,10 @@ index 0000000000..dc3960306d
|
||||
+ * The following routines scan a subtree and registers a device for
|
||||
diff --git a/target/linux/ipq807x/patches/200-bpf_backport.patch b/target/linux/ipq807x/patches/200-bpf_backport.patch
|
||||
new file mode 100644
|
||||
index 0000000000..3e730c313e
|
||||
index 0000000000..915f965fa0
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/patches/200-bpf_backport.patch
|
||||
@@ -0,0 +1,44635 @@
|
||||
@@ -0,0 +1,44763 @@
|
||||
+--- a/arch/arm/Kconfig
|
||||
++++ b/arch/arm/Kconfig
|
||||
+@@ -38,7 +38,7 @@ config ARM
|
||||
@@ -61209,6 +61209,134 @@ index 0000000000..3e730c313e
|
||||
+ if (IS_ERR(fp))
|
||||
+ return PTR_ERR(fp);
|
||||
+
|
||||
+--- a/net/8021q/vlan_core.c
|
||||
++++ b/net/8021q/vlan_core.c
|
||||
+@@ -50,7 +50,7 @@ bool vlan_do_receive(struct sk_buff **sk
|
||||
+ }
|
||||
+
|
||||
+ skb->priority = vlan_get_ingress_priority(vlan_dev, skb->vlan_tci);
|
||||
+- skb->vlan_tci = 0;
|
||||
++ __vlan_hwaccel_clear_tag(skb);
|
||||
+
|
||||
+ rx_stats = this_cpu_ptr(vlan_dev_priv(vlan_dev)->vlan_pcpu_stats);
|
||||
+
|
||||
+--- a/net/ipv4/ip_tunnel_core.c
|
||||
++++ b/net/ipv4/ip_tunnel_core.c
|
||||
+@@ -128,7 +128,7 @@ int iptunnel_pull_header(struct sk_buff
|
||||
+ secpath_reset(skb);
|
||||
+ skb_clear_hash_if_not_l4(skb);
|
||||
+ skb_dst_drop(skb);
|
||||
+- skb->vlan_tci = 0;
|
||||
++ __vlan_hwaccel_clear_tag(skb);
|
||||
+ skb_set_queue_mapping(skb, 0);
|
||||
+ skb->pkt_type = PACKET_HOST;
|
||||
+
|
||||
+--- a/net/bridge/br_netfilter_hooks.c
|
||||
++++ b/net/bridge/br_netfilter_hooks.c
|
||||
+@@ -673,10 +673,8 @@ static int br_nf_push_frag_xmit(struct n
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+- if (data->vlan_tci) {
|
||||
+- skb->vlan_tci = data->vlan_tci;
|
||||
+- skb->vlan_proto = data->vlan_proto;
|
||||
+- }
|
||||
++ if (data->vlan_proto)
|
||||
++ __vlan_hwaccel_put_tag(skb, data->vlan_proto, data->vlan_tci);
|
||||
+
|
||||
+ skb_copy_to_linear_data_offset(skb, -data->size, data->mac, data->size);
|
||||
+ __skb_push(skb, data->encap_size);
|
||||
+@@ -740,8 +738,13 @@ static int br_nf_dev_queue_xmit(struct n
|
||||
+
|
||||
+ data = this_cpu_ptr(&brnf_frag_data_storage);
|
||||
+
|
||||
+- data->vlan_tci = skb->vlan_tci;
|
||||
+- data->vlan_proto = skb->vlan_proto;
|
||||
++ if (skb_vlan_tag_present(skb)) {
|
||||
++ data->vlan_tci = skb->vlan_tci;
|
||||
++ data->vlan_proto = skb->vlan_proto;
|
||||
++ } else {
|
||||
++ data->vlan_proto = 0;
|
||||
++ }
|
||||
++
|
||||
+ data->encap_size = nf_bridge_encap_header_len(skb);
|
||||
+ data->size = ETH_HLEN + data->encap_size;
|
||||
+
|
||||
+--- a/net/bridge/br_private.h
|
||||
++++ b/net/bridge/br_private.h
|
||||
+@@ -751,7 +751,7 @@ static inline int br_vlan_get_tag(const
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (skb_vlan_tag_present(skb)) {
|
||||
+- *vid = skb_vlan_tag_get(skb) & VLAN_VID_MASK;
|
||||
++ *vid = skb_vlan_tag_get_id(skb);
|
||||
+ } else {
|
||||
+ *vid = 0;
|
||||
+ err = -EINVAL;
|
||||
+--- a/net/bridge/br_vlan.c
|
||||
++++ b/net/bridge/br_vlan.c
|
||||
+@@ -354,7 +354,7 @@ struct sk_buff *br_handle_vlan(struct ne
|
||||
+ }
|
||||
+ }
|
||||
+ if (v->flags & BRIDGE_VLAN_INFO_UNTAGGED)
|
||||
+- skb->vlan_tci = 0;
|
||||
++ __vlan_hwaccel_clear_tag(skb);
|
||||
+
|
||||
+ out:
|
||||
+ return skb;
|
||||
+@@ -420,8 +420,8 @@ static bool __allowed_ingress(struct net
|
||||
+ __vlan_hwaccel_put_tag(skb, proto, pvid);
|
||||
+ else
|
||||
+ /* Priority-tagged Frame.
|
||||
+- * At this point, We know that skb->vlan_tci had
|
||||
+- * VLAN_TAG_PRESENT bit and its VID field was 0x000.
|
||||
++ * At this point, we know that skb->vlan_tci VID
|
||||
++ * field was 0.
|
||||
+ * We update only VID field and preserve PCP field.
|
||||
+ */
|
||||
+ skb->vlan_tci |= pvid;
|
||||
+--- a/net/core/dev.c
|
||||
++++ b/net/core/dev.c
|
||||
+@@ -3988,7 +3988,7 @@ ncls:
|
||||
+ * and set skb->priority like in vlan_do_receive()
|
||||
+ * For the time being, just ignore Priority Code Point
|
||||
+ */
|
||||
+- skb->vlan_tci = 0;
|
||||
++ __vlan_hwaccel_clear_tag(skb);
|
||||
+ }
|
||||
+
|
||||
+ type = skb->protocol;
|
||||
+@@ -4211,7 +4211,9 @@ static void gro_list_prepare(struct napi
|
||||
+ }
|
||||
+
|
||||
+ diffs = (unsigned long)p->dev ^ (unsigned long)skb->dev;
|
||||
+- diffs |= p->vlan_tci ^ skb->vlan_tci;
|
||||
++ diffs |= skb_vlan_tag_present(p) ^ skb_vlan_tag_present(skb);
|
||||
++ if (skb_vlan_tag_present(p))
|
||||
++ diffs |= p->vlan_tci ^ skb->vlan_tci;
|
||||
+ diffs |= skb_metadata_dst_cmp(p, skb);
|
||||
+ if (maclen == ETH_HLEN)
|
||||
+ diffs |= compare_ether_header(skb_mac_header(p),
|
||||
+@@ -4452,7 +4454,7 @@ static void napi_reuse_skb(struct napi_s
|
||||
+ __skb_pull(skb, skb_headlen(skb));
|
||||
+ /* restore the reserve we had after netdev_alloc_skb_ip_align() */
|
||||
+ skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN - skb_headroom(skb));
|
||||
+- skb->vlan_tci = 0;
|
||||
++ __vlan_hwaccel_clear_tag(skb);
|
||||
+ skb->dev = napi->dev;
|
||||
+ skb->skb_iif = 0;
|
||||
+ skb->encapsulation = 0;
|
||||
+--- a/net/core/skbuff.c
|
||||
++++ b/net/core/skbuff.c
|
||||
+@@ -4491,7 +4491,7 @@ int skb_vlan_pop(struct sk_buff *skb)
|
||||
+ int err;
|
||||
+
|
||||
+ if (likely(skb_vlan_tag_present(skb))) {
|
||||
+- skb->vlan_tci = 0;
|
||||
++ __vlan_hwaccel_clear_tag(skb);
|
||||
+ } else {
|
||||
+ if (unlikely((skb->protocol != htons(ETH_P_8021Q) &&
|
||||
+ skb->protocol != htons(ETH_P_8021AD)) ||
|
||||
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
|
||||
index c33f26d46d..06236b5a47 100644
|
||||
--- a/toolchain/kernel-headers/Makefile
|
||||
|
||||
Reference in New Issue
Block a user