mirror_frr/bgpd
Pascal Mathis e7103a9644
bgpd: Fix AF-attribute overrides when binding peer
The current implementation of the overrides for peer address-family
attributes suffered a bug, which caused all peer-specific attributes to
be lost when the peer was added to a peer-group which already had that
specific address-family active.

This commit extends the *peer_group2peer_config_copy_af* function to
respect overridden flags properly. Additionally, the arguments of the
macros *PEER_ATTR_INHERIT* and *PEER_STR_ATTR_INHERIT* have been
reordered to be more consistent and easy to read.

This commit also adds further test cases to the BGP peer attributes test
suite, so that this kind of error is being caught in future commits. The
missing AF-attribute *distribute-list* has also been added to the test
suite.

Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
2018-06-14 18:55:25 +02:00
..
rfapi bgpd: dead code removal (Coverity 1399389) 2018-06-13 18:17:56 +02:00
rfp-example *: add missing \n in some help strings 2017-10-24 19:30:30 -02:00
.gitignore *: globally ignore clippy-generated source 2018-03-09 17:52:15 -05:00
BGP4-MIB.txt Initial revision 2002-12-13 20:15:29 +00:00
bgp_advertise.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_advertise.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_aspath.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_aspath.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_attr_evpn.c *: change struct evpn_addr to include a union of all evpn route types 2018-05-02 17:49:17 -07:00
bgp_attr_evpn.h bgpd: add basic support for ETI and ESI for BGP EVPN 2018-04-09 11:42:08 +02:00
bgp_attr.c Merge pull request #2259 from ppmathis/enhancement/peer-enforce-first-as 2018-06-04 09:35:00 -04:00
bgp_attr.h bgpd: Handle multiple PREFIX_SID's at a time. 2018-05-02 18:48:58 -04:00
bgp_bfd.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_bfd.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_btoa.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_clist.c bgpd: Improve JSON support for large communities 2018-05-13 19:37:51 +02:00
bgp_clist.h bgpd: clean up clist management logic 2018-04-17 13:58:24 -04:00
bgp_community.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_community.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_damp.c bgpd: avoid indexing with negative integer 2018-04-18 12:16:19 -04:00
bgp_damp.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_debug.c bgpd: enhance debug bgp pbr error vty command 2018-05-25 15:49:38 +02:00
bgp_debug.h bgpd: add pbr error flag for pbr errors 2018-04-30 11:56:23 +02:00
bgp_dump.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_dump.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_ecommunity.c bgpd, lib: Cleanup CI warnings from system 2018-05-30 07:48:21 -04:00
bgp_ecommunity.h bgpd: Fix memory leak of ecommunity_ecom2str 2018-05-16 09:59:06 -04:00
bgp_encap_tlv.c bgpd: Fix off by one error introduced by 8c9cc7bbf6 2017-10-18 18:37:38 -04:00
bgp_encap_tlv.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_encap_types.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_evpn_private.h bgpd, lib: Cleanup CI warnings from system 2018-05-30 07:48:21 -04:00
bgp_evpn_vty.c bgpd: accept vni rd_rt command for default vrf 2018-06-09 17:35:37 -07:00
bgp_evpn_vty.h bgpd: get rid of afi_header_vty_out() & co. 2017-08-29 08:36:03 +02:00
bgp_evpn.c bgpd: Cleanup assumptions in bgp_evpn.c 2018-06-05 10:43:43 -04:00
bgp_evpn.h *: support for evpn type-4 route 2018-05-30 07:48:20 -04:00
bgp_filter.c bgpd: fix clang warning 2017-10-08 23:50:54 +02:00
bgp_filter.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_flowspec_private.h bgpd: support for show bgp ipv4 flowspec 2018-03-30 14:01:05 +02:00
bgp_flowspec_util.c bgpd: add convert function from flowspec to pbr match 2018-04-30 11:56:23 +02:00
bgp_flowspec_util.h bgpd: add convert function from flowspec to pbr match 2018-04-30 11:56:23 +02:00
bgp_flowspec_vty.c bgpd: add vty command to restrict FS policy routing to a defined interface 2018-05-25 15:49:38 +02:00
bgp_flowspec.c bgpd, lib, ospf6d, vtysh: fix possible snprintf possible truncation 2018-06-07 19:51:13 -04:00
bgp_flowspec.h bgpd: add vty command to restrict FS policy routing to a defined interface 2018-05-25 15:49:38 +02:00
bgp_fsm.c bgpd: Respect ability to reach nexthop if available 2018-05-11 07:46:43 -04:00
bgp_fsm.h bgpd: fix bgp_packet.c / bgp_fsm.c organization 2017-11-30 16:18:02 -05:00
bgp_io.c bgpd: block io thread reads once shutdown has started 2018-05-10 08:47:11 -04:00
bgp_io.h bgpd: update pthreads to use lib changes 2018-01-24 15:30:55 -05:00
bgp_keepalives.c bgpd: fix incorrect keepalive timer evaluation 2018-02-21 12:15:17 -05:00
bgp_keepalives.h bgpd: update pthreads to use lib changes 2018-01-24 15:30:55 -05:00
bgp_label.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_label.h bgpd: Prevent vrf 2 vrf route leaking from going offbox. 2018-04-25 12:41:17 -04:00
bgp_labelpool.c bgpd: dynamic mpls label pool 2018-04-11 23:18:28 -07:00
bgp_labelpool.h bgpd: dynamic mpls label pool 2018-04-11 23:18:28 -07:00
bgp_lcommunity.c bgpd: Improve JSON support for large communities 2018-05-13 19:37:51 +02:00
bgp_lcommunity.h bgpd: Improve JSON support for large communities 2018-05-13 19:37:51 +02:00
bgp_main.c bgpd: bgp_default may be null 2018-06-12 15:12:48 -04:00
bgp_memory.c *: support for evpn type-4 route 2018-05-30 07:48:20 -04:00
bgp_memory.h *: support for evpn type-4 route 2018-05-30 07:48:20 -04:00
bgp_mpath.c bgpd: verify that multipath infos are set 2018-04-13 17:17:42 -04:00
bgp_mpath.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_mplsvpn.c bgpd: Lock originating bgp pointer for vrf route leaking 2018-05-31 09:43:07 -04:00
bgp_mplsvpn.h bgpd: Add some vrf <-> vrf code comments 2018-04-25 12:39:17 -04:00
bgp_network.c bgpd: open per vrf listen socket for linux type vrfs 2018-06-04 13:13:15 +02:00
bgp_network.h bgpd: server socket is created for all enabled VRF 2018-02-27 11:11:24 +01:00
bgp_nexthop.c bgpd: Cleanup leaked memory on shutdown 2018-05-31 09:43:07 -04:00
bgp_nexthop.h bgpd: Handle connected routes and IPv6 link-local nexthops for route leaking 2018-04-25 12:39:16 -04:00
bgp_nht.c bgpd: fix NHT free when nht_info is null (fixes crash) 2018-05-09 16:07:36 -04:00
bgp_nht.h bgpd: nexthop tracking with labels for vrf-vpn leaking 2018-04-04 10:00:23 -07:00
bgp_open.c bgpd: add flowspec feature 2018-03-30 14:00:47 +02:00
bgp_open.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_packet.c bgpd: remove unused variable 2018-04-13 17:17:42 -04:00
bgp_packet.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_pbr.c bgpd: Fix redundant or test 2018-05-30 09:32:33 -04:00
bgp_pbr.h bgpd: add vty command to restrict FS policy routing to a defined interface 2018-05-25 15:49:38 +02:00
bgp_rd.c bgpd: Ignore return code for str2prefix 2018-05-30 09:50:22 -04:00
bgp_rd.h bgpd: Auto RD definitions and encoding 2018-04-25 12:39:16 -04:00
bgp_regex.c *: reindent 2017-07-17 14:04:07 +02:00
bgp_regex.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_route.c bgpd: Fix bgpd crash in evpn vni route-map 2018-06-13 10:14:24 -07:00
bgp_route.h Merge pull request #2142 from pguibert6WIND/fs_zebra_complement 2018-05-29 11:33:00 -04:00
bgp_routemap.c bgpd: Fix bgpd crash in evpn vni route-map 2018-06-13 10:14:24 -07:00
bgp_rpki.c Fix compilation against rtrlib with ssh 2018-05-13 13:36:50 +03:00
bgp_snmp.c bgpd: fix and improve snmp peer lookups 2018-05-11 13:54:57 +02:00
bgp_table.c bgpd: nexthop tracking with labels for vrf-vpn leaking 2018-04-04 10:00:23 -07:00
bgp_table.h bgpd: nexthop tracking with labels for vrf-vpn leaking 2018-04-04 10:00:23 -07:00
bgp_updgrp_adv.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_updgrp_packet.c bgpd: enable neighbor-nexthop-self for l2vpn evpn address family 2018-05-08 19:24:15 -04:00
bgp_updgrp.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
bgp_updgrp.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_vnc_types.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_vpn.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_vpn.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_vty.c bgpd: Implement group-overrides for peer flags 2018-06-14 18:55:18 +02:00
bgp_vty.h bgpd: add flowspec feature 2018-03-30 14:00:47 +02:00
bgp_zebra.c Merge pull request #2245 from donaldsharp/type_4 2018-06-01 16:00:14 -04:00
bgp_zebra.h bgpd: do not install BGP FS entries, while table range not obtained 2018-05-25 15:49:38 +02:00
bgpd.c bgpd: Fix AF-attribute overrides when binding peer 2018-06-14 18:55:25 +02:00
bgpd.conf.sample bgpd: hide "router bgp" commands also under "address-family ipv4 unicast" 2017-05-04 17:06:13 +00:00
bgpd.conf.sample2 Initial revision 2002-12-13 20:15:29 +00:00
bgpd.conf.vnc.sample bgpd: hide "router bgp" commands also under "address-family ipv4 unicast" 2017-05-04 17:06:13 +00:00
bgpd.h bgpd: Fix AF-attribute overrides when binding peer 2018-06-14 18:55:25 +02:00
IMPLEMENTATION.txt Adjust size complexity estimates. Still not quite right, but closer. 2005-02-15 17:10:03 +00:00
Makefile.am *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00:00