1include $(TOPDIR)/rules.mk
2
3PKG_NAME:=qdiscman
4PKG_SOURCE_PROTO:=git
5PKG_SOURCE_URL:=ssh://qca-git01.qualcomm.com:29418/streamboost/$(PKG_NAME).git
6PKG_BRANCH:=banana
7PKG_RELEASE:=1
8
9include $(INCLUDE_DIR)/local-development.mk
10ifeq ($(DUMP)$(PKG_VERSION),)
11PKG_REV:=f802571
12PKG_VERSION:=gf802571
13endif
14PKG_START_ORDER:=40
15
16PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
18PKG_SOURCE_VERSION:=$(PKG_REV)
19PKG_SOURCE_MIRROR:=none
20
21PKG_BUILD_DEPENDS:=argp-standalone
22
23include $(INCLUDE_DIR)/package-version-override.mk
24include $(INCLUDE_DIR)/package.mk
25
26# use SPACES here instead of tabs
27define Package/$(PKG_NAME)
28  CATEGORY:=Bigfoot
29  SUBMENU:=Flow Detect
30  TITLE:=StreamBoost to Netlink interface
31  DEPENDS:=+libsbdaemon +hiredis +libevent2-core +libnl-bf +libpthread +tc \
32	+iptables-mod-conntrack-extra +iptables-mod-ipopt \
33	+kmod-sched +kmod-sched-connmark +kmod-ipt-ipopt \
34	+iptables-mod-mark2prio +guest_dhcp
35  MAINTAINER:=Nic Costa <ncosta@qca.qualcomm.com>
36  KCONFIG:= \
37	CONFIG_BRIDGE_IGMP_SNOOPING=y \
38	CONFIG_NETFILTER=y \
39	CONFIG_NETFILTER_ADVANCED=y \
40	CONFIG_NETFILTER_NETLINK=m \
41	CONFIG_NETFILTER_XTABLES=m \
42	CONFIG_NETFILTER_XT_CONNMARK=m \
43	CONFIG_NETFILTER_XT_MARK=m \
44	CONFIG_NETFILTER_XT_MATCH_COMMENT=m \
45	CONFIG_NETFILTER_XT_MATCH_CONNMARK=m \
46	CONFIG_NETFILTER_XT_MATCH_MARK=m \
47	CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m \
48	CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m \
49	CONFIG_NETFILTER_XT_TARGET_CONNMARK=m \
50	CONFIG_NETFILTER_XT_TARGET_MARK=m \
51	CONFIG_NET_SCHED=m \
52	CONFIG_NET_SCH_CODEL=m \
53	CONFIG_NET_SCH_FQ_CODEL=m \
54	CONFIG_NET_SCH_HFSC=m \
55	CONFIG_NET_SCH_PRIO=m \
56	CONFIG_NET_SCH_SFQ=m \
57	CONFIG_NF_CONNTRACK=m \
58	CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \
59	CONFIG_NF_CONNTRACK_EVENTS=y \
60	CONFIG_NF_CONNTRACK_FTP=m \
61	CONFIG_NF_CONNTRACK_H323=m \
62	CONFIG_NF_CONNTRACK_IRC=m \
63	CONFIG_NF_CONNTRACK_MARK=y \
64	CONFIG_NF_CONNTRACK_PPTP=m \
65	CONFIG_NF_CONNTRACK_SIP=m \
66	CONFIG_NF_CT_NETLINK=m \
67	CONFIG_NF_CT_PROTO_GRE=m
68endef
69
70define Package/$(PKG_NAME)/description
71Qdiscman receives flow policy information from the oversub pubsub channel and implements the policy into the appropriate network qdisc structures.
72endef
73
74# https://forum.openwrt.org/viewtopic.php?id=21953
75TARGET_CFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
76
77# use TABs here instead of spaces
78MAKE_FLAGS += \
79	LDLIBS+="-largp" \
80	CFLAGS="-I$(STAGING_DIR)/usr/include/libnl3 -I$(STAGING_DIR)/usr/include $(TARGET_CFLAGS)"
81
82# TABS
83define Package/$(PKG_NAME)/install
84	$(INSTALL_DIR) $(1)/etc
85	$(INSTALL_DIR) $(1)/etc/appflow
86	$(INSTALL_DIR) $(1)/etc/appflow/streamboost.d
87	$(INSTALL_DIR) $(1)/usr/sbin
88	$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME)     $(1)/usr/sbin/
89	$(INSTALL_BIN) ./files/$(PKG_NAME).init         $(1)/etc/appflow/streamboost.d/${PKG_START_ORDER}_$(PKG_NAME)
90	$(INSTALL_BIN) ./files/classids.sh		$(1)/etc/appflow/
91	$(INSTALL_BIN) ./files/qdiscman.sh		$(1)/etc/appflow/
92	$(INSTALL_BIN) ./files/qdiscman-nss.sh		$(1)/etc/appflow/
93endef
94
95# NO TABS, NO SPACES
96$(eval $(call BuildPackage,$(PKG_NAME)))
97