Added option to use SNAT nat target instead of MASQUERADE to speed up routing.
[tomato.git] / release / src / linux / linux / net / ipv4 / netfilter / Makefile
blob44f068a90b626f05235a768209a38d667b7efa5e
2 # Makefile for the netfilter modules on top of IPv4.
4 # Note! Dependencies are done automagically by 'make dep', which also
5 # removes any old dependencies. DON'T put your own dependencies here
6 # unless it's something special (ie not a .c file).
8 # Note 2! The CFLAGS definition is now in the main makefile...
10 O_TARGET := netfilter.o
12 export-objs = ip_conntrack_standalone.o ip_fw_compat.o ip_nat_standalone.o ip_tables.o arp_tables.o
14 # Multipart objects.
15 list-multi := ip_conntrack.o iptable_nat.o ipfwadm.o ipchains.o
17 # objects for the conntrack and NAT core (used by standalone and backw. compat)
18 ip_nf_conntrack-objs := ip_conntrack_core.o ip_conntrack_proto_generic.o ip_conntrack_proto_tcp.o ip_conntrack_proto_udp.o ip_conntrack_proto_icmp.o
19 ip_nf_nat-objs := ip_nat_core.o ip_nat_helper.o ip_nat_proto_unknown.o ip_nat_proto_tcp.o ip_nat_proto_udp.o ip_nat_proto_icmp.o
21 # objects for the standalone - connection tracking / NAT
22 ip_conntrack-objs := ip_conntrack_standalone.o $(ip_nf_conntrack-objs)
23 iptable_nat-objs := ip_nat_standalone.o ip_nat_rule.o $(ip_nf_nat-objs)
25 # objects for backwards compatibility mode
26 ip_nf_compat-objs := ip_fw_compat.o ip_fw_compat_redir.o ip_fw_compat_masq.o $(ip_nf_conntrack-objs) $(ip_nf_nat-objs)
28 ipfwadm-objs := $(ip_nf_compat-objs) ipfwadm_core.o
29 ipchains-objs := $(ip_nf_compat-objs) ipchains_core.o
31 # connection tracking
32 obj-$(CONFIG_IP_NF_CONNTRACK) += ip_conntrack.o
34 # H.323 support
35 obj-$(CONFIG_IP_NF_H323) += ip_conntrack_h323.o
36 ifdef CONFIG_IP_NF_H323
37 export-objs += ip_conntrack_h323.o
38 endif
39 obj-$(CONFIG_IP_NF_NAT_H323) += ip_nat_h323.o
42 # connection tracking protocol helpers
43 obj-$(CONFIG_IP_NF_CT_PROTO_GRE) += ip_conntrack_proto_gre.o
44 ifdef CONFIG_IP_NF_CT_PROTO_GRE
45 export-objs += ip_conntrack_proto_gre.o
46 endif
48 # NAT protocol helpers
49 obj-$(CONFIG_IP_NF_NAT_PROTO_GRE) += ip_nat_proto_gre.o
51 # connection tracking protocol helpers
52 obj-$(CONFIG_IP_NF_CT_PROTO_ESP) += ip_conntrack_proto_esp.o
53 ifdef CONFIG_IP_NF_CT_PROTO_ESP
54 export-objs += ip_conntrack_proto_esp.o
55 endif
57 # NAT protocol helpers
58 obj-$(CONFIG_IP_NF_NAT_PROTO_ESP) += ip_nat_proto_esp.o
60 # connection tracking helpers
61 obj-$(CONFIG_IP_NF_QUAKE3) += ip_conntrack_quake3.o
62 ifdef CONFIG_IP_NF_NAT_QUAKE3
63 export-objs += ip_conntrack_quake3.o
64 endif
65 obj-$(CONFIG_IP_NF_MMS) += ip_conntrack_mms.o
66 ifdef CONFIG_IP_NF_NAT_MMS
67 export-objs += ip_conntrack_mms.o
68 endif
69 obj-$(CONFIG_IP_NF_PPTP) += ip_conntrack_pptp.o
70 ifdef CONFIG_IP_NF_NAT_PPTP
71 export-objs += ip_conntrack_pptp.o
72 endif
73 obj-$(CONFIG_IP_NF_SIP) += ip_conntrack_sip.o
74 ifdef CONFIG_IP_NF_NAT_SIP
75 export-objs += ip_conntrack_sip.o
76 endif
77 obj-$(CONFIG_IP_NF_TFTP) += ip_conntrack_tftp.o
78 obj-$(CONFIG_IP_NF_FTP) += ip_conntrack_ftp.o
79 ifdef CONFIG_IP_NF_NAT_FTP
80 export-objs += ip_conntrack_ftp.o
81 endif
82 obj-$(CONFIG_IP_NF_IRC) += ip_conntrack_irc.o
83 ifdef CONFIG_IP_NF_NAT_IRC
84 export-objs += ip_conntrack_irc.o
85 endif
87 # rtsp protocol support
88 obj-$(CONFIG_IP_NF_RTSP) += ip_conntrack_rtsp.o
89 ifdef CONFIG_IP_NF_NAT_RTSP
90 export-objs += ip_conntrack_rtsp.o
91 endif
92 obj-$(CONFIG_IP_NF_NAT_RTSP) += ip_nat_rtsp.o
94 # NAT helpers
95 obj-$(CONFIG_IP_NF_NAT_CUSEEME) += ip_nat_cuseeme.o
96 obj-$(CONFIG_IP_NF_NAT_PPTP) += ip_nat_pptp.o
97 obj-$(CONFIG_IP_NF_NAT_SIP) += ip_nat_sip.o
98 obj-$(CONFIG_IP_NF_NAT_TFTP) += ip_nat_tftp.o
99 obj-$(CONFIG_IP_NF_NAT_FTP) += ip_nat_ftp.o
100 obj-$(CONFIG_IP_NF_NAT_IRC) += ip_nat_irc.o
101 obj-$(CONFIG_IP_NF_NAT_QUAKE3) += ip_nat_quake3.o
102 obj-$(CONFIG_IP_NF_NAT_MMS) += ip_nat_mms.o
104 # generic IP tables
105 obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o
107 # the three instances of ip_tables
108 obj-$(CONFIG_IP_NF_FILTER) += iptable_filter.o
109 obj-$(CONFIG_IP_NF_MANGLE) += iptable_mangle.o
110 obj-$(CONFIG_IP_NF_NAT) += iptable_nat.o
112 # matches
113 obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o
114 obj-$(CONFIG_IP_NF_MATCH_LIMIT) += ipt_limit.o
115 obj-$(CONFIG_IP_NF_MATCH_GEOIP) += ipt_geoip.o
116 obj-$(CONFIG_IP_NF_MATCH_QUOTA) += ipt_quota.o
117 obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
118 obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o
119 obj-$(CONFIG_IP_NF_POOL) += ipt_pool.o ip_pool.o
120 obj-$(CONFIG_IP_NF_MATCH_MAC) += ipt_mac.o
121 obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o
122 obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o
123 obj-$(CONFIG_IP_NF_MATCH_MPORT) += ipt_mport.o
124 obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
125 obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
126 obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
127 obj-$(CONFIG_IP_NF_MATCH_ACCOUNT) += ipt_account.o
128 obj-$(CONFIG_IP_NF_MATCH_CONDITION) += ipt_condition.o
129 obj-$(CONFIG_IP_NF_MATCH_TIME) += ipt_time.o
130 obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
131 obj-$(CONFIG_IP_NF_MATCH_DSCP) += ipt_dscp.o
132 obj-$(CONFIG_IP_NF_MATCH_AH_ESP) += ipt_ah.o ipt_esp.o
133 obj-$(CONFIG_IP_NF_MATCH_LENGTH) += ipt_length.o
134 obj-$(CONFIG_IP_NF_MATCH_U32) += ipt_u32.o
135 obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
136 obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o
137 obj-$(CONFIG_IP_NF_MATCH_CONNLIMIT) += ipt_connlimit.o
138 obj-$(CONFIG_IP_NF_MATCH_CONNMARK) += ipt_connmark.o
139 obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o
140 obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
141 obj-$(CONFIG_IP_NF_MATCH_STRING) += ipt_string.o
142 obj-$(CONFIG_IP_NF_MATCH_WEBSTR) += ipt_webstr.o
143 obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.o
144 obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_layer7.o
145 obj-$(CONFIG_IP_NF_MATCH_WEB) += ipt_web.o
146 obj-$(CONFIG_IP_NF_MATCH_MACSAVE) += ipt_macsave.o
147 obj-$(CONFIG_IP_NF_MATCH_EXP) += ipt_exp.o
148 obj-$(CONFIG_IP_NF_MATCH_BCOUNT) += ipt_bcount.o
150 # targets
151 obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
152 obj-$(CONFIG_IP_NF_TARGET_MIRROR) += ipt_MIRROR.o
153 obj-$(CONFIG_IP_NF_TARGET_CLASSIFY) += ipt_CLASSIFY.o
154 obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
155 obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
156 obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
157 obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o
158 obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
159 obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
160 ifdef CONFIG_IP_NF_TARGET_MASQUERADE
161 export-objs += ipt_MASQUERADE.o
162 endif
163 obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
164 obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
165 obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
166 obj-$(CONFIG_IP_NF_TARGET_CONNMARK) += ipt_CONNMARK.o
167 obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
168 obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
169 obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o
170 obj-$(CONFIG_IP_NF_AUTOFW) += ip_autofw.o
171 obj-$(CONFIG_IP_NF_TARGET_TRIGGER) += ipt_TRIGGER.o
172 obj-$(CONFIG_IP_NF_TARGET_MACSAVE) += ipt_MACSAVE.o
173 obj-$(CONFIG_IP_NF_TARGET_BCOUNT) += ipt_BCOUNT.o
175 # generic ARP tables
176 obj-$(CONFIG_IP_NF_ARPTABLES) += arp_tables.o
178 # just filtering instance of ARP tables for now
179 obj-$(CONFIG_IP_NF_ARPFILTER) += arptable_filter.o
181 # backwards compatibility
182 obj-$(CONFIG_IP_NF_COMPAT_IPCHAINS) += ipchains.o
183 obj-$(CONFIG_IP_NF_COMPAT_IPFWADM) += ipfwadm.o
185 obj-$(CONFIG_IP_NF_QUEUE) += ip_queue.o
187 obj-$(CONFIG_IP_NF_TOMATOCT) += tomato_ct.o
189 include $(TOPDIR)/Rules.make
191 ip_conntrack.o: $(ip_conntrack-objs)
192 $(LD) -r -o $@ $(ip_conntrack-objs)
194 iptable_nat.o: $(iptable_nat-objs)
195 $(LD) -r -o $@ $(iptable_nat-objs)
197 ipfwadm.o: $(ipfwadm-objs)
198 $(LD) -r -o $@ $(ipfwadm-objs)
200 ipchains.o: $(ipchains-objs)
201 $(LD) -r -o $@ $(ipchains-objs)