mirror_frr/zebra/subdir.am
Hiroki Shirokura 6e68a08484 zebra: ZAPI add new api to manipulate srv6-locator (step2)
This commit is a part of #5853 works that add new ZAPI to
configure SRv6 locator which manages chunk prefix for
SRv6 SID IPv6 address for each routing protocol daemons.

NEW-ZAPIs:
* ZEBRA_SRV6_LOCATOR_ADD
* ZEBRA_SRV6_LOCATOR_DELETE
* ZEBRA_SRV6_MANAGER_CONNECT
* ZEBRA_SRV6_MANAGER_GET_LOCATOR_CHUNK
* ZEBRA_SRV6_MANAGER_RELEASE_LOCATOR_CHUNK

Zclient can connect to zebra's srv6-manager with
ZEBRA_SRV6_MANAGER_CONNECT api like a label-manager.
Then zclient uses ZEBRA_SRV6_MANAGER_GET_LOCATOR_CHUNK to
allocated dedicated locator chunk for it's routing protocol.
Zebra works for only prefix reservation and distribute
the ownership of the locator chunks for zcliens.

Then, zclient installs SRv6 function with
ZEBRA_ROUTE_ADD api with nh_seg6local_* fields.
This feature is already implemented by another PR(#7680).

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2021-06-02 10:24:47 -04:00

248 lines
5.7 KiB
Plaintext

#
# zebra
#
if ZEBRA
sbin_PROGRAMS += zebra/zebra
vtysh_scan += \
zebra/debug.c \
zebra/interface.c \
zebra/router-id.c \
zebra/rtadv.c \
zebra/zebra_gr.c \
zebra/zebra_mlag_vty.c \
zebra/zebra_evpn_mh.c \
zebra/zebra_mpls_vty.c \
zebra/zebra_srv6_vty.c \
zebra/zebra_ptm.c \
zebra/zebra_pw.c \
zebra/zebra_routemap.c \
zebra/zebra_vty.c \
zebra/zserv.c \
# end
# can be loaded as DSO - always include for vtysh
vtysh_scan += zebra/irdp_interface.c
vtysh_scan += zebra/zebra_fpm.c
vtysh_daemons += zebra
if IRDP
module_LTLIBRARIES += zebra/zebra_irdp.la
endif
if SNMP
module_LTLIBRARIES += zebra/zebra_snmp.la
endif
if FPM
module_LTLIBRARIES += zebra/zebra_fpm.la
endif
if LINUX
module_LTLIBRARIES += zebra/zebra_cumulus_mlag.la
endif
# Dataplane sample plugin
if DEV_BUILD
module_LTLIBRARIES += zebra/dplane_sample_plugin.la
endif
man8 += $(MANBUILD)/frr-zebra.8
## endif ZEBRA
endif
zebra_zebra_LDADD = lib/libfrr.la $(LIBCAP)
if HAVE_PROTOBUF3
zebra_zebra_LDADD += mlag/libmlag_pb.la $(PROTOBUF_C_LIBS)
zebra/zebra_mlag.$(OBJEXT): mlag/mlag.pb-c.h
endif
zebra_zebra_SOURCES = \
zebra/connected.c \
zebra/debug.c \
zebra/if_ioctl.c \
zebra/if_netlink.c \
zebra/if_sysctl.c \
zebra/interface.c \
zebra/ioctl.c \
zebra/ipforward_proc.c \
zebra/ipforward_sysctl.c \
zebra/kernel_netlink.c \
zebra/kernel_socket.c \
zebra/label_manager.c \
zebra/main.c \
zebra/redistribute.c \
zebra/router-id.c \
zebra/rt_netlink.c \
zebra/rt_socket.c \
zebra/rtadv.c \
zebra/rtread_netlink.c \
zebra/rtread_sysctl.c \
zebra/rule_netlink.c \
zebra/rule_socket.c \
zebra/table_manager.c \
zebra/zapi_msg.c \
zebra/zebra_dplane.c \
zebra/zebra_errors.c \
zebra/zebra_gr.c \
zebra/zebra_l2.c \
zebra/zebra_evpn.c \
zebra/zebra_evpn_mac.c \
zebra/zebra_evpn_neigh.c \
zebra/zebra_mlag.c \
zebra/zebra_mlag_vty.c \
zebra/zebra_mpls.c \
zebra/zebra_mpls_netlink.c \
zebra/zebra_mpls_openbsd.c \
zebra/zebra_mpls_null.c \
zebra/zebra_mpls_vty.c \
zebra/zebra_srv6.c \
zebra/zebra_srv6_vty.c \
zebra/zebra_mroute.c \
zebra/zebra_nb.c \
zebra/zebra_nb_config.c \
zebra/zebra_nb_rpcs.c \
zebra/zebra_nb_state.c \
zebra/zebra_netns_id.c \
zebra/zebra_netns_notify.c \
zebra/zebra_nhg.c \
zebra/zebra_ns.c \
zebra/zebra_opaque.c \
zebra/zebra_pbr.c \
zebra/zebra_ptm.c \
zebra/zebra_ptm_redistribute.c \
zebra/zebra_pw.c \
zebra/zebra_rib.c \
zebra/zebra_router.c \
zebra/zebra_rnh.c \
zebra/zebra_routemap.c \
zebra/zebra_routemap_nb.c \
zebra/zebra_routemap_nb_config.c \
zebra/zebra_srte.c \
zebra/zebra_vrf.c \
zebra/zebra_vty.c \
zebra/zebra_vxlan.c \
zebra/zebra_evpn_mh.c \
zebra/zserv.c \
# end
clippy_scan += \
zebra/debug.c \
zebra/interface.c \
zebra/rtadv.c \
zebra/zebra_evpn_mh.c \
zebra/zebra_mlag_vty.c \
zebra/zebra_routemap.c \
zebra/zebra_vty.c \
# end
noinst_HEADERS += \
zebra/connected.h \
zebra/debug.h \
zebra/if_netlink.h \
zebra/interface.h \
zebra/ioctl.h \
zebra/ipforward.h \
zebra/irdp.h \
zebra/kernel_netlink.h \
zebra/kernel_socket.h \
zebra/label_manager.h \
zebra/redistribute.h \
zebra/rib.h \
zebra/router-id.h \
zebra/rt.h \
zebra/rt_netlink.h \
zebra/rtadv.h \
zebra/rule_netlink.h \
zebra/table_manager.h \
zebra/zapi_msg.h \
zebra/zebra_dplane.h \
zebra/zebra_errors.h \
zebra/zebra_evpn.h \
zebra/zebra_evpn_mac.h \
zebra/zebra_evpn_neigh.h \
zebra/zebra_evpn_vxlan.h \
zebra/zebra_fpm_private.h \
zebra/zebra_l2.h \
zebra/zebra_mlag.h \
zebra/zebra_mlag_vty.h \
zebra/zebra_mpls.h \
zebra/zebra_srv6.h \
zebra/zebra_srv6_vty.h \
zebra/zebra_mroute.h \
zebra/zebra_nb.h \
zebra/zebra_netns_id.h \
zebra/zebra_netns_notify.h \
zebra/zebra_nhg.h \
zebra/zebra_nhg_private.h \
zebra/zebra_ns.h \
zebra/zebra_opaque.h \
zebra/zebra_pbr.h \
zebra/zebra_ptm.h \
zebra/zebra_ptm_redistribute.h \
zebra/zebra_pw.h \
zebra/zebra_rnh.h \
zebra/zebra_routemap.h \
zebra/zebra_routemap_nb.h \
zebra/zebra_router.h \
zebra/zebra_srte.h \
zebra/zebra_vrf.h \
zebra/zebra_vxlan.h \
zebra/zebra_vxlan_private.h \
zebra/zebra_evpn_mh.h \
zebra/zserv.h \
# end
zebra_zebra_irdp_la_SOURCES = \
zebra/irdp_interface.c \
zebra/irdp_main.c \
zebra/irdp_packet.c \
# end
zebra_zebra_irdp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
zebra_zebra_snmp_la_SOURCES = zebra/zebra_snmp.c
zebra_zebra_snmp_la_CFLAGS = $(AM_CFLAGS) $(SNMP_CFLAGS) -std=gnu11
zebra_zebra_snmp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
zebra_zebra_snmp_la_LIBADD = lib/libfrrsnmp.la
zebra_zebra_fpm_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
zebra_zebra_fpm_la_LIBADD =
zebra_zebra_fpm_la_SOURCES = zebra/zebra_fpm.c
zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_netlink.c
if HAVE_PROTOBUF
zebra_zebra_fpm_la_LIBADD += fpm/libfrrfpm_pb.la qpb/libfrr_pb.la $(PROTOBUF_C_LIBS)
zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_protobuf.c
zebra/zebra_fpm_protobuf.lo: fpm/fpm.pb-c.h qpb/qpb.pb-c.h
if DEV_BUILD
zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_dt.c
zebra/zebra_fpm_dt.lo: fpm/fpm.pb-c.h qpb/qpb.pb-c.h
endif
endif
# Sample dataplane plugin
if DEV_BUILD
zebra_dplane_sample_plugin_la_SOURCES = zebra/sample_plugin.c
zebra_dplane_sample_plugin_la_LDFLAGS = -module -shared -avoid-version -export-dynamic
endif
nodist_zebra_zebra_SOURCES = \
yang/frr-zebra.yang.c \
yang/frr-zebra-route-map.yang.c \
# end
zebra_zebra_cumulus_mlag_la_SOURCES = zebra/zebra_mlag_private.c
zebra_zebra_cumulus_mlag_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
if LINUX
module_LTLIBRARIES += zebra/dplane_fpm_nl.la
zebra_dplane_fpm_nl_la_SOURCES = zebra/dplane_fpm_nl.c
zebra_dplane_fpm_nl_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
zebra_dplane_fpm_nl_la_LIBADD =
vtysh_scan += zebra/dplane_fpm_nl.c
endif
if NETLINK_DEBUG
zebra_zebra_SOURCES += \
zebra/debug_nl.c \
# end
endif