6 sbin_PROGRAMS += zebra/zebra
10 module_LTLIBRARIES += zebra/zebra_irdp.la
13 module_LTLIBRARIES += zebra/zebra_snmp.la
16 module_LTLIBRARIES += zebra/zebra_fpm.la
19 module_LTLIBRARIES += zebra/zebra_cumulus_mlag.la
22 # Dataplane sample plugin
24 module_LTLIBRARIES += zebra/dplane_sample_plugin.la
27 man8 += $(MANBUILD)/frr-zebra.8
31 zebra_zebra_LDADD = lib/libfrr.la $(LIBCAP) $(UST_LIBS)
33 zebra_zebra_LDADD += mlag/libmlag_pb.la $(PROTOBUF_C_LIBS)
34 zebra/zebra_mlag.$(OBJEXT): mlag/mlag.pb-c.h
36 zebra_zebra_SOURCES = \
45 zebra/ipforward_proc.c \
46 zebra/ipforward_sysctl.c \
47 zebra/kernel_netlink.c \
48 zebra/kernel_socket.c \
49 zebra/label_manager.c \
51 zebra/netconf_netlink.c \
52 zebra/redistribute.c \
57 zebra/rtread_netlink.c \
58 zebra/rtread_sysctl.c \
59 zebra/rule_netlink.c \
61 zebra/table_manager.c \
65 zebra/zebra_affinitymap.c \
66 zebra/zebra_dplane.c \
67 zebra/zebra_errors.c \
70 zebra/zebra_l2_bridge_if.c \
72 zebra/zebra_evpn_mac.c \
73 zebra/zebra_evpn_neigh.c \
75 zebra/zebra_mlag_vty.c \
77 zebra/zebra_mpls_netlink.c \
78 zebra/zebra_mpls_openbsd.c \
79 zebra/zebra_mpls_null.c \
80 zebra/zebra_mpls_vty.c \
82 zebra/zebra_srv6_vty.c \
83 zebra/zebra_mroute.c \
85 zebra/zebra_nb_config.c \
86 zebra/zebra_nb_rpcs.c \
87 zebra/zebra_nb_state.c \
88 zebra/zebra_netns_id.c \
89 zebra/zebra_netns_notify.c \
92 zebra/zebra_opaque.c \
95 zebra/zebra_ptm_redistribute.c \
98 zebra/zebra_router.c \
100 zebra/zebra_routemap.c \
101 zebra/zebra_routemap_nb.c \
102 zebra/zebra_routemap_nb_config.c \
103 zebra/zebra_script.c \
106 zebra/zebra_trace.c \
109 zebra/zebra_vxlan.c \
110 zebra/zebra_vxlan_if.c \
111 zebra/zebra_evpn_mh.c \
112 zebra/zebra_neigh.c \
120 zebra/zebra_evpn_mh.c \
121 zebra/zebra_mlag_vty.c \
122 zebra/zebra_routemap.c \
124 zebra/zebra_srv6_vty.c \
126 zebra/dpdk/zebra_dplane_dpdk_vty.c \
137 zebra/kernel_netlink.h \
138 zebra/kernel_socket.h \
139 zebra/label_manager.h \
140 zebra/netconf_netlink.h \
141 zebra/redistribute.h \
147 zebra/rule_netlink.h \
148 zebra/table_manager.h \
151 zebra/zebra_affinitymap.h \
152 zebra/zebra_dplane.h \
153 zebra/zebra_errors.h \
155 zebra/zebra_evpn_mac.h \
156 zebra/zebra_evpn_neigh.h \
157 zebra/zebra_evpn_vxlan.h \
158 zebra/zebra_fpm_private.h \
161 zebra/zebra_mlag_vty.h \
164 zebra/zebra_srv6_vty.h \
165 zebra/zebra_mroute.h \
167 zebra/zebra_netns_id.h \
168 zebra/zebra_netns_notify.h \
170 zebra/zebra_nhg_private.h \
172 zebra/zebra_opaque.h \
175 zebra/zebra_ptm_redistribute.h \
178 zebra/zebra_routemap.h \
179 zebra/zebra_routemap_nb.h \
180 zebra/zebra_router.h \
181 zebra/zebra_script.h \
184 zebra/zebra_trace.h \
186 zebra/zebra_vxlan.h \
187 zebra/zebra_vxlan_private.h \
188 zebra/zebra_evpn_mh.h \
189 zebra/zebra_neigh.h \
190 zebra/zebra_l2_bridge_if.h \
191 zebra/zebra_vxlan_if.h \
193 zebra/dpdk/zebra_dplane_dpdk.h \
194 zebra/dpdk/zebra_dplane_dpdk_private.h \
197 zebra_zebra_irdp_la_SOURCES = \
198 zebra/irdp_interface.c \
200 zebra/irdp_packet.c \
202 zebra_zebra_irdp_la_LDFLAGS = $(MODULE_LDFLAGS)
204 zebra_zebra_snmp_la_SOURCES = zebra/zebra_snmp.c
205 zebra_zebra_snmp_la_CFLAGS = $(AM_CFLAGS) $(SNMP_CFLAGS) -std=gnu11
206 zebra_zebra_snmp_la_LDFLAGS = $(MODULE_LDFLAGS)
207 zebra_zebra_snmp_la_LIBADD = lib/libfrrsnmp.la
209 zebra_zebra_fpm_la_LDFLAGS = $(MODULE_LDFLAGS)
210 zebra_zebra_fpm_la_LIBADD =
211 zebra_zebra_fpm_la_SOURCES = zebra/zebra_fpm.c
212 zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_netlink.c
214 zebra_zebra_fpm_la_LIBADD += fpm/libfrrfpm_pb.la qpb/libfrr_pb.la $(PROTOBUF_C_LIBS)
215 zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_protobuf.c
216 zebra/zebra_fpm_protobuf.lo: fpm/fpm.pb-c.h qpb/qpb.pb-c.h
218 zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_dt.c
219 zebra/zebra_fpm_dt.lo: fpm/fpm.pb-c.h qpb/qpb.pb-c.h
223 # Sample dataplane plugin
225 zebra_dplane_sample_plugin_la_SOURCES = zebra/sample_plugin.c
226 zebra_dplane_sample_plugin_la_LDFLAGS = $(MODULE_LDFLAGS)
229 nodist_zebra_zebra_SOURCES = \
230 yang/frr-zebra.yang.c \
231 yang/frr-zebra-route-map.yang.c \
234 zebra_zebra_cumulus_mlag_la_SOURCES = zebra/zebra_mlag_private.c
235 zebra_zebra_cumulus_mlag_la_LDFLAGS = $(MODULE_LDFLAGS)
238 module_LTLIBRARIES += zebra/dplane_fpm_nl.la
240 zebra_dplane_fpm_nl_la_SOURCES = zebra/dplane_fpm_nl.c
241 zebra_dplane_fpm_nl_la_LDFLAGS = $(MODULE_LDFLAGS)
242 zebra_dplane_fpm_nl_la_LIBADD =
246 zebra_zebra_SOURCES += \
252 module_LTLIBRARIES += zebra/zebra_dplane_dpdk.la
255 zebra_zebra_dplane_dpdk_la_SOURCES = zebra/dpdk/zebra_dplane_dpdk.c zebra/dpdk/zebra_dplane_dpdk_vty.c
256 zebra_zebra_dplane_dpdk_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -L/usr/local/lib -v
257 zebra_zebra_dplane_dpdk_la_CFLAGS = $(DPDK_CFLAGS)
258 zebra_zebra_dplane_dpdk_la_LIBADD = $(DPDK_LIBS)