Skip to content
Snippets Groups Projects
Commit cbb62ebb authored by Mathieu Olivari's avatar Mathieu Olivari
Browse files

[qca-nss-*] Import all NSS components from openwrt.git


Change-Id: Ic7c035a6d7c9fc7fc7acca780b40d72b3760fdf2
Signed-off-by: default avatarMathieu Olivari <mathieu@codeaurora.org>
parents
No related merge requests found
#
# Copyright (c) 2013 The Linux Foundation. All rights reserved.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=qca-nss-cfi
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
include $(INCLUDE_DIR)/local-development.mk
ifeq ($(DUMP)$(PKG_VERSION),)
PKG_VERSION:=$(shell git ls-remote $(PKG_SOURCE_URL) $(PKG_BRANCH) | cut -b -7)
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
PKG_BUILD_DEPEND:=ocf-crypto-headers
define KernelPackage/qca-nss-cfi
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
DEPENDS:=@TARGET_ipq806x +kmod-qca-nss-crypto +kmod-crypto-ocf
TITLE:=Kernel driver for NSS cfi
FILES:=$(PKG_BUILD_DIR)/ocf/qca-nss-cfi-ocf.ko \
$(PKG_BUILD_DIR)/ipsec/qca-nss-ipsec.ko
AUTOLOAD:=$(call AutoLoad,34,qca-nss-cfi-ocf)
endef
define KernelPackage/qca-nss-cfi/Description
This package contains a NSS cfi driver for QCA chipset
endef
EXTRA_CFLAGS+= \
-DCONFIG_NSS_DEBUG_LEVEL=4 \
-I$(STAGING_DIR)/usr/include/qca-nss-crypto \
-I$(STAGING_DIR)/usr/include/crypto \
-I$(STAGING_DIR)/usr/include/qca-nss-drv \
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
CC="$(TARGET_CC)" \
modules
endef
$(eval $(call KernelPackage,qca-nss-cfi))
#
# Copyright (c) 2013 The Linux Foundation. All rights reserved.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=qca-nss-crypto
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
include $(INCLUDE_DIR)/local-development.mk
ifeq ($(DUMP)$(PKG_VERSION),)
PKG_VERSION:=$(shell git ls-remote $(PKG_SOURCE_URL) $(PKG_BRANCH) | cut -b -7)
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define KernelPackage/qca-nss-crypto
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
DEPENDS:=@TARGET_ipq806x +kmod-qca-nss-drv
TITLE:=Kernel driver for NSS crypto
FILES:=$(PKG_BUILD_DIR)/src/qca-nss-crypto.ko \
$(PKG_BUILD_DIR)/tool/qca-nss-crypto-tool.ko
AUTOLOAD:=$(call AutoLoad,33,qca-nss-crypto qca-nss-crypto-tool)
endef
define KernelPackage/qca-nss-crypto/Description
This package contains a NSS crypto driver for QCA chipset
endef
define Build/InstallDev
mkdir -p $(1)/usr/include/qca-nss-crypto
$(CP) $(PKG_BUILD_DIR)/include/nss_crypto_if.h $(1)/usr/include/qca-nss-crypto/
endef
EXTRA_CFLAGS+= \
-DCONFIG_NSS_DEBUG_LEVEL=4 \
-I$(STAGING_DIR)/usr/include/qca-nss-crypto \
-I$(STAGING_DIR)/usr/include/qca-nss-drv \
-I$(PKG_BUILD_DIR)/include \
-I$(PKG_BUILD_DIR)/src
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CC="$(TARGET_CC)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
modules
endef
$(eval $(call KernelPackage,qca-nss-crypto))
#
# Copyright (c) 2013 The Linux Foundation. All rights reserved.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=qca-nss-drv
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
include $(INCLUDE_DIR)/local-development.mk
ifeq ($(DUMP)$(PKG_VERSION),)
PKG_VERSION:=$(shell git ls-remote $(PKG_SOURCE_URL) $(PKG_BRANCH) | cut -b -7)
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define KernelPackage/qca-nss-drv
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
DEPENDS:=@TARGET_ipq806x qca-nss-fw
TITLE:=Kernel driver for NSS (core driver)
FILES:=$(PKG_BUILD_DIR)/qca-nss-drv.ko
AUTOLOAD:=$(call AutoLoad,31,qca-nss-drv)
endef
define KernelPackage/qca-nss-drv/Description
This package contains a NSS driver for QCA chipset
endef
define KernelPackage/qca-nss-connmgr/Default
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
TITLE:=Kernel driver for NSS (connection manager)
DEPENDS:=kmod-qca-nss-drv +iptables-mod-extra
FILES:=$(PKG_BUILD_DIR)/qca-nss-connmgr-ipv4.ko $(PKG_BUILD_DIR)/qca-nss-connmgr-ipv6.ko
KCONFIG:=CONFIG_BRIDGE_NETFILTER=y
endef
define KernelPackage/qca-nss-connmgr/Description/Default
Kernel modules for NSS connection manager
endef
define KernelPackage/qca-nss-connmgr/Default/install
$(INSTALL_DIR) $(1)/etc/firewall.d $(1)/etc/init.d
$(INSTALL_DATA) ./files/qca-nss-connmgr.firewall $(1)/etc/firewall.d/qca-nss-connmgr
$(INSTALL_BIN) ./files/qca-nss-connmgr.init $(1)/etc/init.d/qca-nss-connmgr
endef
define KernelPackage/qca-nss-connmgr
$(call KernelPackage/qca-nss-connmgr/Default)
endef
define KernelPackage/qca-nss-connmgr/Description
$(call KernelPackage/qca-nss-connmgr/Description/Default)
endef
define KernelPackage/qca-nss-connmgr/install
$(call KernelPackage/qca-nss-connmgr/Default/install, $(1))
$(INSTALL_DIR) $(1)/etc/uci-defaults $(1)/etc/sysctl.d
$(INSTALL_DATA) ./files/qca-nss-connmgr.defaults $(1)/etc/uci-defaults/99-qca-nss-connmgr
$(INSTALL_BIN) ./files/qca-nss-connmgr.sysctl $(1)/etc/sysctl.d/qca-nss-connmgr.conf
# install service by default
$(INSTALL_DIR) $(1)/etc/rc.d
$(LN) ../init.d/qca-nss-connmgr $(1)/etc/rc.d/S70qca-nss-connmgr
endef
define KernelPackage/qca-nss-connmgr-noload
$(call KernelPackage/qca-nss-connmgr/Default)
PROVIDES:=kmod-qca-nss-connmgr
endef
define KernelPackage/qca-nss-connmgr-noload/Description
$(call KernelPackage/qca-nss-connmgr/Description/Default)
When selected, this package installs the driver but does not load it at init.
endef
define KernelPackage/qca-nss-connmgr-noload/install
$(call KernelPackage/qca-nss-connmgr/Default/install,$(1))
endef
define KernelPackage/qca-nss-tun6rd
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
TITLE:=Kernel driver for NSS (connection manager) - tun6rd
DEPENDS:=kmod-qca-nss-drv +kmod-qca-nss-connmgr +kmod-sit
FILES:=$(PKG_BUILD_DIR)/qca-nss-tun6rd.ko
AUTOLOAD:=$(call AutoLoad,51,qca-nss-tun6rd)
endef
define KernelPackage/qca-nss-tun6rd/Description
Kernel modules for NSS connection manager - Support for 6rd tunnel
endef
define KernelPackage/qca-nss-tunipip6
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
TITLE:=Kernel driver for NSS (connection manager) - DS-lite and ipip6 Tunnel
DEPENDS:=kmod-qca-nss-drv +kmod-qca-nss-connmgr +kmod-iptunnel6 +kmod-ip6-tunnel
FILES:=$(PKG_BUILD_DIR)/qca-nss-tunipip6.ko
AUTOLOAD:=$(call AutoLoad,51,qca-nss-tunipip6)
endef
define KernelPackage/qca-nss-tunipip6/Description
Kernel modules for NSS connection manager
Add support for DS-lite and ipip6 tunnel
endef
define KernelPackage/qca-nss-connmgr/postinst
#!/bin/sh
if [ -z "$$IPKG_INSTROOT" ]; then
( . /etc/uci-defaults/99-qca-nss-connmgr )
rm -f /etc/uci-defaults/99-qca-nss-connmgr
fi
exit 0
endef
define KernelPackage/qca-nss-profile-drv
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
DEPENDS:=kmod-qca-nss-drv
TITLE:=Profiler for QCA NSS driver (IPQ806x)
FILES:=$(PKG_BUILD_DIR)/profiler/qca-nss-profile-drv.ko
endef
define KernelPackage/qca-nss-profile-drv/Description
This package contains a NSS driver profiler for QCA chipset
endef
define Build/InstallDev
mkdir -p $(1)/usr/include/qca-nss-drv
$(CP) $(PKG_BUILD_DIR)/exports/* $(1)/usr/include/qca-nss-drv/
endef
define KernelPackage/qca-nss-qdisc
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Support
TITLE:=Qdisc for configuring shapers in NSS
DEPENDS:=kmod-qca-nss-drv
FILES:=$(PKG_BUILD_DIR)/qca-nss-qdisc.ko
endef
define KernelPackage/qca-nss-qdisc/Description
Linux qdisc that aids in configuring shapers in the NSS
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
modules
endef
$(eval $(call KernelPackage,qca-nss-profile-drv))
$(eval $(call KernelPackage,qca-nss-drv))
$(eval $(call KernelPackage,qca-nss-connmgr))
$(eval $(call KernelPackage,qca-nss-connmgr-noload))
$(eval $(call KernelPackage,qca-nss-tun6rd))
$(eval $(call KernelPackage,qca-nss-tunipip6))
$(eval $(call KernelPackage,qca-nss-qdisc))
#!/bin/sh
uci -q batch << EOF
delete firewall.qcanssconnmgr
set firewall.qcanssconnmgr=include
set firewall.qcanssconnmgr.type=script
set firewall.qcanssconnmgr.path=/etc/firewall.d/qca-nss-connmgr
set firewall.qcanssconnmgr.family=any
set firewall.qcanssconnmgr.reload=1
commit firewall
EOF
exit 0
#!/bin/sh
. /lib/functions.sh
include /lib/firewall
fw add i f forwarding_rule ACCEPT { -m physdev --physdev-is-bridged }
#!/bin/sh /etc/rc.common
#
# Copyright (c) 2013 The Linux Foundation. All rights reserved.
#
# The shebang above has an extra space intentially to avoid having
# openwrt build scripts automatically enable this package starting
# at boot.
START=70
load_nss_connmgr() {
[ -d /sys/module/qca_nss_connmgr_ipv4 ] || insmod qca-nss-connmgr-ipv4
[ -d /sys/module/qca_nss_connmgr_ipv6 ] || insmod qca-nss-connmgr-ipv6
sysctl -w net.bridge.bridge-nf-call-ip6tables=1
sysctl -w net.bridge.bridge-nf-call-iptables=1
}
unload_nss_connmgr() {
[ -d /sys/module/qca_nss_connmgr_ipv6 ] && {
echo 1 > /sys/nom_v6/stop
sleep 1
echo f > /proc/net/nf_conntrack
sleep 3
echo 1 > /sys/nom_v6/terminate
sleep 2
rmmod qca_nss_connmgr_ipv6
}
[ -d /sys/module/qca_nss_connmgr_ipv4 ] && {
echo 1 > /sys/nom_v4/stop
sleep 1
echo f > /proc/net/nf_conntrack
sleep 3
echo 1 > /sys/nom_v4/terminate
sleep 2
rmmod qca_nss_connmgr_ipv4
}
sysctl -w net.bridge.bridge-nf-call-ip6tables=0
sysctl -w net.bridge.bridge-nf-call-iptables=0
}
start() {
load_nss_connmgr
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.d/qca-nss-connmgr.conf
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.d/qca-nss-connmgr.conf
}
stop() {
unload_nss_connmgr
sed '/net.bridge.bridge-nf-call-ip6tables=1/d' -i /etc/sysctl.d/qca-nss-connmgr.conf
sed '/net.bridge.bridge-nf-call-iptables=1/d' -i /etc/sysctl.d/qca-nss-connmgr.conf
}
# enable bridge nf options so the nss conntrack can detect these
dev.nss.general.redirect=1
#
# Copyright (c) 2013 The Linux Foundation. All rights reserved.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=qca-nss-gmac
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
include $(INCLUDE_DIR)/local-development.mk
ifeq ($(DUMP)$(PKG_VERSION),)
PKG_VERSION:=$(shell git ls-remote $(PKG_SOURCE_URL) $(PKG_BRANCH) | cut -b -7)
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define KernelPackage/qca-nss-gmac
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
DEPENDS:=@TARGET_ipq806x +kmod-qca-nss-drv
TITLE:=Kernel driver for NSS gmac
FILES:=$(PKG_BUILD_DIR)/ipq806x/qca-nss-gmac.ko
AUTOLOAD:=$(call AutoLoad,32,qca-nss-gmac)
endef
define KernelPackage/qca-nss-gmac/Description
This package contains a NSS driver for QCA chipset
endef
EXTRA_CFLAGS+= \
-DCONFIG_NSS_DEBUG_LEVEL=4 \
-I$(STAGING_DIR)/usr/include/qca-nss-drv \
-I$(PKG_BUILD_DIR)/nss_hal/include \
-I$(PKG_BUILD_DIR)/nss_hal/$(BOARD)
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
modules
endef
$(eval $(call KernelPackage,qca-nss-gmac))
#
# Copyright (c) 2014 The Linux Foundation. All rights reserved.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=qca-nss-macsec
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
include $(INCLUDE_DIR)/local-development.mk
ifeq ($(DUMP)$(PKG_VERSION),)
PKG_VERSION:=$(shell git ls-remote $(PKG_SOURCE_URL) $(PKG_BRANCH) | cut -b -7)
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define KernelPackage/qca-nss-macsec
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
DEPENDS:=@TARGET_ipq806x +kmod-qca-nss-gmac +libpthread
TITLE:=Kernel driver for NSS macsec
FILES:=$(PKG_BUILD_DIR)/qca-nss-macsec.ko
AUTOLOAD:=$(call AutoLoad,33,qca-nss-macsec)
endef
define KernelPackage/qca-nss-macsec/Description
This package contains a MACSEC driver for QCA chipset
endef
QCA_NSS_MACSEC_CONFIG_OPTS+= TOOL_PATH=$(TOOLCHAIN_DIR)/bin/ \
SYS_PATH=$(LINUX_DIR) \
TOOLPREFIX=$(TARGET_CROSS) \
KVER=$(LINUX_VERSION) \
ARCH=$(LINUX_KARCH)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/qca-nss-macsec
$(CP) $(PKG_BUILD_DIR)/include/nss_macsec_types.h $(1)/usr/include/qca-nss-macsec
$(CP) $(PKG_BUILD_DIR)/include/nss_macsec_secy.h $(1)/usr/include/qca-nss-macsec
$(CP) $(PKG_BUILD_DIR)/include/nss_macsec_secy_rx.h $(1)/usr/include/qca-nss-macsec
$(CP) $(PKG_BUILD_DIR)/include/nss_macsec_secy_tx.h $(1)/usr/include/qca-nss-macsec
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
modules
$(MAKE) -C $(PKG_BUILD_DIR) $(strip $(QCA_NSS_MACSEC_CONFIG_OPTS)) -f Makefile.shell
endef
define KernelPackage/qca-nss-macsec/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/*.so $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/macsec_shell $(1)/usr/sbin/
endef
$(eval $(call KernelPackage,qca-nss-macsec))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment