mirror_frr/zebra
Sharath Ramamurthy 784d88aa14 zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink
This change set introduces data structure changes required for multiple vlan aware bridge
functionality. A new structure zebra_l2_bridge_if encapsulates the vlan to access_bd
association of the bridge. A vlan_table hash_table is used to record each instance
of the vlan to access_bd of the bridge via zebra_l2_bridge_vlan structure.

vxlan iftype derivation: netlink attribute IFLA_VXLAN_COLLECT_METADATA is used
to derive the iftype of the vxlan device. If the attribute is present, then the
vxlan interface is treated as single vxlan device, otherwise it would default to
traditional vxlan device.

zebra_vxlan_check_readd_vtep, zebra_vxlan_dp_network_mac_add/del is modified to
be vni aware.

mac_fdb_read_for_bridge - is modified to be (vlan, bridge) aware

Signed-off-by: Sharath Ramamurthy <sramamurthy@nvidia.com>
2023-02-13 18:12:04 -05:00
..
dpdk build, vtysh: extract vtysh commands from .xref 2022-10-26 17:12:34 +01:00
.gitignore
connected.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
connected.h lib,zebra: use more const 2021-09-14 10:31:45 -04:00
debug_nl.c zebra: add tc netlink and dplane ops 2022-08-11 02:32:43 +08:00
debug.c zebra: fix flags used for debug dpdk 2022-12-13 17:02:29 -05:00
debug.h zebra: fix flags used for debug dpdk 2022-12-13 17:02:29 -05:00
dplane_fpm_nl.c zebra: data structure changes for single vxlan device 2023-02-13 18:12:04 -05:00
if_ioctl.c zebra: changes for code maintainability 2022-09-15 14:18:48 +05:30
if_netlink.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
if_netlink.h zebra: netlink rtm tunnel msg parsing 2022-06-24 07:33:34 -04:00
if_socket.c zebra: Add a mpls enable interface node command 2022-08-08 09:15:22 -04:00
if_sysctl.c zebra: changes for code maintainability 2022-09-15 14:18:48 +05:30
interface.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
interface.h zebra: use real MTYPEs for various objects 2022-12-05 10:55:35 -05:00
ioctl.c zebra: Attempt to make ioctl.c have a bit more useful log messges 2022-06-15 10:34:30 -04:00
ioctl.h *: Remove solaris from FRR 2020-09-21 10:02:20 -04:00
ipforward_proc.c
ipforward_sysctl.c *: Remove solaris from FRR 2020-09-21 10:02:20 -04:00
ipforward.h
irdp_interface.c zebra: use real MTYPEs for various objects 2022-12-05 10:55:35 -05:00
irdp_main.c zebra: Convert thread_cancel to THREAD_OFF 2022-07-21 08:30:50 -04:00
irdp_packet.c *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
irdp.h *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
kernel_netlink.c zebra: use typesafe lib lists in zebra dplane 2023-01-23 08:55:44 -05:00
kernel_netlink.h zebra: new netlink parse utility for rta 2022-05-16 10:45:14 -07:00
kernel_socket.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
kernel_socket.h
label_manager.c Merge pull request #7756 from pjdruddy/bgplu-fixes 2021-01-09 15:48:22 -05:00
label_manager.h zebra: expose label-manager util-funcs 2021-01-05 18:19:44 +00:00
main.c zebra: Ensure memory is not freed that dplane depends on in shutdown 2022-12-17 14:09:29 -05:00
Makefile
netconf_netlink.c zebra/netconf_netlink.c: fix build without AF_MPLS 2022-11-08 18:48:41 +01:00
netconf_netlink.h zebra: Add a mpls enable interface node command 2022-08-08 09:15:22 -04:00
redistribute.c zebra: Create a zebra_rib_route_entry_new function and use it 2022-08-17 16:04:50 -04:00
redistribute.h zebra: Fix redistribute.h up to our standards 2022-01-18 08:39:40 -05:00
rib.h zebra: Fix handling of recursive routes when processing closely in time 2022-10-26 15:06:23 -04:00
router-id.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
router-id.h zebra: add IPv6 router-id 2020-07-17 17:39:05 +02:00
rt_netlink.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
rt_netlink.h zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
rt_socket.c zebra: Do not complain if deletion fails 2022-03-19 07:44:54 -04:00
rt.h zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
rtadv.c zebra: Notice Optional Router Advertisement types that are not handled 2022-12-17 16:32:13 -05:00
rtadv.h zebra: Notice Optional Router Advertisement types that are not handled 2022-12-17 16:32:13 -05:00
rtread_netlink.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
rtread_sysctl.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
rule_netlink.c zebra: Add tracepoint for netlink_rule_change 2022-04-20 09:43:47 -04:00
rule_netlink.h zebra: netlink message batching 2020-08-10 21:42:43 +02:00
rule_socket.c zebra: convert ip rule installation to use dplane thread 2020-06-10 16:18:45 +02:00
sample_plugin.c *: require semicolon after FRR_DAEMON_INFO & co. 2021-03-17 06:18:39 +01:00
subdir.am zebra: traffic control state management 2022-11-22 22:35:35 +08:00
table_manager.c zebra, ospf6d: Do not check if NULL for XCALLOC() 2022-05-08 15:43:21 +03:00
table_manager.h zebra: extend table manager per vrf, add vty configuration 2021-09-21 18:37:30 +02:00
tc_netlink.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
tc_netlink.h zebra: traffic control state management 2022-11-22 22:35:35 +08:00
tc_socket.c zebra: traffic control state management 2022-11-22 22:35:35 +08:00
testrib.conf
zapi_msg.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zapi_msg.h zebra: name the route_entry opaque struct more specifically 2022-01-31 08:50:50 -05:00
zebra_dplane.c zebra: fix SA warning, don't lock plugin list 2023-01-25 08:38:47 -05:00
zebra_dplane.h zebra: use typesafe lib lists in zebra dplane 2023-01-23 08:55:44 -05:00
zebra_errors.c zebra: add support for protodown reason code 2022-03-09 17:52:44 -05:00
zebra_errors.h zebra: add support for protodown reason code 2022-03-09 17:52:44 -05:00
zebra_evpn_mac.c zebra: data structure changes for single vxlan device 2023-02-13 18:12:04 -05:00
zebra_evpn_mac.h bgpd,zebra,lib: bgp evpn vni macip into two tables 2022-10-11 16:18:21 -04:00
zebra_evpn_mh.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
zebra_evpn_mh.h zebra: data structure changes for single vxlan device 2023-02-13 18:12:04 -05:00
zebra_evpn_neigh.c zebra: use "get" naming for bgp accept lower knob 2022-11-01 14:09:15 -04:00
zebra_evpn_neigh.h bgpd,zebra,lib: bgp evpn vni macip into two tables 2022-10-11 16:18:21 -04:00
zebra_evpn_vxlan.h *: cleanup ifp->vrf_id 2021-11-22 20:47:23 +03:00
zebra_evpn.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
zebra_evpn.h zebra: data structure changes for single vxlan device 2023-02-13 18:12:04 -05:00
zebra_fpm_dt.c zebra: replace inet_ntoa 2020-10-22 13:37:25 -04:00
zebra_fpm_netlink.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_fpm_private.h zebra: Fix IPv4 routes with IPv6 link local next hops install in FPM 2021-09-13 08:39:43 -07:00
zebra_fpm_protobuf.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_fpm.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_gr.c zebra: use real MTYPEs for various objects 2022-12-05 10:55:35 -05:00
zebra_l2.c zebra: data structure changes for single vxlan device 2023-02-13 18:12:04 -05:00
zebra_l2.h zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
zebra_mlag_private.c *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
zebra_mlag_vty.c build, vtysh: extract vtysh commands from .xref 2022-10-26 17:12:34 +01:00
zebra_mlag_vty.h
zebra_mlag.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_mlag.h *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
zebra_mpls_netlink.c zebra: dplane FPM handle LSP install/update/delete 2020-11-27 16:32:01 +00:00
zebra_mpls_null.c
zebra_mpls_openbsd.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_mpls_vty.c *: Properly use memset() when zeroing 2022-05-11 14:08:47 +03:00
zebra_mpls.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_mpls.h zebra: Convert label processing to Meta-Q 2022-08-17 10:44:33 -04:00
zebra_mroute.c zebra, pimd: Add a field family in the message ZEBRA_IPMR_ROUTE_STATS 2022-04-28 01:10:49 -07:00
zebra_mroute.h zebra: Modify base code to get ipv6 stats from kernel 2022-04-28 01:10:49 -07:00
zebra_nb_config.c zebra: remove one unnecessary check for l3vni nb 2022-05-20 03:11:27 -04:00
zebra_nb_rpcs.c zebra: display rpc error msg to vtysh 2020-10-05 13:57:54 -07:00
zebra_nb_state.c zebra: data structure changes for single vxlan device 2023-02-13 18:12:04 -05:00
zebra_nb.c zebra: North-bound implementation for zebra rmaps 2021-03-30 22:58:42 +03:00
zebra_nb.h zebra: North-bound implementation for zebra rmaps 2021-03-30 22:58:42 +03:00
zebra_neigh.c zebra: free neighbor state before exit to avoid memleaks 2022-07-14 12:20:01 -04:00
zebra_neigh.h zebra: add support for maintaining local neigh entries 2022-06-27 07:56:55 -04:00
zebra_netns_id.c *: introduce function for sequence numbers 2023-01-20 15:40:28 -03:00
zebra_netns_id.h zebra: dynamically detect vxlan link interfaces in other netns 2020-09-11 18:26:23 +02:00
zebra_netns_notify.c zebra: make sure string is null terminated 2023-01-17 17:08:23 -03:00
zebra_netns_notify.h
zebra_nhg_private.h
zebra_nhg.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_nhg.h lib, zebra: Add ability to encode/decode resilient nhg's 2022-11-04 13:29:36 -04:00
zebra_ns.c zebra: Cleanup use after free in shutdown 2022-12-05 08:49:57 -05:00
zebra_ns.h zebra: Make netlink buffer reads resizeable when needed 2022-02-08 17:28:19 -05:00
zebra_opaque.c *: frr_with_mutex change to follow our standard 2022-07-20 15:50:32 -04:00
zebra_opaque.h
zebra_pbr.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_pbr.h zebra: use real MTYPEs for various objects 2022-12-05 10:55:35 -05:00
zebra_ptm_redistribute.c zebra: kill zebra_memory.h, use MTYPE_STATIC 2021-03-22 20:02:17 +01:00
zebra_ptm_redistribute.h
zebra_ptm.c zebra: Convert thread_cancel to THREAD_OFF 2022-07-21 08:30:50 -04:00
zebra_ptm.h zebra: send BFD messages to staticd 2023-01-13 15:32:12 -03:00
zebra_pw.c zebra: Fix crash in shutdown w/ pw thread still running 2022-08-11 16:31:28 -04:00
zebra_pw.h *: use FRR interface name definition everywhere 2022-05-02 13:00:12 -03:00
zebra_rib.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_rnh.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_rnh.h zebra: fix JSON fields for "show ip/ipv6 nht" 2023-01-24 18:15:36 -08: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 *: make sure config.h or zebra.h is first 2021-04-23 12:06:35 +02:00
zebra_routemap_nb.h zebra: North-bound implementation for zebra rmaps 2021-03-30 22:58:42 +03:00
zebra_routemap.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_routemap.h zebra: Free up routemap name memory on vrf deletion event 2022-12-09 09:47:06 -05:00
zebra_router.c zebra: Add zrouter.asic_notification_nexthop_control 2022-12-12 10:44:57 -05:00
zebra_router.h zebra: Add zrouter.asic_notification_nexthop_control 2022-12-12 10:44:57 -05:00
zebra_script.c zebra: Replace TC definitions for dplane 2022-11-23 17:35:33 +02:00
zebra_script.h zebra: Add encoders/decoders for zebra 2021-10-20 00:56:00 +08:00
zebra_snmp.c build: make builddir include path consistent 2021-04-21 15:42:33 +02:00
zebra_srte.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_srte.h zebra: upon srte leave, flush sr policies 2022-10-19 08:40:01 +02:00
zebra_srv6_vty.c zebra: Add missing newline in SRv6 config write 2022-12-05 10:22:06 +01:00
zebra_srv6_vty.h zebra: add default SRv6 Function length 2022-10-07 11:34:20 +09:00
zebra_srv6.c zebra: Add helpers to notify locator add/delete 2022-11-08 22:44:23 +01:00
zebra_srv6.h zebra: Add helpers to notify locator add/delete 2022-11-08 22:44:23 +01:00
zebra_tc.c zebra: traffic control state management 2022-11-22 22:35:35 +08:00
zebra_tc.h zebra: traffic control state management 2022-11-22 22:35:35 +08:00
zebra_trace.c zebra: Add initial zebra tracepoint support 2022-04-20 09:39:47 -04:00
zebra_trace.h zebra: Fix tracepoint changes for lttng 2022-11-26 09:30:48 -05:00
zebra_vrf.c zebra: Free up routemap name memory on vrf deletion event 2022-12-09 09:47:06 -05:00
zebra_vrf.h zebra: clean up rtadv integration 2022-05-21 14:14:01 +02:00
zebra_vty.c zebra: Add missing enums to switch statements 2023-01-31 15:15:42 -05:00
zebra_vxlan_private.h zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
zebra_vxlan.c zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
zebra_vxlan.h zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink 2023-02-13 18:12:04 -05:00
zserv.c zebra: do not load/store wider-than-ptr atomics 2023-01-06 16:59:02 +01:00
zserv.h zebra: do not load/store wider-than-ptr atomics 2023-01-06 16:59:02 +01:00