mirror_frr/bgpd
G. Paul Ziemba c47fd378f3 pbrd: add explicit 'family' field for rules
In the netlink-mediated kernel dataplane, each rule is stored
    in either an IPv4-specific database or an IPv6-specific database.
    PBRD opportunistically gleans each rule's address family value
    from its source or destination IP address match value (if either
    exists), or from its nexthop or nexthop-group (if it exists).

    The 'family' value is particularly needed for netlink during
    incremental rule deletion when none of the above fields remain set.

    Before now, this address family has been encoded by occult means
    in the (possibly otherwise unset) source/destination IP match
    fields in ZAPI and zebra.

    This commit documents the reasons for maintaining the 'family'
    field in the PBRD rule structure, adds a 'family' field in the
    common lib/pbr.h rule structure, and carries it explicitly in ZAPI.

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2023-08-08 10:18:22 -07:00
..
rfapi bgpd: Remove peer->sync array 2023-07-21 12:41:35 -04:00
rfp-example *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
bgp_addpath_types.h bgpd: Implement neighbor X addpath-tx-best-selected command 2023-06-07 22:27:29 +03:00
bgp_addpath.c bgpd: Implement neighbor X addpath-tx-best-selected command 2023-06-07 22:27:29 +03:00
bgp_addpath.h bgpd: Implement neighbor X addpath-tx-best-selected command 2023-06-07 22:27:29 +03:00
bgp_advertise.c bgpd: Remove peer->sync array 2023-07-21 12:41:35 -04:00
bgp_advertise.h bgpd: Remove withdraw_low from system, it is never used 2023-07-21 12:46:31 -04:00
bgp_aspath.c bgpd: add set as-path exclude acl-list command 2023-07-19 10:57:48 +02:00
bgp_aspath.h bgpd: add set as-path exclude acl-list command 2023-07-19 10:57:48 +02:00
bgp_attr_evpn.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_attr_evpn.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_attr.c bgpd: Handle srv6 attributes the same way as others using setters/getters 2023-08-03 22:53:21 +03:00
bgp_attr.h bgpd: Use SET_FLAG when setting AIGP attribute flag 2023-08-03 22:54:54 +03:00
bgp_bfd.c doc: Add missing rfc9384 to BGP supported RFC list 2023-04-01 21:56:37 +03:00
bgp_bfd.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
bgp_bmp.c bgpd: bmp fix peer-up ports byte order 2023-04-03 17:19:32 +02:00
bgp_bmp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_btoa.c Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_clist.c bgpd: Remove deprecated COMMUNITY_INTERNET community 2023-08-03 17:12:19 +03:00
bgp_clist.h bgpd: add set extended-comm-list <> delete command 2023-07-31 11:52:36 +02:00
bgp_community_alias.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
bgp_community_alias.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_community.c bgpd: Remove deprecated COMMUNITY_INTERNET community 2023-08-03 17:12:19 +03:00
bgp_community.h bgpd: Remove deprecated COMMUNITY_INTERNET community 2023-08-03 17:12:19 +03:00
bgp_conditional_adv.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
bgp_conditional_adv.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_damp.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_damp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_debug.c Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_debug.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_dump.c bgpd: increase buffer size used for dumping BGP to MRT files 2023-03-30 14:23:48 +01:00
bgp_dump.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_ecommunity.c Merge pull request #13882 from opensourcerouting/fix/dead_code 2023-07-01 14:33:07 -04:00
bgp_ecommunity.h Merge pull request #13722 from fdumontet6WIND/color_extcomm 2023-06-27 13:03:22 +03:00
bgp_encap_tlv.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_encap_tlv.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_encap_types.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_errors.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_errors.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_evpn_mh.c bgpd:add correct value into dfAlgorithm json output 2023-04-16 10:29:09 -07:00
bgp_evpn_mh.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_evpn_private.h bgpd: Add MAC-VRF Site-of-Origin support 2023-05-30 15:20:35 +00:00
bgp_evpn_vty.c bgpd: fix bgp evpn cli memory leaks. 2023-07-18 10:15:19 +00:00
bgp_evpn_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_evpn.c bgpd: fix evpn zclient_send_message return code 2023-07-07 18:55:04 -07:00
bgp_evpn.h bgpd: add EVPN reimport handler for martian change 2023-05-30 15:20:35 +00:00
bgp_filter.c bgpd: add set as-path exclude acl-list command 2023-07-19 10:57:48 +02:00
bgp_filter.h bgpd: add set as-path exclude acl-list command 2023-07-19 10:57:48 +02:00
bgp_flowspec_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec_util.c bgpd: add some flowspec sanity returns 2023-04-28 22:28:16 +02:00
bgp_flowspec_util.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec.c bgpd: Free temp memory 2023-05-29 13:39:14 +04:00
bgp_flowspec.h bgpd: Treat withdraw variable as a bool 2023-04-06 17:41:32 -04:00
bgp_fsm.c bgpd: Remove peer->obuf_work 2023-07-21 12:30:20 -04:00
bgp_fsm.h bgpd: Use enum bgp_fsm_state_progress for bgp_stop() 2023-06-13 16:01:40 +03:00
bgp_io.c bgpd: With io limit allow parsing to continue even if memory is low 2023-07-24 10:41:00 -04:00
bgp_io.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_keepalives.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
bgp_keepalives.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_label.c bgpd: add a function to compare two label lists 2023-06-16 10:54:58 +02:00
bgp_label.h bgpd: add a function to compare two label lists 2023-06-16 10:54:58 +02:00
bgp_labelpool.c bgpd: Retry connecting to synchronouse label manager if not ready 2023-06-20 20:50:38 +03:00
bgp_labelpool.h bgpd: Use synchronous way to get labels from Zebra 2023-06-20 20:50:10 +03:00
bgp_lcommunity.c bgpd: Fix lcom->str string length to correctly cover aliases 2023-04-20 16:51:56 -04:00
bgp_lcommunity.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mac.c bgpd: only rescan EVPN tables if self-mac changes 2023-05-30 15:20:35 +00:00
bgp_mac.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_main.c bgpd: Allow bgp to specify if it will allow v6 routing with v4 nexthops 2023-08-03 08:25:20 -04:00
bgp_memory.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bgp_memory.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bgp_mpath.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mpath.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mplsvpn_snmp.c bgpd: Coverity mistakenly believes we can fall through 2023-04-21 07:57:19 -04:00
bgp_mplsvpn_snmp.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mplsvpn.c bgpd: Free nexthop in bgp_mplsvpn_nh_label_bind_free 2023-07-05 22:26:58 +04:00
bgp_mplsvpn.h bgpd: free bgp vpn policy 2023-07-04 14:59:02 +04:00
bgp_network.c bgpd: Add some color to why nexthop_set failed 2023-06-12 09:22:51 -04:00
bgp_network.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_nexthop.c bgpd: rename bnc->ifindex to bnc->ifindex_ipv6_ll 2023-07-13 12:05:15 +02:00
bgp_nexthop.h bgpd: rename bnc->ifindex to bnc->ifindex_ipv6_ll 2023-07-13 12:05:15 +02:00
bgp_nht.c bgpd: Initialize bgp_nht_ifp_table_handle() bools 2023-07-18 20:45:47 +03:00
bgp_nht.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_open.c bgpd: Send software-version capability by default 2023-07-18 09:42:48 +03:00
bgp_open.h bgpd: Deprecate Prestandard Outbound Route Filtering capability 2023-07-07 23:41:43 +03:00
bgp_packet.c Merge pull request #14139 from donaldsharp/v6_v4_nexthops 2023-08-06 20:11:19 +03:00
bgp_packet.h bgpd: Treat withdraw variable as a bool 2023-04-06 17:41:32 -04:00
bgp_pbr.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
bgp_pbr.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_rd.c Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_rd.h Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_regex.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_regex.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_route.c bgpd: non pretty json output for neighbor routes 2023-07-24 10:50:45 -07:00
bgp_route.h bgpd: Drop bgp_static_withdraw_safi() function 2023-07-14 19:12:01 +03:00
bgp_routemap_nb_config.c bgpd: add set extended-comm-list <> delete command 2023-07-31 11:52:36 +02:00
bgp_routemap_nb.c bgpd: add colored extended communities support 2023-06-26 14:27:27 +02:00
bgp_routemap_nb.h bgpd: add colored extended communities support 2023-06-26 14:27:27 +02:00
bgp_routemap.c bgpd: Remove deprecated COMMUNITY_INTERNET community 2023-08-03 17:12:19 +03:00
bgp_rpki.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_rpki.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_script.c lib: Do not use time_t as a special Lua encoder/decoder 2023-08-01 14:08:25 +03:00
bgp_script.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_snmp_bgp4.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_snmp_bgp4.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
bgp_snmp_bgp4v2.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_snmp_bgp4v2.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
bgp_snmp.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_snmp.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_table.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_table.h bgpd: Fix missing deletion of evpn routes 2023-06-03 09:27:53 +08:00
bgp_trace.c *: make sure config.h or zebra.h is first 2021-04-23 12:06:35 +02:00
bgp_trace.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_updgrp_adv.c Merge pull request #13728 from opensourcerouting/fix/addpath_drop_non_best_addpaths 2023-06-20 09:20:36 -04:00
bgp_updgrp_packet.c bgpd: advertise mpls vpn routes with appropriate label 2023-06-16 10:54:58 +02:00
bgp_updgrp.c bgpd: Remove withdraw_low from system, it is never used 2023-07-21 12:46:31 -04:00
bgp_updgrp.h bgpd: Remove withdraw_low from system, it is never used 2023-07-21 12:46:31 -04:00
bgp_vnc_types.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_vpn.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_vpn.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_vty.c bgpd: Check if we have such a peer before handling software capability 2023-08-03 22:00:27 +03:00
bgp_vty.h bgpd: Use enum bgp_create_error_code as argument in header 2023-06-13 16:08:24 +03:00
bgp_zebra.c pbrd: add explicit 'family' field for rules 2023-08-08 10:18:22 -07:00
bgp_zebra.h bgpd: Fix table manager to use the synchronous client 2023-07-10 10:47:17 -04:00
bgpd.c bgpd: Handle software version capability dynamicaly 2023-08-03 17:08:33 +03:00
bgpd.h bgpd: Have bgp notice the zebra ability to use v6_with_v4_nexthops 2023-08-03 08:25:20 -04:00
Makefile build: non-recursive bgpd & rfp 2018-09-08 21:25:59 +02:00
subdir.am Revert "bgpd: optimal router reflection cli and fsm changes" 2023-01-17 18:15:28 +02:00