]> git.proxmox.com Git - mirror_frr.git/blob - zebra/subdir.am
zebra: add tc netlink and dplane ops
[mirror_frr.git] / zebra / subdir.am
1 #
2 # zebra
3 #
4
5 if ZEBRA
6 sbin_PROGRAMS += zebra/zebra
7 vtysh_scan += \
8 zebra/debug.c \
9 zebra/interface.c \
10 zebra/router-id.c \
11 zebra/rtadv.c \
12 zebra/zebra_gr.c \
13 zebra/zebra_mlag_vty.c \
14 zebra/zebra_evpn_mh.c \
15 zebra/zebra_mpls_vty.c \
16 zebra/zebra_srv6_vty.c \
17 zebra/zebra_ptm.c \
18 zebra/zebra_pw.c \
19 zebra/zebra_routemap.c \
20 zebra/zebra_vty.c \
21 zebra/zserv.c \
22 zebra/zebra_vrf.c \
23 zebra/dpdk/zebra_dplane_dpdk_vty.c \
24 # end
25
26 # can be loaded as DSO - always include for vtysh
27 vtysh_scan += zebra/irdp_interface.c
28 vtysh_scan += zebra/zebra_fpm.c
29
30 vtysh_daemons += zebra
31
32 if IRDP
33 module_LTLIBRARIES += zebra/zebra_irdp.la
34 endif
35 if SNMP
36 module_LTLIBRARIES += zebra/zebra_snmp.la
37 endif
38 if FPM
39 module_LTLIBRARIES += zebra/zebra_fpm.la
40 endif
41 if LINUX
42 module_LTLIBRARIES += zebra/zebra_cumulus_mlag.la
43 endif
44
45 # Dataplane sample plugin
46 if DEV_BUILD
47 module_LTLIBRARIES += zebra/dplane_sample_plugin.la
48 endif
49
50 man8 += $(MANBUILD)/frr-zebra.8
51 ## endif ZEBRA
52 endif
53
54 zebra_zebra_LDADD = lib/libfrr.la $(LIBCAP) $(UST_LIBS)
55 if HAVE_PROTOBUF3
56 zebra_zebra_LDADD += mlag/libmlag_pb.la $(PROTOBUF_C_LIBS)
57 zebra/zebra_mlag.$(OBJEXT): mlag/mlag.pb-c.h
58 endif
59 zebra_zebra_SOURCES = \
60 zebra/connected.c \
61 zebra/debug.c \
62 zebra/if_ioctl.c \
63 zebra/if_netlink.c \
64 zebra/if_socket.c \
65 zebra/if_sysctl.c \
66 zebra/interface.c \
67 zebra/ioctl.c \
68 zebra/ipforward_proc.c \
69 zebra/ipforward_sysctl.c \
70 zebra/kernel_netlink.c \
71 zebra/kernel_socket.c \
72 zebra/label_manager.c \
73 zebra/main.c \
74 zebra/netconf_netlink.c \
75 zebra/redistribute.c \
76 zebra/router-id.c \
77 zebra/rt_netlink.c \
78 zebra/rt_socket.c \
79 zebra/rtadv.c \
80 zebra/rtread_netlink.c \
81 zebra/rtread_sysctl.c \
82 zebra/rule_netlink.c \
83 zebra/rule_socket.c \
84 zebra/table_manager.c \
85 zebra/tc_netlink.c \
86 zebra/zapi_msg.c \
87 zebra/zebra_dplane.c \
88 zebra/zebra_errors.c \
89 zebra/zebra_gr.c \
90 zebra/zebra_l2.c \
91 zebra/zebra_evpn.c \
92 zebra/zebra_evpn_mac.c \
93 zebra/zebra_evpn_neigh.c \
94 zebra/zebra_mlag.c \
95 zebra/zebra_mlag_vty.c \
96 zebra/zebra_mpls.c \
97 zebra/zebra_mpls_netlink.c \
98 zebra/zebra_mpls_openbsd.c \
99 zebra/zebra_mpls_null.c \
100 zebra/zebra_mpls_vty.c \
101 zebra/zebra_srv6.c \
102 zebra/zebra_srv6_vty.c \
103 zebra/zebra_mroute.c \
104 zebra/zebra_nb.c \
105 zebra/zebra_nb_config.c \
106 zebra/zebra_nb_rpcs.c \
107 zebra/zebra_nb_state.c \
108 zebra/zebra_netns_id.c \
109 zebra/zebra_netns_notify.c \
110 zebra/zebra_nhg.c \
111 zebra/zebra_ns.c \
112 zebra/zebra_opaque.c \
113 zebra/zebra_pbr.c \
114 zebra/zebra_ptm.c \
115 zebra/zebra_ptm_redistribute.c \
116 zebra/zebra_pw.c \
117 zebra/zebra_rib.c \
118 zebra/zebra_router.c \
119 zebra/zebra_rnh.c \
120 zebra/zebra_routemap.c \
121 zebra/zebra_routemap_nb.c \
122 zebra/zebra_routemap_nb_config.c \
123 zebra/zebra_script.c \
124 zebra/zebra_srte.c \
125 zebra/zebra_trace.c \
126 zebra/zebra_vrf.c \
127 zebra/zebra_vty.c \
128 zebra/zebra_vxlan.c \
129 zebra/zebra_evpn_mh.c \
130 zebra/zebra_neigh.c \
131 zebra/zserv.c \
132 # end
133
134 clippy_scan += \
135 zebra/debug.c \
136 zebra/interface.c \
137 zebra/rtadv.c \
138 zebra/zebra_evpn_mh.c \
139 zebra/zebra_mlag_vty.c \
140 zebra/zebra_routemap.c \
141 zebra/zebra_vty.c \
142 zebra/zebra_srv6_vty.c \
143 zebra/zebra_vrf.c \
144 zebra/dpdk/zebra_dplane_dpdk_vty.c \
145 # end
146
147 noinst_HEADERS += \
148 zebra/connected.h \
149 zebra/debug.h \
150 zebra/if_netlink.h \
151 zebra/interface.h \
152 zebra/ioctl.h \
153 zebra/ipforward.h \
154 zebra/irdp.h \
155 zebra/kernel_netlink.h \
156 zebra/kernel_socket.h \
157 zebra/label_manager.h \
158 zebra/netconf_netlink.h \
159 zebra/redistribute.h \
160 zebra/rib.h \
161 zebra/router-id.h \
162 zebra/rt.h \
163 zebra/rt_netlink.h \
164 zebra/rtadv.h \
165 zebra/rule_netlink.h \
166 zebra/table_manager.h \
167 zebra/tc_netlink.h \
168 zebra/zapi_msg.h \
169 zebra/zebra_dplane.h \
170 zebra/zebra_errors.h \
171 zebra/zebra_evpn.h \
172 zebra/zebra_evpn_mac.h \
173 zebra/zebra_evpn_neigh.h \
174 zebra/zebra_evpn_vxlan.h \
175 zebra/zebra_fpm_private.h \
176 zebra/zebra_l2.h \
177 zebra/zebra_mlag.h \
178 zebra/zebra_mlag_vty.h \
179 zebra/zebra_mpls.h \
180 zebra/zebra_srv6.h \
181 zebra/zebra_srv6_vty.h \
182 zebra/zebra_mroute.h \
183 zebra/zebra_nb.h \
184 zebra/zebra_netns_id.h \
185 zebra/zebra_netns_notify.h \
186 zebra/zebra_nhg.h \
187 zebra/zebra_nhg_private.h \
188 zebra/zebra_ns.h \
189 zebra/zebra_opaque.h \
190 zebra/zebra_pbr.h \
191 zebra/zebra_ptm.h \
192 zebra/zebra_ptm_redistribute.h \
193 zebra/zebra_pw.h \
194 zebra/zebra_rnh.h \
195 zebra/zebra_routemap.h \
196 zebra/zebra_routemap_nb.h \
197 zebra/zebra_router.h \
198 zebra/zebra_script.h \
199 zebra/zebra_srte.h \
200 zebra/zebra_trace.h \
201 zebra/zebra_vrf.h \
202 zebra/zebra_vxlan.h \
203 zebra/zebra_vxlan_private.h \
204 zebra/zebra_evpn_mh.h \
205 zebra/zebra_neigh.h \
206 zebra/zserv.h \
207 zebra/dpdk/zebra_dplane_dpdk.h \
208 zebra/dpdk/zebra_dplane_dpdk_private.h \
209 # end
210
211 zebra_zebra_irdp_la_SOURCES = \
212 zebra/irdp_interface.c \
213 zebra/irdp_main.c \
214 zebra/irdp_packet.c \
215 # end
216 zebra_zebra_irdp_la_LDFLAGS = $(MODULE_LDFLAGS)
217
218 zebra_zebra_snmp_la_SOURCES = zebra/zebra_snmp.c
219 zebra_zebra_snmp_la_CFLAGS = $(AM_CFLAGS) $(SNMP_CFLAGS) -std=gnu11
220 zebra_zebra_snmp_la_LDFLAGS = $(MODULE_LDFLAGS)
221 zebra_zebra_snmp_la_LIBADD = lib/libfrrsnmp.la
222
223 zebra_zebra_fpm_la_LDFLAGS = $(MODULE_LDFLAGS)
224 zebra_zebra_fpm_la_LIBADD =
225 zebra_zebra_fpm_la_SOURCES = zebra/zebra_fpm.c
226 zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_netlink.c
227 if HAVE_PROTOBUF
228 zebra_zebra_fpm_la_LIBADD += fpm/libfrrfpm_pb.la qpb/libfrr_pb.la $(PROTOBUF_C_LIBS)
229 zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_protobuf.c
230 zebra/zebra_fpm_protobuf.lo: fpm/fpm.pb-c.h qpb/qpb.pb-c.h
231 if DEV_BUILD
232 zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_dt.c
233 zebra/zebra_fpm_dt.lo: fpm/fpm.pb-c.h qpb/qpb.pb-c.h
234 endif
235 endif
236
237 # Sample dataplane plugin
238 if DEV_BUILD
239 zebra_dplane_sample_plugin_la_SOURCES = zebra/sample_plugin.c
240 zebra_dplane_sample_plugin_la_LDFLAGS = $(MODULE_LDFLAGS)
241 endif
242
243 nodist_zebra_zebra_SOURCES = \
244 yang/frr-zebra.yang.c \
245 yang/frr-zebra-route-map.yang.c \
246 # end
247
248 zebra_zebra_cumulus_mlag_la_SOURCES = zebra/zebra_mlag_private.c
249 zebra_zebra_cumulus_mlag_la_LDFLAGS = $(MODULE_LDFLAGS)
250
251 if LINUX
252 module_LTLIBRARIES += zebra/dplane_fpm_nl.la
253
254 zebra_dplane_fpm_nl_la_SOURCES = zebra/dplane_fpm_nl.c
255 zebra_dplane_fpm_nl_la_LDFLAGS = $(MODULE_LDFLAGS)
256 zebra_dplane_fpm_nl_la_LIBADD =
257
258 vtysh_scan += zebra/dplane_fpm_nl.c
259 endif
260
261 if NETLINK_DEBUG
262 zebra_zebra_SOURCES += \
263 zebra/debug_nl.c \
264 # end
265 endif
266
267 if DP_DPDK
268 module_LTLIBRARIES += zebra/zebra_dplane_dpdk.la
269 endif
270
271 zebra_zebra_dplane_dpdk_la_SOURCES = zebra/dpdk/zebra_dplane_dpdk.c zebra/dpdk/zebra_dplane_dpdk_vty.c
272 zebra_zebra_dplane_dpdk_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -L/usr/local/lib -v
273 zebra_zebra_dplane_dpdk_la_CFLAGS = $(DPDK_CFLAGS)
274 zebra_zebra_dplane_dpdk_la_LIBADD = $(DPDK_LIBS)