From 2f41c0773e924db1842b046f2fe568e4817a929a Mon Sep 17 00:00:00 2001 From: bitthief Date: Fri, 3 Feb 2023 06:55:15 +0200 Subject: [PATCH] nss-ifb, mcs, nss-clients, nss-ecm: misc build fixes --- qca/nss-ifb/Makefile | 3 +- qca/qca-mcs/Makefile | 29 ++++++------ qca/qca-nss-clients/Makefile | 64 ++++++++++++++++++++++---- qca/qca-nss-ecm/Makefile | 89 +++++++++++++++++++++++++++++------- 4 files changed, 145 insertions(+), 40 deletions(-) diff --git a/qca/nss-ifb/Makefile b/qca/nss-ifb/Makefile index f8e406a..8882281 100644 --- a/qca/nss-ifb/Makefile +++ b/qca/nss-ifb/Makefile @@ -18,7 +18,7 @@ define KernelPackage/nss-ifb CATEGORY:=Kernel modules SUBMENU:=Network Devices TITLE:=NSS IFB Interface - DEPENDS:=+kmod-qca-nss-drv @!LINUX_3_18 + DEPENDS:=@TARGET_ipq807x +kmod-qca-nss-drv FILES:=$(PKG_BUILD_DIR)/nss-ifb.ko KCONFIG:= endef @@ -46,4 +46,3 @@ define Build/Compile endef $(eval $(call KernelPackage,nss-ifb)) - diff --git a/qca/qca-mcs/Makefile b/qca/qca-mcs/Makefile index b82b29c..3391005 100644 --- a/qca/qca-mcs/Makefile +++ b/qca/qca-mcs/Makefile @@ -1,5 +1,4 @@ include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=qca-mcs PKG_RELEASE:=1 @@ -10,6 +9,9 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=dd8a438 PKG_MIRROR_HASH:=1d76eb02641c243a4a9416ff32d2cdc778c3d3095ad101d584fe4dc50661b376 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk define KernelPackage/qca-mcs @@ -20,13 +22,13 @@ define KernelPackage/qca-mcs MAINTAINER:=Qualcomm Atheros, Inc. TITLE:=QCA Multicast Snooping Support DEPENDS:=+@KERNEL_IPV6_MROUTE +@KERNEL_IP_MROUTE - - KCONFIG:=CONFIG_NETFILTER=y CONFIG_BRIDGE_NETFILTER=y + KCONFIG:=CONFIG_NETFILTER=y \ + CONFIG_BRIDGE_NETFILTER=y FILES:=$(PKG_BUILD_DIR)/qca-mcs.ko AUTOLOAD:=$(call AutoLoad,41,qca-mcs) endef -define KernelPackage/qca-mcs/description +define KernelPackage/qca-mcs/Description This package installs the IGMP/MLD Snooping Module endef @@ -35,7 +37,7 @@ QCA_MC_SNOOPING_HEADERS= \ $(PKG_BUILD_DIR)/mc_ecm.h \ define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include/qca-mcs + mkdir -p $(1)/usr/include/qca-mcs $(foreach header_file,$(QCA_MC_SNOOPING_HEADERS), $(CP) $(header_file) $(1)/usr/include/qca-mcs;) $(foreach header_file,$(QCA_MC_SNOOPING_HEADERS), $(CP) $(header_file) $(1)/usr/include/;) endef @@ -51,14 +53,15 @@ QCA_MC_SNOOPING_MAKE_OPTS:= \ KERNELRELEASE=$(LINUX_RELEASE) define Build/Compile - $(MAKE) $(PKG_JOBS) -C $(LINUX_DIR) \ - $(KERNEL_MAKE_FLAGS) \ - KBUILDPATH=$(LINUX_DIR) \ - $(PKG_MAKE_FLAGS) \ - M=$(PKG_BUILD_DIR) \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ - $(strip $(QCA_MC_SNOOPING_MAKE_OPTS)) \ - modules + +$(MAKE) -C $(LINUX_DIR) \ + $(KERNEL_MAKE_FLAGS) \ + $(PKG_JOBS) \ + KBUILDPATH=$(LINUX_DIR) \ + $(PKG_MAKE_FLAGS) \ + M=$(PKG_BUILD_DIR) \ + EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ + $(strip $(QCA_MC_SNOOPING_MAKE_OPTS)) \ + modules endef $(eval $(call KernelPackage,qca-mcs)) diff --git a/qca/qca-nss-clients/Makefile b/qca/qca-nss-clients/Makefile index 3006d03..a397ad3 100644 --- a/qca/qca-nss-clients/Makefile +++ b/qca/qca-nss-clients/Makefile @@ -9,6 +9,8 @@ PKG_SOURCE_DATE:=2022-03-18 PKG_SOURCE_VERSION:=a93764b647be71342e588f5e6406fde44f5b9ca4 PKG_MIRROR_HASH:=f855957345c06f1760a059328e58b78bf1f9559e60aebf44784e0289d11743c2 +PKG_BUILD_PARALLEL:=1 + include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk @@ -54,6 +56,40 @@ define KernelPackage/qca-nss-drv-vlan-mgr/Description Kernel modules for NSS vlan manager endef +define KernelPackage/qca-nss-drv-netlink + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Devices + TITLE:=NSS NETLINK Manager for QCA NSS driver + DEPENDS:=@TARGET_ipq807x +kmod-qca-nss-drv +kmod-pppoe + FILES:=$(PKG_BUILD_DIR)/netlink/qca-nss-netlink.ko +endef + +define KernelPackage/qca-nss-drv-netlink/Description +Kernel module for NSS netlink manager +endef + +define KernelPackage/qca-nss-drv-qdisc + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Support + TITLE:=Qdisc for configuring shapers in NSS + DEPENDS:=@TARGET_ipq807x +kmod-qca-nss-drv + FILES:=$(PKG_BUILD_DIR)/nss_qdisc/qca-nss-qdisc.ko + KCONFIG:=CONFIG_NET_CLS_ACT=y + AUTOLOAD:=$(call AutoLoad,58,qca-nss-qdisc) +endef + +define KernelPackage/qca-nss-drv-qdisc/Description +Linux qdisc that aids in configuring shapers in the NSS +endef + +define Build/InstallDev + mkdir -p $(1)/usr/include/qca-nss-clients + $(CP) $(PKG_BUILD_DIR)/netlink/include/* $(1)/usr/include/qca-nss-clients/ + $(CP) $(PKG_BUILD_DIR)/exports/* $(1)/usr/include/qca-nss-clients/ +endef + EXTRA_CFLAGS+= \ -I$(STAGING_DIR)/usr/include/qca-nss-drv \ -I$(STAGING_DIR)/usr/include/qca-nss-crypto \ @@ -80,6 +116,14 @@ ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-vlan-mgr),) NSS_CLIENTS_MAKE_OPTS+=vlan-mgr=y endif +ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-netlink),) +NSS_CLIENTS_MAKE_OPTS+=netlink=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc),) +NSS_CLIENTS_MAKE_OPTS+=qdisc=y +endif + ifeq ($(CONFIG_TARGET_BOARD), "ipq807x") SOC="ipq807x_64" else ifeq ($(CONFIG_TARGET_BOARD), "ipq60xx") @@ -87,16 +131,18 @@ else ifeq ($(CONFIG_TARGET_BOARD), "ipq60xx") endif define Build/Compile - $(MAKE) -C "$(LINUX_DIR)" $(strip $(NSS_CLIENTS_MAKE_OPTS)) \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - ARCH="$(LINUX_KARCH)" \ - M="$(PKG_BUILD_DIR)" \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ - SoC=$(SOC) \ - $(KERNEL_MAKE_FLAGS) \ - modules + +$(MAKE) -C "$(LINUX_DIR)" $(strip $(NSS_CLIENTS_MAKE_OPTS)) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + M="$(PKG_BUILD_DIR)" \ + EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ + SoC=$(SOC) \ + $(KERNEL_MAKE_FLAGS) \ + modules endef $(eval $(call KernelPackage,qca-nss-drv-pppoe)) $(eval $(call KernelPackage,qca-nss-drv-bridge-mgr)) -$(eval $(call KernelPackage,qca-nss-drv-vlan-mgr)) \ No newline at end of file +$(eval $(call KernelPackage,qca-nss-drv-vlan-mgr)) +$(eval $(call KernelPackage,qca-nss-drv-qdisc)) +$(eval $(call KernelPackage,qca-nss-drv-netlink)) diff --git a/qca/qca-nss-ecm/Makefile b/qca/qca-nss-ecm/Makefile index 889bc92..56cfe52 100644 --- a/qca/qca-nss-ecm/Makefile +++ b/qca/qca-nss-ecm/Makefile @@ -27,7 +27,11 @@ define KernelPackage/qca-nss-ecm +kmod-ipt-physdev \ +kmod-ppp \ +kmod-pppoe \ - +kmod-qca-mcs + +kmod-pptp \ + +kmod-pppol2tp \ + +kmod-bonding \ + +kmod-qca-mcs \ + +kmod-nat46 TITLE:=QCA NSS Enhanced Connection Manager (ECM) FILES:=$(PKG_BUILD_DIR)/ecm.ko KCONFIG:=CONFIG_BRIDGE_NETFILTER=y \ @@ -51,24 +55,17 @@ define KernelPackage/qca-nss-ecm/install echo 'net.netfilter.nf_conntrack_max=8192' >> $(1)/etc/sysctl.d/qca-nss-ecm.conf endef -EXTRA_CFLAGS+=-I$(STAGING_DIR)/usr/include/qca-nss-drv +EXTRA_CFLAGS+= \ + -I$(STAGING_DIR)/usr/include/qca-nss-drv \ + -I$(STAGING_DIR)/usr/include/qca-mcs \ + -I$(STAGING_DIR)/usr/include/nat46 ifneq (, $(findstring $(CONFIG_TARGET_BOARD), "ipq807x" "ipq60xx")) -ECM_MAKE_OPTS:=ECM_IPV6_ENABLE=y ECM_MAKE_OPTS+=ECM_FRONT_END_NSS_ENABLE=y \ ECM_FRONT_END_SFE_ENABLE=n \ ECM_NON_PORTED_SUPPORT_ENABLE=y \ - ECM_MULTICAST_ENABLE=n \ - ECM_INTERFACE_BOND_ENABLE=n \ - ECM_INTERFACE_IPSEC_ENABLE=n \ - ECM_INTERFACE_PPTP_ENABLE=n \ - ECM_INTERFACE_PPPOE_ENABLE=y \ - ECM_INTERFACE_L2TPV2_ENABLE=n \ - ECM_INTERFACE_GRE_TAP_ENABLE=n \ - ECM_INTERFACE_GRE_TUN_ENABLE=n \ - ECM_INTERFACE_SIT_ENABLE=n \ - ECM_INTERFACE_TUNIPIP6_ENABLE=n \ - ECM_INTERFACE_RAWIP_ENABLE=n \ + ECM_INTERFACE_BOND_ENABLE=y \ + ECM_INTERFACE_RAWIP_ENABLE=y \ ECM_INTERFACE_VLAN_ENABLE=y \ ECM_CLASSIFIER_MARK_ENABLE=y \ ECM_CLASSIFIER_DSCP_ENABLE=y \ @@ -82,7 +79,6 @@ $(call KernelPackage/qca-nss-ecm) TITLE+= (with noload features) PROVIDES:=kmod-qca-nss-ecm VARIANT:=noload - DEPENDS+=+kmod-bonding endef define KernelPackage/qca-nss-ecm-noload/Description @@ -91,7 +87,7 @@ define KernelPackage/qca-nss-ecm-noload/Description endef define KernelPackage/qca-nss-ecm-noload/install -$(call KernelPackage/qca-nss-ecm/install, $(1)) + $(call KernelPackage/qca-nss-ecm/install, $(1)) # # Remove the START line from the init script, so that the symlink # in the /etc/rc.d directory is not created. @@ -99,10 +95,71 @@ $(call KernelPackage/qca-nss-ecm/install, $(1)) sed -i '/START=/d' $(1)/etc/init.d/qca-nss-ecm endef +# Disable ECM IPv6 support when global IPv6 support is disabled. +ifneq ($(CONFIG_IPV6),) +ECM_MAKE_OPTS+=ECM_IPV6_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-ovpn-link),) +ECM_MAKE_OPTS+=ECM_INTERFACE_OVPN_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-vxlanmgr),) +ECM_MAKE_OPTS+=ECM_INTERFACE_VXLAN_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-qca-ovsmgr),) +ECM_MAKE_OPTS+=ECM_INTERFACE_OVS_BRIDGE_ENABLE=y \ + ECM_CLASSIFIER_OVS_ENABLE=y +EXTRA_CFLAGS+= -I$(STAGING_DIR)/usr/include/qca-ovsmgr +endif + +ifneq ($(CONFIG_PACKAGE_kmod-macvlan),) +ECM_MAKE_OPTS+=ECM_INTERFACE_MACVLAN_ENABLE=y +endif + + ifneq ($(CONFIG_PACKAGE_kmod-qca-mcs),) ECM_MAKE_OPTS+=ECM_MULTICAST_ENABLE=y endif +ifneq ($(CONFIG_PACKAGE_kmod-nat46),) +ECM_MAKE_OPTS+=ECM_INTERFACE_MAP_T_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-pppoe),) +ECM_MAKE_OPTS+=ECM_INTERFACE_PPPOE_ENABLE=y \ + ECM_INTERFACE_PPTP_ENABLE=y \ + ECM_INTERFACE_PPP_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-pppoe),) +ECM_MAKE_OPTS+=ECM_INTERFACE_PPPOE_ENABLE=y \ + ECM_INTERFACE_PPTP_ENABLE=y \ + ECM_INTERFACE_PPP_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-pppol2tp),) +ECM_MAKE_OPTS+=ECM_INTERFACE_L2TPV2_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-gre)$(CONFIG_PACKAGE_kmod-gre6),) +ECM_MAKE_OPTS+=ECM_INTERFACE_GRE_TAP_ENABLE=y \ + ECM_INTERFACE_GRE_TUN_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-sit),) +ECM_MAKE_OPTS+=ECM_INTERFACE_SIT_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-ip6-tunnel),) +ECM_MAKE_OPTS+=ECM_INTERFACE_TUNIPIP6_ENABLE=y +endif + +ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-drv-mscs),) +ECM_MAKE_OPTS+=ECM_CLASSIFIER_MSCS_ENABLE=y +endif + define Build/InstallDev mkdir -p $(1)/usr/include/qca-nss-ecm $(CP) $(PKG_BUILD_DIR)/exports/* $(1)/usr/include/qca-nss-ecm