mirror_frr/zebra
Carmine Scarpitta 959267f7c2 zebra: Add function to resolve Generic Netlink family
Generic Netlink is an extension of Netlink meant for kernel-user space
communications. It supports the dynamic allocation of communication
channels. Kernel and user space applications register their services
with a Generic Netlink controller. The Generic Netlink controller is
responsible for assigning a unique channel number with each service.
Clients who want to use a service query the controller to see if
the service exists and to determine the correct channel number. The
channel number is used to access the requested service.

This commit adds the base functionality to get the channel number
assigned to a specific service. More precisely, this commit adds a
function `genl_resolve_family()` that takes the service name (called
family in the Generic Netlink terminology) as an input parameter and
queries the Generic Netlink controller to get the channel number
assigned with the requested service.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2023-12-14 14:56:44 +01:00
..
dpdk zebra: Drop new lines from zlog_debug for dpdk debug messages 2023-09-29 09:02:58 +03:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
connected.c zebra: Add connected with noprefixroute 2023-12-06 09:27:52 -05:00
connected.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
debug_nl.c zebra: debug ifname in netlink link debugs 2023-10-20 11:20:25 -04:00
debug.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
debug.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
dplane_fpm_nl.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
ge_netlink.c zebra: Add function to resolve Generic Netlink family 2023-12-14 14:56:44 +01:00
ge_netlink.h zebra: Add function to resolve Generic Netlink family 2023-12-14 14:56:44 +01:00
if_ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_netlink.c zebra: Add ability to note that a address is NOPREFIXROUTE 2023-12-06 09:27:52 -05:00
if_netlink.h zebra: Move protodown_r_bit to a better spot 2023-07-05 11:49:36 -04:00
if_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_sysctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
interface.c zebra: Add connected with noprefixroute 2023-12-06 09:27:52 -05:00
interface.h Merge pull request #13545 from idryzhov/remove-bond-slave 2023-06-23 11:01:19 +03:00
ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ioctl.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward_proc.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward_sysctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
irdp_interface.c *: convert struct interface->connected to DLIST 2023-11-22 23:00:30 +01:00
irdp_main.c *: convert struct interface->connected to DLIST 2023-11-22 23:00:30 +01:00
irdp_packet.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
kernel_netlink.c zebra: Add function to resolve Generic Netlink family 2023-12-14 14:56:44 +01:00
kernel_netlink.h zebra: Add Generic Netlink socket 2023-12-14 14:56:44 +01:00
kernel_socket.c *: Let's use the native IFNAMSIZ instead of INTERFACE_NAMSIZ 2023-11-21 08:08:29 -05:00
kernel_socket.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
label_manager.c zebra: Cleanup linked list on shutdown in label manager 2023-12-11 15:26:20 -05:00
label_manager.h zebra: Cleanup linked list on shutdown in label manager 2023-12-11 15:26:20 -05:00
main.c zebra: Don't leak memory in rtadv.c code on shutdown 2023-12-12 13:29:47 -05:00
Makefile
netconf_netlink.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
netconf_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
redistribute.c Merge pull request #12600 from donaldsharp/local_routes 2023-12-05 11:00:44 -05:00
redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rib.h zebra: The dplane_fpm_nl return path leaks memory 2023-12-11 13:44:06 -05:00
router-id.c Revert "lib: register bgp link-state afi/safi" 2023-10-10 16:45:57 -04:00
router-id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt_netlink.c zebra: The dplane_fpm_nl return path leaks memory 2023-12-11 13:44:06 -05:00
rt_netlink.h zebra: support route replace semantics in FPM 2023-09-04 15:38:03 -03:00
rt_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt.h *: Introduce Local Host Routes to FRR 2023-11-01 17:13:06 -04:00
rtadv.c zebra: Don't leak memory in rtadv.c code on shutdown 2023-12-12 13:29:47 -05:00
rtadv.h zebra: Don't leak memory in rtadv.c code on shutdown 2023-12-12 13:29:47 -05:00
rtread_netlink.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rtread_sysctl.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rule_netlink.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
rule_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rule_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
sample_plugin.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
subdir.am zebra: Add function to resolve Generic Netlink family 2023-12-14 14:56:44 +01:00
table_manager.c zebra: remove unnecessary check for default vrf 2023-07-12 17:00:27 +08:00
table_manager.h *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
tc_netlink.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
tc_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
tc_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
testrib.conf
zapi_msg.c zebra: enqueue NHG_DEL in rib_nhg meta queue 2023-12-07 17:20:20 +01:00
zapi_msg.h zebra: add redistribute table-direct support 2023-10-20 13:28:52 +02:00
zebra_affinitymap.c lib,zebra: add affinity-map configuration hooks 2023-02-10 13:52:01 +01:00
zebra_affinitymap.h lib,zebra: add affinity-map configuration hooks 2023-02-10 13:52:01 +01:00
zebra_dplane.c zebra: Add ability to note that a address is NOPREFIXROUTE 2023-12-06 09:27:52 -05:00
zebra_dplane.h zebra: Add ability to note that a address is NOPREFIXROUTE 2023-12-06 09:27:52 -05:00
zebra_errors.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_errors.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_evpn_mac.c zebra:fix evpn dup detected local mac del event 2023-04-20 15:45:39 -07:00
zebra_evpn_mac.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_evpn_mh.c zebra: use ifindex vs ifp to avoid use-after-free on shutdown 2023-05-30 04:09:29 -04:00
zebra_evpn_mh.h zebra: use ifindex vs ifp to avoid use-after-free on shutdown 2023-05-30 04:09:29 -04:00
zebra_evpn_neigh.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
zebra_evpn_neigh.h *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
zebra_evpn_vxlan.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_evpn.c *: convert struct interface->connected to DLIST 2023-11-22 23:00:30 +01:00
zebra_evpn.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_fpm_dt.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
zebra_fpm_netlink.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
zebra_fpm_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm_protobuf.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
zebra_gr.c *: Introduce Local Host Routes to FRR 2023-11-01 17:13:06 -04:00
zebra_l2_bridge_if.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
zebra_l2_bridge_if.h zebra: multiple vlan aware bridge data structure and related changes 2023-02-13 18:12:04 -05:00
zebra_l2.c zebra: Fix crashes in interface change 2023-08-17 09:43:06 -04:00
zebra_l2.h zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
zebra_mlag_private.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_mlag_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mlag_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mlag.c *: Let's use the native IFNAMSIZ instead of INTERFACE_NAMSIZ 2023-11-21 08:08:29 -05:00
zebra_mlag.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_netlink.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
zebra_mpls_null.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_openbsd.c zebra: reduce number of switch statements with dplane opcodes 2023-11-17 08:40:58 -05:00
zebra_mpls_vty.c zebra: add 'mpls label dynamic-block' command 2023-10-18 09:41:02 +02:00
zebra_mpls.c Merge pull request #12600 from donaldsharp/local_routes 2023-12-05 11:00:44 -05:00
zebra_mpls.h zebra: Unregister mpls hooks on zebra shutdown 2023-11-21 12:41:18 -05:00
zebra_mroute.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mroute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nb_config.c lib: all: remove './' from xpath 22% speedup 2023-11-29 14:37:23 -05:00
zebra_nb_rpcs.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nb_state.c zebra: add northbound api hooks for nexthop segments 2023-09-20 15:07:15 +02:00
zebra_nb.c zebra: add northbound api hooks for nexthop segments 2023-09-20 15:07:15 +02:00
zebra_nb.h zebra: add northbound api hooks for nexthop segments 2023-09-20 15:07:15 +02:00
zebra_neigh.c zebra: Remove static ARP entries on interface down events 2023-11-06 15:00:59 +02:00
zebra_neigh.h zebra: Remove static ARP entries on interface down events 2023-11-06 15:00:59 +02:00
zebra_netns_id.c *: Remove netlink headers from lib/zebra.h 2023-11-07 06:46:19 -05:00
zebra_netns_id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_notify.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_netns_notify.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nhg_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nhg.c Merge pull request #12600 from donaldsharp/local_routes 2023-12-05 11:00:44 -05:00
zebra_nhg.h zebra: re-install nhg on interface up 2023-05-05 14:37:52 -07:00
zebra_ns.c zebra: On shutdown cleanup zns memory. 2023-11-21 12:39:07 -05:00
zebra_ns.h zebra: Add Generic Netlink socket 2023-12-14 14:56:44 +01:00
zebra_opaque.c zebra: clean up coverity warning in opaque api 2023-06-26 13:19:23 -04:00
zebra_opaque.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_pbr.c *: Let's use the native IFNAMSIZ instead of INTERFACE_NAMSIZ 2023-11-21 08:08:29 -05:00
zebra_pbr.h *: Let's use the native IFNAMSIZ instead of INTERFACE_NAMSIZ 2023-11-21 08:08:29 -05:00
zebra_ptm_redistribute.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm_redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm.c *: Let's use the native IFNAMSIZ instead of INTERFACE_NAMSIZ 2023-11-21 08:08:29 -05:00
zebra_ptm.h ripd: support BFD integration 2023-04-19 09:15:01 -03:00
zebra_pw.c zebra: Properly unregister hook on shutdown 2023-12-11 15:22:07 -05:00
zebra_pw.h zebra: Properly unregister hook on shutdown 2023-12-11 15:22:07 -05:00
zebra_rib.c zebra: The dplane_fpm_nl return path leaks memory 2023-12-11 13:44:06 -05:00
zebra_rnh.c Merge pull request #12600 from donaldsharp/local_routes 2023-12-05 11:00:44 -05:00
zebra_rnh.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap_nb_config.c zebra: remove checks for src address existence when using "set src" 2021-08-02 18:35:30 +03:00
zebra_routemap_nb.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap_nb.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap.c zebra: Remove tag from zebra_rmap_obj 2023-08-11 11:21:03 -04:00
zebra_routemap.h zebra: Remove tag from zebra_rmap_obj 2023-08-11 11:21:03 -04:00
zebra_router.c zebra: Set Free Functions for Traffic Control Hash Tables 2023-11-29 16:33:54 +04:00
zebra_router.h zebra: Move v6_rr_semantics to be part of zrouter structure 2023-11-06 08:42:30 -05:00
zebra_script.c zebra: Fix missing break in switch 2023-11-03 17:54:55 +00:00
zebra_script.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_snmp.c *: Introduce Local Host Routes to FRR 2023-11-01 17:13:06 -04:00
zebra_srte.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srte.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6.c zebra: On shutdown, free up srv6 list data 2023-12-12 12:04:14 -05:00
zebra_srv6.h zebra: On shutdown, free up srv6 list data 2023-12-12 12:04:14 -05:00
zebra_tc.c zebra: Set Free Functions for Traffic Control Hash Tables 2023-11-29 16:33:54 +04:00
zebra_tc.h zebra: Set Free Functions for Traffic Control Hash Tables 2023-11-29 16:33:54 +04:00
zebra_trace.c zebra: Add initial zebra tracepoint support 2022-04-20 09:39:47 -04:00
zebra_trace.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_vrf.c zebra: Properly unregister hook on shutdown 2023-12-11 15:22:07 -05:00
zebra_vrf.h zebra: Enable nht resolve-via-default by default for traditional profile 2023-08-17 21:45:55 +03:00
zebra_vty.c Merge pull request #12600 from donaldsharp/local_routes 2023-12-05 11:00:44 -05:00
zebra_vxlan_if.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
zebra_vxlan_if.h zebra: Fix for mcast-group update and delete per vni for svd 2023-02-13 18:12:05 -05:00
zebra_vxlan_private.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_vxlan.c zebra: Cleanup svd_nh_table on shutdown 2023-11-21 12:41:18 -05:00
zebra_vxlan.h zebra: Cleanup svd_nh_table on shutdown 2023-11-21 12:41:18 -05:00
zserv.c zebra: add client counter for nhg operations 2023-11-30 14:25:00 +01:00
zserv.h Merge pull request #12600 from donaldsharp/local_routes 2023-12-05 11:00:44 -05:00