blob: 8d3d02f892da4cb51436e6afcc875ed1f3bff2e6 [file] [log] [blame]
Googler298baf22022-08-01 19:58:45 -07001##########################################################################
2# Copyright (c) 2014-2016, 2018-2021, The Linux Foundation. All rights reserved.
3# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4#
5# Permission to use, copy, modify, and/or distribute this software for
6# any purpose with or without fee is hereby granted, provided that the
7# above copyright notice and this permission notice appear in all copies.
8#
9# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
15# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16##########################################################################
17
18# ###################################################
19# Makefile for the QCA NSS ECM
20# ###################################################
21
22ifeq ($(ECM_FRONT_END_SFE_ENABLE), y)
23obj-m += examples/ecm_sfe_l2.o
24endif
25obj-m +=examples/ecm_ae_select.o
26
27obj-m += ecm.o
28ifeq ($(BUILD_ECM_WIFI_PLUGIN),y)
29obj-m += ecm_wifi_plugins/
30endif
31
32# #####################################################
33# Example builds.
34# Enable example build by using the menuconfig options.
35# #####################################################
36ifeq ($(EXAMPLES_BUILD_PCC),y)
37obj-m += examples/ecm_pcc_test.o
38endif
39ifeq ($(EXAMPLES_BUILD_MARK),y)
40obj-m += examples/ecm_mark_test.o
41endif
42ifeq ($(EXAMPLES_BUILD_OVS),y)
43obj-m += examples/ecm_ovs.o
44endif
45
46ecm-y := \
47 frontends/cmn/ecm_ae_classifier.o \
48 frontends/cmn/ecm_ipv4.o \
49 frontends/cmn/ecm_ported_ipv4.o \
50 ecm_tracker_udp.o \
51 ecm_tracker_tcp.o \
52 ecm_tracker_datagram.o \
53 ecm_tracker.o \
54 frontends/ecm_front_end_ipv4.o \
55 frontends/ecm_front_end_common.o \
56 ecm_db/ecm_db.o \
57 ecm_db/ecm_db_connection.o \
58 ecm_db/ecm_db_mapping.o \
59 ecm_db/ecm_db_host.o \
60 ecm_db/ecm_db_node.o \
61 ecm_db/ecm_db_iface.o \
62 ecm_db/ecm_db_listener.o \
63 ecm_db/ecm_db_timer.o \
64 ecm_classifier.o \
65 ecm_classifier_default.o \
66 ecm_interface.o \
67 ecm_conntrack_notifier.o \
68 ecm_init.o \
69 ecm_notifier.o
70
71ecm-$(ECM_IPV6_ENABLE) += frontends/ecm_front_end_ipv6.o
72ecm-$(ECM_IPV6_ENABLE) += frontends/cmn/ecm_ipv6.o
73ecm-$(ECM_IPV6_ENABLE) += frontends/cmn/ecm_ported_ipv6.o
74ecm-$(ECM_NON_PORTED_SUPPORT_ENABLE) += frontends/cmn/ecm_non_ported_ipv4.o
75ifeq ($(ECM_NON_PORTED_SUPPORT_ENABLE), y)
76ecm-$(ECM_IPV6_ENABLE) += frontends/cmn/ecm_non_ported_ipv6.o
77endif
78ifeq ($(ECM_FRONT_END_NSS_ENABLE), y)
79ecm-$(ECM_MULTICAST_ENABLE) += frontends/cmn/ecm_multicast_ipv4.o
80ifeq ($(ECM_IPV6_ENABLE), y)
81ecm-$(ECM_MULTICAST_ENABLE) += frontends/cmn/ecm_multicast_ipv6.o
82endif
83endif
84
85# #############################################################################
86# Define ECM_FRONT_END_NSS_ENABLE=y in order to select
87# nss as ECM's front end.
88# #############################################################################
89ecm-$(ECM_FRONT_END_NSS_ENABLE) += frontends/nss/ecm_nss_common.o
90ecm-$(ECM_FRONT_END_NSS_ENABLE) += frontends/nss/ecm_nss_ipv4.o
91ecm-$(ECM_FRONT_END_NSS_ENABLE) += frontends/nss/ecm_nss_ported_ipv4.o
92ccflags-$(ECM_FRONT_END_NSS_ENABLE) += -DECM_FRONT_END_NSS_ENABLE
93
94# #############################################################################
95# Define ECM_FRONT_END_SFE_ENABLE=y in order to select
96# sfe as ECM's front end.
97# #############################################################################
98ecm-$(ECM_FRONT_END_SFE_ENABLE) += frontends/sfe/ecm_sfe_common.o
99ecm-$(ECM_FRONT_END_SFE_ENABLE) += frontends/sfe/ecm_sfe_ipv4.o
100ecm-$(ECM_FRONT_END_SFE_ENABLE) += frontends/sfe/ecm_sfe_ported_ipv4.o
101ccflags-$(ECM_FRONT_END_SFE_ENABLE) += -DECM_FRONT_END_SFE_ENABLE
102
103# #############################################################################
104# Define ECM_FRONT_END_CONN_LIMIT_ENABLE=y in order to limit accelerated
105# connections for low-memory profiles.
106# #############################################################################
107ccflags-$(ECM_FRONT_END_CONN_LIMIT_ENABLE) += -DECM_FRONT_END_CONN_LIMIT_ENABLE
108
109# #############################################################################
110# Define ECM_INTERFACE_BOND_ENABLE=y in order to enable
111# Bonding / Link Aggregation support.
112# #############################################################################
113ecm-$(ECM_INTERFACE_BOND_ENABLE) += frontends/cmn/ecm_bond_notifier.o
114ccflags-$(ECM_INTERFACE_BOND_ENABLE) += -DECM_INTERFACE_BOND_ENABLE
115
116# #############################################################################
117# Define ECM_INTERFACE_PPPOE_ENABLE=y in order
118# to enable support for PPPoE acceleration.
119# #############################################################################
120ccflags-$(ECM_INTERFACE_PPPOE_ENABLE) += -DECM_INTERFACE_PPPOE_ENABLE
121
122# #############################################################################
123# Define ECM_INTERFACE_L2TPV2_ENABLE=y in order
124# to enable support for l2tpv2 acceleration.
125# #############################################################################
126ccflags-$(ECM_INTERFACE_L2TPV2_ENABLE) += -DECM_INTERFACE_L2TPV2_ENABLE
127
128# #############################################################################
129# Define ECM_INTERFACE_PPTP_ENABLE=y in order
130# to enable support for pptp acceleration.
131# #############################################################################
132ccflags-$(ECM_INTERFACE_PPTP_ENABLE) += -DECM_INTERFACE_PPTP_ENABLE
133
134# #############################################################################
135# if pppoe, l2tpv2, pptp acceleration is enabled, ppp should
136# be enabled automatically
137# #############################################################################
138ECM_INTERFACE_PPP_ENABLE=y
139ifeq "$(ECM_INTERFACE_PPPOE_ENABLE)" "n"
140ifeq "$(ECM_INTERFACE_L2TPV2_ENABLE)" "n"
141ifeq "$(ECM_INTERFACE_PPTP_ENABLE)" "n"
142ECM_INTERFACE_PPP_ENABLE=n
143endif
144endif
145endif
146ccflags-$(ECM_INTERFACE_PPP_ENABLE) += -DECM_INTERFACE_PPP_ENABLE
147
148# #############################################################################
149# Define ECM_INTERFACE_GRE_TAP_ENABLE=y in order
150# to enable support for GRE TAP interface.
151# #############################################################################
152ccflags-$(ECM_INTERFACE_GRE_TAP_ENABLE) += -DECM_INTERFACE_GRE_TAP_ENABLE
153
154# #############################################################################
155# Define ECM_INTERFACE_GRE_TUN_ENABLE=y in order
156# to enable support for GRE TUN interface.
157# #############################################################################
158ccflags-$(ECM_INTERFACE_GRE_TUN_ENABLE) += -DECM_INTERFACE_GRE_TUN_ENABLE
159
160ifeq ($(ECM_IPV6_ENABLE), y)
161# #############################################################################
162# Define ECM_INTERFACE_SIT_ENABLE=y in order
163# to enable support for SIT interface.
164# #############################################################################
165ccflags-$(ECM_INTERFACE_SIT_ENABLE) += -DECM_INTERFACE_SIT_ENABLE
166
167# #############################################################################
168# Define ECM_INTERFACE_TUNIPIP6_ENABLE=y in order
169# to enable support for TUNIPIP6 interface.
170# #############################################################################
171ccflags-$(ECM_INTERFACE_TUNIPIP6_ENABLE) += -DECM_INTERFACE_TUNIPIP6_ENABLE
172
173# #############################################################################
174# Define ECM_INTERFACE_MAP_T_ENABLE=y in order
175# to enable support for MAP-T interface.
176# #############################################################################
177ccflags-$(ECM_INTERFACE_MAP_T_ENABLE) += -DECM_INTERFACE_MAP_T_ENABLE
178endif
179
180# #############################################################################
181# Define ECM_INTERFACE_RAWIP_ENABLE=y in order
182# to enable support for RAWIP interface.
183# #############################################################################
184ccflags-$(ECM_INTERFACE_RAWIP_ENABLE) += -DECM_INTERFACE_RAWIP_ENABLE
185
186# #############################################################################
187# Define ECM_INTERFACE_VXLAN_ENABLE=y in order
188# to enable support for VxLAN interface.
189# #############################################################################
190ccflags-$(ECM_INTERFACE_VXLAN_ENABLE) += -DECM_INTERFACE_VXLAN_ENABLE
191
192# #############################################################################
193# Define ECM_IPV6_ENABLE=y in order to enable IPv6 support in the ECM.
194# #############################################################################
195ccflags-$(ECM_IPV6_ENABLE) += -DECM_IPV6_ENABLE
196
197# #############################################################################
198# Define ECM_MULTICAST_ENABLE=y in order to enable support for ECM Multicast
199# #############################################################################
200ifeq ($(ECM_FRONT_END_NSS_ENABLE), y)
201ecm-$(ECM_MULTICAST_ENABLE) += frontends/nss/ecm_nss_multicast_ipv4.o
202ifeq ($(ECM_IPV6_ENABLE), y)
203ecm-$(ECM_MULTICAST_ENABLE) += frontends/nss/ecm_nss_multicast_ipv6.o
204endif
205ecm-$(ECM_MULTICAST_ENABLE) += ecm_db/ecm_db_multicast.o
206ccflags-$(ECM_MULTICAST_ENABLE) += -DECM_MULTICAST_ENABLE
207endif
208
209# #############################################################################
210# Define ECM_XFRM_ENABLE=y in order to enable
211# #############################################################################
212ifeq ($(ECM_FRONT_END_NSS_ENABLE), y)
213ccflags-$(ECM_XFRM_ENABLE) += -DECM_XFRM_ENABLE
214endif
215
216# #############################################################################
217# Define ECM_INTERFACE_OVS_BRIDGE_ENABLE=y in order to enable support for OVS
218# #############################################################################
219ccflags-$(ECM_INTERFACE_OVS_BRIDGE_ENABLE) += -DECM_INTERFACE_OVS_BRIDGE_ENABLE
220
221# #############################################################################
222# Define ECM_INTERFACE_VLAN_ENABLE=y in order to enable support for VLAN
223# #############################################################################
224ccflags-$(ECM_INTERFACE_VLAN_ENABLE) += -DECM_INTERFACE_VLAN_ENABLE
225
226# #############################################################################
227# Define ECM_INTERFACE_MACVLAN_ENABLE=y in order to enable support for MACVLAN
228# #############################################################################
229ccflags-$(ECM_INTERFACE_MACVLAN_ENABLE) += -DECM_INTERFACE_MACVLAN_ENABLE
230
231# #############################################################################
232# Define ECM_INTERFACE_IPSEC_ENABLE=y in order to enable support for IPSEC
233# #############################################################################
234ccflags-$(ECM_INTERFACE_IPSEC_ENABLE) += -DECM_INTERFACE_IPSEC_ENABLE
235
236ECM_INTERFACE_IPSEC_GLUE_LAYER_SUPPORT_ENABLE=n
237ifeq ($(SoC),$(filter $(SoC), ipq807x ipq807x_64 ipq60xx ipq60xx_64 ipq50xx ipq50xx_64))
238ECM_INTERFACE_IPSEC_GLUE_LAYER_SUPPORT_ENABLE=$(ECM_INTERFACE_IPSEC_ENABLE)
239ccflags-$(ECM_INTERFACE_IPSEC_GLUE_LAYER_SUPPORT_ENABLE) += -DECM_INTERFACE_IPSEC_GLUE_LAYER_SUPPORT_ENABLE
240endif
241
242ifeq ($(ECM_FRONT_END_NSS_ENABLE), y)
243ecm-$(ECM_IPV6_ENABLE) += frontends/nss/ecm_nss_ipv6.o
244ecm-$(ECM_IPV6_ENABLE) += frontends/nss/ecm_nss_ported_ipv6.o
245endif
246ifeq ($(ECM_FRONT_END_SFE_ENABLE), y)
247ecm-$(ECM_IPV6_ENABLE) += frontends/sfe/ecm_sfe_ipv6.o
248ecm-$(ECM_IPV6_ENABLE) += frontends/sfe/ecm_sfe_ported_ipv6.o
249endif
250
251# #############################################################################
252# Define ECM_CLASSIFIER_OVS_ENABLE=y in order to enable ovs classifier.
253# #############################################################################
254ecm-$(ECM_CLASSIFIER_OVS_ENABLE) += ecm_classifier_ovs.o
255ccflags-$(ECM_CLASSIFIER_OVS_ENABLE) += -DECM_CLASSIFIER_OVS_ENABLE
256
257# #############################################################################
258# Define ECM_CLASSIFIER_MARK_ENABLE=y in order to enable mark classifier.
259# #############################################################################
260ECM_CLASSIFIER_MARK_ENABLE=y
261ecm-$(ECM_CLASSIFIER_MARK_ENABLE) += ecm_classifier_mark.o
262ccflags-$(ECM_CLASSIFIER_MARK_ENABLE) += -DECM_CLASSIFIER_MARK_ENABLE
263
264# #############################################################################
265# Define ECM_CLASSIFIER_MSCS_ENABLE=y in order to enable mscs flow classifier.
266# #############################################################################
267ecm-$(ECM_CLASSIFIER_MSCS_ENABLE) += ecm_classifier_mscs.o
268ccflags-$(ECM_CLASSIFIER_MSCS_ENABLE) += -DECM_CLASSIFIER_MSCS_ENABLE
269
270# #############################################################################
271# Define ECM_CLASSIFIER_NL_ENABLE=y in order to enable NL classifier.
272# #############################################################################
273ecm-$(ECM_CLASSIFIER_NL_ENABLE) += ecm_classifier_nl.o
274ccflags-$(ECM_CLASSIFIER_NL_ENABLE) += -DECM_CLASSIFIER_NL_ENABLE
275
276# #############################################################################
277# Define ECM_CLASSIFIER_DSCP_ENABLE=y in order to enable DSCP classifier.
278# #############################################################################
279ECM_CLASSIFIER_DSCP_ENABLE=y
280ecm-$(ECM_CLASSIFIER_DSCP_ENABLE) += ecm_classifier_dscp.o
281ccflags-$(ECM_CLASSIFIER_DSCP_ENABLE) += -DECM_CLASSIFIER_DSCP_ENABLE
282ccflags-$(ECM_CLASSIFIER_DSCP_IGS) += -DECM_CLASSIFIER_DSCP_IGS
283
284# #############################################################################
285# Define ECM_CLASSIFIER_HYFI_ENABLE=y in order to enable
286# the Hy-Fi classifier in ECM. Currently disabled until the integration
287# with Hy-Fi is completed.
288# #############################################################################
289#
290ecm-$(ECM_CLASSIFIER_HYFI_ENABLE) += ecm_classifier_hyfi.o
291ccflags-$(ECM_CLASSIFIER_HYFI_ENABLE) += -DECM_CLASSIFIER_HYFI_ENABLE
292
293# #############################################################################
294# Define ECM_CLASSIFIER_PCC_ENABLE=y in order to enable
295# the Parental Controls subsystem classifier in ECM. Currently disabled until
296# customers require it / if they need to integrate their Parental Controls with it.
297# #############################################################################
298ECM_CLASSIFIER_PCC_ENABLE=y
299ecm-$(ECM_CLASSIFIER_PCC_ENABLE) += ecm_classifier_pcc.o
300ccflags-$(ECM_CLASSIFIER_PCC_ENABLE) += -DECM_CLASSIFIER_PCC_ENABLE
301
302# #############################################################################
303# Define ECM_CLASSIFIER_EMESH_ENABLE=y in order to enable E-Mesh classifier.
304# #############################################################################
305ecm-$(ECM_CLASSIFIER_EMESH_ENABLE) += ecm_classifier_emesh.o
306ccflags-$(ECM_CLASSIFIER_EMESH_ENABLE) += -DECM_CLASSIFIER_EMESH_ENABLE
307
308# #############################################################################
309# Define ECM_NON_PORTED_SUPPORT_ENABLE=y in order to enable non-ported protocol.
310# #############################################################################
311
312
313ifeq ($(ECM_FRONT_END_NSS_ENABLE), y)
314ecm-$(ECM_NON_PORTED_SUPPORT_ENABLE) += frontends/nss/ecm_nss_non_ported_ipv4.o
315ifeq ($(ECM_IPV6_ENABLE), y)
316ecm-$(ECM_NON_PORTED_SUPPORT_ENABLE) += frontends/nss/ecm_nss_non_ported_ipv6.o
317endif
318endif
319
320ifeq ($(ECM_FRONT_END_SFE_ENABLE), y)
321ecm-$(ECM_NON_PORTED_SUPPORT_ENABLE) += frontends/sfe/ecm_sfe_non_ported_ipv4.o
322ifeq ($(ECM_IPV6_ENABLE), y)
323ecm-$(ECM_NON_PORTED_SUPPORT_ENABLE) += frontends/sfe/ecm_sfe_non_ported_ipv6.o
324endif
325endif
326
327ccflags-$(ECM_NON_PORTED_SUPPORT_ENABLE) += -DECM_NON_PORTED_SUPPORT_ENABLE
328
329# #############################################################################
330# Define ECM_STATE_OUTPUT_ENABLE=y to support XML state output
331# #############################################################################
332ECM_STATE_OUTPUT_ENABLE=y
333ecm-$(ECM_STATE_OUTPUT_ENABLE) += ecm_state.o
334ccflags-$(ECM_STATE_OUTPUT_ENABLE) += -DECM_STATE_OUTPUT_ENABLE
335
336# #############################################################################
337# Define ECM_DB_ADVANCED_STATS_ENABLE to support XML state output
338# #############################################################################
339ECM_DB_ADVANCED_STATS_ENABLE=y
340ccflags-$(ECM_DB_ADVANCED_STATS_ENABLE) += -DECM_DB_ADVANCED_STATS_ENABLE
341
342# #############################################################################
343# Define ECM_DB_CONNECTION_CROSS_REFERENCING_ENABLE=y in order to enable
344# the database to track relationships between objects.
345# #############################################################################
346ECM_DB_CONNECTION_CROSS_REFERENCING_ENABLE=y
347ccflags-$(ECM_DB_CONNECTION_CROSS_REFERENCING_ENABLE) += -DECM_DB_XREF_ENABLE
348
349# #############################################################################
350# Define ECM_TRACKER_DPI_SUPPORT_ENABLE=y in order to enable support for
351# deep packet inspection and tracking of data with the trackers.
352# #############################################################################
353ECM_TRACKER_DPI_SUPPORT_ENABLE=y
354ccflags-$(ECM_TRACKER_DPI_SUPPORT_ENABLE) += -DECM_TRACKER_DPI_SUPPORT_ENABLE
355
356# #############################################################################
357# Define ECM_DB_CLASSIFIER_TYPE_ASSIGNMENTS_TRACK_ENABLE=y in order to enable
358# support for the database keeping lists of connections that are assigned
359# on a per TYPE of classifier basis.
360# #############################################################################
361ECM_DB_CLASSIFIER_TYPE_ASSIGNMENTS_TRACK_ENABLE=y
362ccflags-$(ECM_DB_CLASSIFIER_TYPE_ASSIGNMENTS_TRACK_ENABLE) += -DECM_DB_CTA_TRACK_ENABLE
363
364# #############################################################################
365# Define ECM_BAND_STEERING_ENABLE=y in order to enable
366# band steering feature.
367# #############################################################################
368ECM_BAND_STEERING_ENABLE=y
369ccflags-$(ECM_BAND_STEERING_ENABLE) += -DECM_BAND_STEERING_ENABLE
370
371# #############################################################################
372# Define ECM_INTERFACE_OVPN_ENABLE=y in order
373# to enable support for OVPN acceleration.
374# #############################################################################
375ccflags-$(ECM_INTERFACE_OVPN_ENABLE) += -DECM_INTERFACE_OVPN_ENABLE
376
377# #############################################################################
378# Debug flags, set these to = 0 if you want to disable all debugging for that
379# file.
380# By turning off debugs you gain maximum ECM performance.
381# #############################################################################
382ccflags-y += -DECM_CLASSIFIER_DEBUG_LEVEL=1
383ccflags-y += -DECM_CLASSIFIER_OVS_DEBUG_LEVEL=1
384ccflags-y += -DECM_CLASSIFIER_MARK_DEBUG_LEVEL=1
385ccflags-y += -DECM_CLASSIFIER_DSCP_DEBUG_LEVEL=1
386ccflags-y += -DECM_CLASSIFIER_HYFI_DEBUG_LEVEL=1
387ccflags-y += -DECM_CLASSIFIER_PCC_DEBUG_LEVEL=1
388ccflags-y += -DECM_CLASSIFIER_NL_DEBUG_LEVEL=1
389ccflags-y += -DECM_CLASSIFIER_EMESH_DEBUG_LEVEL=1
390ccflags-y += -DECM_CLASSIFIER_MSCS_DEBUG_LEVEL=1
391ccflags-y += -DECM_CLASSIFIER_DEFAULT_DEBUG_LEVEL=1
392ccflags-y += -DECM_DB_DEBUG_LEVEL=1
393ccflags-y += -DECM_INIT_DEBUG_LEVEL=3
394ccflags-y += -DECM_FRONT_END_IPV4_DEBUG_LEVEL=1
395ccflags-y += -DECM_FRONT_END_IPV6_DEBUG_LEVEL=1
396ccflags-y += -DECM_FRONT_END_COMMON_DEBUG_LEVEL=1
397ccflags-y += -DECM_NSS_COMMON_DEBUG_LEVEL=1
398ccflags-y += -DECM_NSS_IPV4_DEBUG_LEVEL=1
399ccflags-y += -DECM_NSS_PORTED_IPV4_DEBUG_LEVEL=1
400ccflags-y += -DECM_NSS_NON_PORTED_IPV4_DEBUG_LEVEL=1
401ccflags-y += -DECM_NSS_MULTICAST_IPV4_DEBUG_LEVEL=1
402ccflags-y += -DECM_NSS_IPV6_DEBUG_LEVEL=1
403ccflags-y += -DECM_NSS_PORTED_IPV6_DEBUG_LEVEL=1
404ccflags-y += -DECM_NSS_NON_PORTED_IPV6_DEBUG_LEVEL=1
405ccflags-y += -DECM_NSS_MULTICAST_IPV6_DEBUG_LEVEL=1
406ccflags-y += -DECM_SFE_COMMON_DEBUG_LEVEL=1
407ccflags-y += -DECM_SFE_IPV4_DEBUG_LEVEL=1
408ccflags-y += -DECM_SFE_PORTED_IPV4_DEBUG_LEVEL=1
409ccflags-y += -DECM_SFE_NON_PORTED_IPV4_DEBUG_LEVEL=1
410ccflags-y += -DECM_SFE_IPV6_DEBUG_LEVEL=1
411ccflags-y += -DECM_SFE_PORTED_IPV6_DEBUG_LEVEL=1
412ccflags-y += -DECM_SFE_NON_PORTED_IPV6_DEBUG_LEVEL=1
413ccflags-y += -DECM_CONNTRACK_NOTIFIER_DEBUG_LEVEL=1
414ccflags-y += -DECM_TRACKER_DEBUG_LEVEL=1
415ccflags-y += -DECM_TRACKER_DATAGRAM_DEBUG_LEVEL=1
416ccflags-y += -DECM_TRACKER_TCP_DEBUG_LEVEL=1
417ccflags-y += -DECM_TRACKER_UDP_DEBUG_LEVEL=1
418ccflags-y += -DECM_BOND_NOTIFIER_DEBUG_LEVEL=1
419ccflags-y += -DECM_INTERFACE_DEBUG_LEVEL=1
420ccflags-y += -DECM_STATE_DEBUG_LEVEL=1
421ccflags-y += -DECM_OPENWRT_SUPPORT=1
422ccflags-y += -DECM_NOTIFIER_DEBUG_LEVEL=1
423ccflags-y += -DECM_AE_CLASSIFIER_DEBUG_LEVEL=1
424
425ccflags-y += -I$(obj)/ -I$(obj)/ecm_db -I$(obj)/frontends/include -I$(obj)/frontends/nss -I$(obj)/frontends/sfe -I$(obj)/frontends/cmn -I$(obj)/exports
426ccflags-y += -Werror
427
428obj ?= .