mirror_frr/bgpd
Daniel Walton adbac85e10 BGP: support for addpath TX
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Vivek Venkataraman <vivek@cumulusnetworks.com

Ticket: CM-8014

This implements addpath TX with the first feature to use it
being "neighbor x.x.x.x addpath-tx-all-paths".

One change to show output is 'show ip bgp x.x.x.x'.  If no addpath-tx
features are configured for any peers then everything looks the same
as it is today in that "Advertised to" is at the top and refers to
which peers the bestpath was advertise to.

root@superm-redxp-05[quagga-stash5]# vtysh -c 'show ip bgp 1.1.1.1'
BGP routing table entry for 1.1.1.1/32
Paths: (6 available, best #6, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  r1(10.0.0.1) r2(10.0.0.2) r3(10.0.0.3) r4(10.0.0.4) r5(10.0.0.5) r6(10.0.0.6) r8(10.0.0.8)
  Local, (Received from a RR-client)
    12.12.12.12 (metric 20) from r2(10.0.0.2) (10.0.0.2)
      Origin IGP, metric 0, localpref 100, valid, internal
      AddPath ID: RX 0, TX 8
      Last update: Fri Oct 30 18:26:44 2015
[snip]

but once you enable an addpath feature we must display "Advertised to" on a path-by-path basis:

superm-redxp-05# show ip bgp 1.1.1.1/32
BGP routing table entry for 1.1.1.1/32
Paths: (6 available, best #6, table Default-IP-Routing-Table)
  Local, (Received from a RR-client)
    12.12.12.12 (metric 20) from r2(10.0.0.2) (10.0.0.2)
      Origin IGP, metric 0, localpref 100, valid, internal
      AddPath ID: RX 0, TX 8
      Advertised to: r8(10.0.0.8)
      Last update: Fri Oct 30 18:26:44 2015

  Local, (Received from a RR-client)
    34.34.34.34 (metric 20) from r3(10.0.0.3) (10.0.0.3)
      Origin IGP, metric 0, localpref 100, valid, internal
      AddPath ID: RX 0, TX 7
      Advertised to: r8(10.0.0.8)
      Last update: Fri Oct 30 18:26:39 2015

  Local, (Received from a RR-client)
    56.56.56.56 (metric 20) from r6(10.0.0.6) (10.0.0.6)
      Origin IGP, metric 0, localpref 100, valid, internal
      AddPath ID: RX 0, TX 6
      Advertised to: r8(10.0.0.8)
      Last update: Fri Oct 30 18:26:39 2015

  Local, (Received from a RR-client)
    56.56.56.56 (metric 20) from r5(10.0.0.5) (10.0.0.5)
      Origin IGP, metric 0, localpref 100, valid, internal
      AddPath ID: RX 0, TX 5
      Advertised to: r8(10.0.0.8)
      Last update: Fri Oct 30 18:26:39 2015

  Local, (Received from a RR-client)
    34.34.34.34 (metric 20) from r4(10.0.0.4) (10.0.0.4)
      Origin IGP, metric 0, localpref 100, valid, internal
      AddPath ID: RX 0, TX 4
      Advertised to: r8(10.0.0.8)
      Last update: Fri Oct 30 18:26:39 2015

  Local, (Received from a RR-client)
    12.12.12.12 (metric 20) from r1(10.0.0.1) (10.0.0.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      AddPath ID: RX 0, TX 3
      Advertised to: r1(10.0.0.1) r2(10.0.0.2) r3(10.0.0.3) r4(10.0.0.4) r5(10.0.0.5) r6(10.0.0.6) r8(10.0.0.8)
      Last update: Fri Oct 30 18:26:34 2015

superm-redxp-05#
2015-11-05 17:29:43 +00:00
..
.gitignore [administrivia] Update gitignore files 2008-08-22 20:02:08 +01:00
BGP4-MIB.txt Initial revision 2002-12-13 20:15:29 +00:00
bgp_advertise.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_advertise.h BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_aspath.c Bgpd: aspath json memory leak fix 2015-09-03 11:26:36 -07:00
bgp_aspath.h Key changes: 2015-06-12 07:59:11 -07:00
bgp_attr.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_attr.h BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_bfd.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
bgp_bfd.h Added json formating support to show-...-neighbors-... bgp commands. 2015-08-12 13:24:02 -07:00
bgp_btoa.c bgpd: Fix bgp_btoa to compile 2015-10-21 07:05:28 -07:00
bgp_clist.c bgpd: bgpd-warnings.patch 2015-05-19 18:12:17 -07:00
bgp_clist.h [bgpd] Stability fixes including bugs 397, 492 2009-07-19 18:28:08 +01:00
bgp_community.c Fixup of warnings in the code 2015-07-25 15:55:47 -07:00
bgp_community.h Key changes: 2015-06-12 07:59:11 -07:00
bgp_damp.c bgpd: fix using of two pointers for struct thread_master * 2015-10-14 06:16:10 -07:00
bgp_damp.h Added json formating support to show-...-neighbors-... bgp commands. 2015-08-12 13:24:02 -07:00
bgp_debug.c Quagga: Fix compile warnings for GCC4.9 2015-09-25 10:11:24 -07:00
bgp_debug.h BGP: Display the right reason code for session reset 2015-09-15 19:14:06 -07:00
bgp_dump.c bgpd: fix using of two pointers for struct thread_master * 2015-10-14 06:16:10 -07:00
bgp_dump.h [bgpd] Stability fixes including bugs 397, 492 2009-07-19 18:28:08 +01:00
bgp_ecommunity.c bgpd: bgpd-warnings.patch 2015-05-19 18:12:17 -07:00
bgp_ecommunity.h Merge branch 'quagga' into google-bgp-multipath 2012-04-09 00:25:15 -07:00
bgp_filter.c Fixup code to use correct XMALLOC operators 2015-08-26 07:44:57 -07:00
bgp_filter.h bgpd: bgpd-warnings.patch 2015-05-19 18:12:17 -07:00
bgp_fsm.c BGP ORF fails to filter prefixes correctly 2015-11-04 16:31:33 +00:00
bgp_fsm.h bgpd: fix using of two pointers for struct thread_master * 2015-10-14 06:16:10 -07:00
bgp_main.c *: call if_init()/if_terminate() from vrf_init()/vrf_terminate() 2015-10-29 17:00:32 -07:00
bgp_mpath.c Add 'debug bgp bestpath' 2015-05-19 18:04:02 -07:00
bgp_mpath.h bgpd: bgpd-table-map.patch 2015-05-19 17:40:34 -07:00
bgp_mplsvpn.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_mplsvpn.h 2005-06-28 Paul Jakma <paul.jakma@sun.com> 2005-06-28 12:44:16 +00:00
bgp_network.c Use a hash to store BGP peer structures 2015-10-23 17:34:50 +00:00
bgp_network.h BGP: Fix MD5 authentication for unnumbered neighbors 2015-08-29 16:10:12 -07:00
bgp_nexthop.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
bgp_nexthop.h Include loopback IP addresses in martian NEXTHOP check 2015-05-19 18:29:15 -07:00
bgp_nht.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
bgp_nht.h *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
bgp_open.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_open.h bgpd: Exchange hostname capability and display hostnames in output 2015-09-10 20:10:16 -07:00
bgp_packet.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_packet.h Relax draft-ietf-idr-error-handling-13 valid IP check in favor of draft-ietf-idr-error-handling-14 2015-05-19 18:03:56 -07:00
bgp_regex.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
bgp_regex.h [configure] add configure support for PCRE Posix library 2009-06-19 15:01:16 +01:00
bgp_route.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_route.h BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_routemap.c BGP: route-map scale 2015-10-28 19:12:24 +00:00
bgp_snmp.c Use a hash to store BGP peer structures 2015-10-23 17:34:50 +00:00
bgp_snmp.h 2005-06-28 Paul Jakma <paul.jakma@sun.com> 2005-06-28 12:44:16 +00:00
bgp_table.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
bgp_table.h BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
bgp_updgrp_adv.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_updgrp_packet.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_updgrp.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_updgrp.h BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_vty.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgp_vty.h This patch changes BGP from only listening mode for BFD status updates to interactive mode of dynamically registering/deregistering BFD enabled peers with PTM/BFD through zebra. Peer is registered with BFD when it goes into established state and de-registers when it goes out of establish state. 2015-06-12 07:59:11 -07:00
bgp_zebra.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
bgp_zebra.h lib: zclient.c remove extern struct thread_master * 2015-09-23 13:26:56 -07:00
bgpd.c BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
bgpd.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
bgpd.conf.sample2 Initial revision 2002-12-13 20:15:29 +00:00
bgpd.h BGP: support for addpath TX 2015-11-05 17:29:43 +00:00
IMPLEMENTATION.txt Adjust size complexity estimates. Still not quite right, but closer. 2005-02-15 17:10:03 +00:00
Makefile.am bgpd: Fix bgp_btoa to compile 2015-10-21 07:05:28 -07:00