# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the Linux Traffic Control Unit.
#

obj-y	:= sch_generic.o sch_mq.o

obj-$(CONFIG_INET)		+= sch_frag.o
obj-$(CONFIG_NET_SCHED)		+= sch_api.o sch_blackhole.o
obj-$(CONFIG_NET_CLS)		+= cls_api.o
obj-$(CONFIG_NET_CLS_ACT)	+= act_api.o
obj-$(CONFIG_NET_ACT_POLICE)	+= act_police.o
obj-$(CONFIG_NET_ACT_GACT)	+= act_gact.o
obj-$(CONFIG_NET_ACT_MIRRED)	+= act_mirred.o
obj-$(CONFIG_NET_ACT_SAMPLE)	+= act_sample.o
obj-$(CONFIG_NET_ACT_NAT)	+= act_nat.o
obj-$(CONFIG_NET_ACT_PEDIT)	+= act_pedit.o
obj-$(CONFIG_NET_ACT_SIMP)	+= act_simple.o
obj-$(CONFIG_NET_ACT_SKBEDIT)	+= act_skbedit.o
obj-$(CONFIG_NET_ACT_CSUM)	+= act_csum.o
obj-$(CONFIG_NET_ACT_MPLS)	+= act_mpls.o
obj-$(CONFIG_NET_ACT_VLAN)	+= act_vlan.o
obj-$(CONFIG_NET_ACT_BPF)	+= act_bpf.o
obj-$(CONFIG_NET_ACT_CONNMARK)	+= act_connmark.o
obj-$(CONFIG_NET_ACT_CTINFO)	+= act_ctinfo.o
obj-$(CONFIG_NET_ACT_SKBMOD)	+= act_skbmod.o
obj-$(CONFIG_NET_ACT_IFE)	+= act_ife.o
obj-$(CONFIG_NET_IFE_SKBMARK)	+= act_meta_mark.o
obj-$(CONFIG_NET_IFE_SKBPRIO)	+= act_meta_skbprio.o
obj-$(CONFIG_NET_IFE_SKBTCINDEX)	+= act_meta_skbtcindex.o
obj-$(CONFIG_NET_ACT_TUNNEL_KEY)+= act_tunnel_key.o
obj-$(CONFIG_NET_ACT_CT)	+= act_ct.o
obj-$(CONFIG_NET_ACT_GATE)	+= act_gate.o
obj-$(CONFIG_NET_SCH_FIFO)	+= sch_fifo.o
obj-$(CONFIG_NET_SCH_HTB)	+= sch_htb.o
obj-$(CONFIG_NET_SCH_HFSC)	+= sch_hfsc.o
obj-$(CONFIG_NET_SCH_RED)	+= sch_red.o
obj-$(CONFIG_NET_SCH_GRED)	+= sch_gred.o
obj-$(CONFIG_NET_SCH_INGRESS)	+= sch_ingress.o
obj-$(CONFIG_NET_SCH_SFB)	+= sch_sfb.o
obj-$(CONFIG_NET_SCH_SFQ)	+= sch_sfq.o
obj-$(CONFIG_NET_SCH_TBF)	+= sch_tbf.o
obj-$(CONFIG_NET_SCH_TEQL)	+= sch_teql.o
obj-$(CONFIG_NET_SCH_PRIO)	+= sch_prio.o
obj-$(CONFIG_NET_SCH_MULTIQ)	+= sch_multiq.o
obj-$(CONFIG_NET_SCH_NETEM)	+= sch_netem.o
obj-$(CONFIG_NET_SCH_DRR)	+= sch_drr.o
obj-$(CONFIG_NET_SCH_PLUG)	+= sch_plug.o
obj-$(CONFIG_NET_SCH_ETS)	+= sch_ets.o
obj-$(CONFIG_NET_SCH_MQPRIO)	+= sch_mqprio.o
obj-$(CONFIG_NET_SCH_MQPRIO_LIB) += sch_mqprio_lib.o
obj-$(CONFIG_NET_SCH_SKBPRIO)	+= sch_skbprio.o
obj-$(CONFIG_NET_SCH_CHOKE)	+= sch_choke.o
obj-$(CONFIG_NET_SCH_QFQ)	+= sch_qfq.o
obj-$(CONFIG_NET_SCH_CODEL)	+= sch_codel.o
obj-$(CONFIG_NET_SCH_FQ_CODEL)	+= sch_fq_codel.o
obj-$(CONFIG_NET_SCH_CAKE)	+= sch_cake.o
obj-$(CONFIG_NET_SCH_FQ)	+= sch_fq.o
obj-$(CONFIG_NET_SCH_HHF)	+= sch_hhf.o
obj-$(CONFIG_NET_SCH_PIE)	+= sch_pie.o
obj-$(CONFIG_NET_SCH_FQ_PIE)	+= sch_fq_pie.o
obj-$(CONFIG_NET_SCH_CBS)	+= sch_cbs.o
obj-$(CONFIG_NET_SCH_ETF)	+= sch_etf.o
obj-$(CONFIG_NET_SCH_TAPRIO)	+= sch_taprio.o

obj-$(CONFIG_NET_CLS_U32)	+= cls_u32.o
obj-$(CONFIG_NET_CLS_ROUTE4)	+= cls_route.o
obj-$(CONFIG_NET_CLS_FW)	+= cls_fw.o
obj-$(CONFIG_NET_CLS_BASIC)	+= cls_basic.o
obj-$(CONFIG_NET_CLS_FLOW)	+= cls_flow.o
obj-$(CONFIG_NET_CLS_CGROUP)	+= cls_cgroup.o
obj-$(CONFIG_NET_CLS_BPF)	+= cls_bpf.o
obj-$(CONFIG_NET_CLS_FLOWER)	+= cls_flower.o
obj-$(CONFIG_NET_CLS_MATCHALL)	+= cls_matchall.o
obj-$(CONFIG_NET_EMATCH)	+= ematch.o
obj-$(CONFIG_NET_EMATCH_CMP)	+= em_cmp.o
obj-$(CONFIG_NET_EMATCH_NBYTE)	+= em_nbyte.o
obj-$(CONFIG_NET_EMATCH_U32)	+= em_u32.o
obj-$(CONFIG_NET_EMATCH_META)	+= em_meta.o
obj-$(CONFIG_NET_EMATCH_TEXT)	+= em_text.o
obj-$(CONFIG_NET_EMATCH_CANID)	+= em_canid.o
obj-$(CONFIG_NET_EMATCH_IPSET)	+= em_ipset.o
obj-$(CONFIG_NET_EMATCH_IPT)	+= em_ipt.o
