mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 18:42:23 +00:00

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>
248 lines
5.7 KiB
Plaintext
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
|