Commit Graph

1434 Commits

Author SHA1 Message Date
Donatas Abraitis
2a3a758533 doc: Update supported BGP RFC list
Added such RFCs (missing):

https://datatracker.ietf.org/doc/html/rfc2385
https://datatracker.ietf.org/doc/html/rfc2918
https://datatracker.ietf.org/doc/html/rfc4360
https://datatracker.ietf.org/doc/html/rfc4456
https://datatracker.ietf.org/doc/html/rfc4724
https://datatracker.ietf.org/doc/html/rfc4760
https://datatracker.ietf.org/doc/html/rfc5065
https://datatracker.ietf.org/doc/html/rfc5291
https://datatracker.ietf.org/doc/html/rfc5292
https://datatracker.ietf.org/doc/html/rfc6472
https://datatracker.ietf.org/doc/html/rfc5492
https://datatracker.ietf.org/doc/html/rfc7911
https://datatracker.ietf.org/doc/html/rfc6996
https://datatracker.ietf.org/doc/html/rfc6938
https://datatracker.ietf.org/doc/html/rfc8093
https://datatracker.ietf.org/doc/html/rfc7947
https://datatracker.ietf.org/doc/html/rfc9012
https://datatracker.ietf.org/doc/html/rfc8669
https://datatracker.ietf.org/doc/html/rfc8050

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-25 11:58:10 +03:00
Donald Sharp
9b953119b4 doc: Align docs to recommend integrated config
Docs were recommending both integrated and non-integrated
config in different sections.  Remove the recommendation
for non-integrated config from vtysh.rst.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-09-23 15:16:40 -04:00
Isabella de Leon
77a39a5db2 doc: Add CLI documentation for new overload on startup command
Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2022-09-22 13:47:26 -07:00
Madhuri Kuruganti
e921249875 doc: debug ospf commands
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-09-19 20:40:03 +05:30
Russ White
7fa5e07b1c
Merge pull request #11899 from opensourcerouting/feature/route_validation_extended_community
bgpd: Implement Origin Validation State via extended communities
2022-09-13 11:30:54 -04:00
Philippe Guibert
4cd690ae4d bgpd: add 'mpls bgp forwarding' to ease mpls vpn ebgp peering
RFC4364 describes peerings between multiple AS domains, to ease
the continuity of VPN services across multiple SPs. This commit
implements a sub-set of IETF option b) described in chapter 10 b.

The ASBR to ASBR approach is taken, with an EBGP peering between
the two routers. The EBGP peering must be directly connected to
the outgoing interface used. In those conditions, the next hop
is directly connected, and there is no need to have a transport
label to convey the VPN label. A new vty command is added on a
per interface basis:

This command if enabled, will permit to convey BGP VPN labels
without any transport labels (i.e. with implicit-null label).

restriction:
this command is used only for EBGP directly connected peerings.
Other use cases are not covered.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-09-05 22:26:33 +02:00
Philippe Guibert
1bb550b63c bgpd: add resolution for l3vpn traffic over gre interfaces
When a route imported from l3vpn is analysed, the nexthop from default
VRF is looked up against a valid MPLS path. Generally, this is done on
backbones with a MPLS signalisation transport layer like LDP. Generally,
the BGP connection is multiple hops away. That scenario is already
working.

There is case where it is possible to run L3VPN over GRE interfaces, and
where there is no LSP path over that GRE interface: GRE is just here to
tunnel MPLS traffic. On that case, the nexthop given in the path does not
have MPLS path, but should be authorized to convey MPLS traffic provided
that the user permits it via a configuration command.

That commit introduces a new command that can be activated in route-map:
 > set l3vpn next-hop encapsulation gre

That command authorizes the nexthop tracking engine to accept paths that
o have a GRE interface as output, independently of the presence of an LSP
path or not.

A configuration example is given below. When bgp incoming vpnv4 updates
are received, the nexthop of NLRI is 192.168.0.2. Based on nexthop
tracking service from zebra, BGP knows that the output interface to reach
192.168.0.2 is r1-gre0. Because that interface is not MPLS based, but is
a GRE tunnel, then the update will be using that nexthop to be installed.

    interface r1-gre0
     ip address 192.168.0.1/24
    exit
    router bgp 65500
     bgp router-id 1.1.1.1
     neighbor 192.168.0.2 remote-as 65500
     !
     address-family ipv4 unicast
      no neighbor 192.168.0.2 activate
     exit-address-family
     !
     address-family ipv4 vpn
      neighbor 192.168.0.2 activate
      neighbor 192.168.0.2 route-map rmap in
     exit-address-family
    exit
    !
    router bgp 65500 vrf vrf1
     bgp router-id 1.1.1.1
     no bgp network import-check
     !
     address-family ipv4 unicast
      network 10.201.0.0/24
      redistribute connected
      label vpn export 101
      rd vpn export 444:1
      rt vpn both 52:100
      export vpn
      import vpn
     exit-address-family
    exit
    !
    route-map rmap permit 1
     set l3vpn next-hop encapsulation gre
    exit

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-09-05 22:26:25 +02:00
Donatas Abraitis
324e8b1f79 bgpd: Handle Origin Validation State extended community via route-map match
Add an ability to match via route-maps. An additional route-map command

`match rpki-extcommunity <invalid|notfound|valid>` added.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-04 21:54:47 +03:00
Donatas Abraitis
7b27cf7bbd bgpd: Add Origin Validation State extended community
```
spine1-debian-11# sh ip bgp 100.100.100.101/32
BGP routing table entry for 100.100.100.101/32, version 21
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Local
    fe80::ca5d:fd0d:cd8:1bb7 from eth3 (172.17.0.3)
    (fe80::ca5d:fd0d:cd8:1bb7) (used)
      Origin incomplete, metric 0, localpref 100, valid, internal, best (First path received)
      Extended Community: OVS:invalid
      Last update: Wed Aug 31 19:31:46 2022

spine1-debian-11# sh ip bgp 100.100.100.100/32
BGP routing table entry for 100.100.100.100/32, version 17
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Local
    fe80::ca5d:fd0d:cd8:1bb7 from eth3 (172.17.0.3)
    (fe80::ca5d:fd0d:cd8:1bb7) (used)
      Origin incomplete, metric 0, localpref 100, valid, internal, best (First path received)
      Extended Community: OVS:not-found
      Last update: Wed Aug 31 19:31:46 2022
spine1-debian-11#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-04 21:23:59 +03:00
Donatas Abraitis
4880f5fa16 doc: Add rfc5668 to the list
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-04 21:23:59 +03:00
Russ White
d72c279d08
Merge pull request #11833 from opensourcerouting/feature/bgp_neighbor_soo
bgpd: Add `neighbor soo` command
2022-08-30 11:17:53 -04:00
Philippe Guibert
d1adb44843 bgpd: support TCP keepalive for BGP connection
TCP keepalive is enabled once BGP connection is established.

New vty commands:

bgp tcp-keepalive <1-65535> <1-65535> <1-30>
no bgp tcp-keepalive

Signed-off-by: Xiaofeng Liu <xiaofeng.liu@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-08-30 15:09:28 +02:00
Abhishek N R
588e1188f6 doc: Changed uppercase MLD to lowercase in ipv6 MLD last-member-query-interval (1-65535)
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-28 23:35:03 -07:00
Sai Gomathi N
523a644796 doc: Updated the doc for show ipv6 mld groups command
show ipv6 mld [vrf NAME] groups [json] displays MLD group information.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-26 01:14:08 -07:00
Donatas Abraitis
ff8f74b68e doc: Define internet BGP community
Overall, rfc1997 states:

The community attribute values ranging from 0x0000000 through
   0x0000FFFF and 0xFFFF0000 through 0xFFFFFFFF are hereby reserved.

But we have a special handling here, like Cisco IOS XR.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-08-24 08:59:25 +03:00
Stephen Worley
133c000cc2 doc: fix typo in route-target
Fix small typo in route-target doc.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2022-08-23 12:41:25 -04:00
Stephen Worley
0f33e6dfca doc: add doc for EVPN L3 Route-Targets
Add doc for EVPN L3 Route-Targets.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2022-08-23 12:41:25 -04:00
Donatas Abraitis
01da2d2691 bgpd: Add neighbor soo command
BGP SoO is a tag that is appended on BGP updates to allow a peer to mark
a particular peer as belonging to a particular site. In certain MPLS L3 VPN
configurations, the BGP AS-Path may not provide the granularity needed
prevent a loop in the control-plane. With this in mind, BGP SoO is designed
to fill this gap and prevent a routing loop that may occur.

If we configure for example, `neighbor soo 65000:1` at PEs, routes won't be
announced between CPEs if soo matches. This is especially needed when using
as-override or allowas-in.

Also, this is the automated way of the same behavior as configuring route-maps
for each peer like:

```
bgp extcommunity-list cpe permit soo 65000:1
!
route-map cpe permit 10
 set extcommunity soo 65000:1
...
route-map cpe deny 10
 match extcommunity cpe
route-map cpe permit 20
...
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-08-20 21:22:45 +03:00
Donald Sharp
11114fa52d
Merge pull request #11809 from opensourcerouting/fix/doc_bgp_clist
doc: Drop `deny` rules from BGP community-list example
2022-08-16 10:17:01 -04:00
Mobashshera Rasool
d4dc5e3c70 doc: Adding doc for debug mroute commands
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-08-16 00:56:40 -07:00
Donatas Abraitis
e60af75350 doc: Drop deny rules from BGP community-list example
It's an invalid command, probably copy/paste error.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-08-16 09:10:30 +03:00
anlan_cs
52fb7e966e doc: correct description for "fast-external-failover"
The description for `bgp fast-external-failover` is wrongly opposite.
Just remove the word - `not`.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-08-15 02:26:23 -04:00
Rafael Zalamena
ac2f410c37
Merge pull request #11668 from rampxxxx/bfd_rtt_in_echo_pkt
BFDD: Add RTT to BFD IPV4 Echo packet processing
2022-08-09 15:20:24 +00:00
Jafar Al-Gharaibeh
126b4166f3
Merge pull request #11765 from lyq140/patch-pimDoc
doc: pimd needs linux kernel 4.19(IGMPMSG_WRVIFWHOLE)
2022-08-09 01:12:18 -05:00
ron
0abc8254e9 doc: pimd needs linux kernel 4.19(IGMPMSG_WRVIFWHOLE)
Signed-off-by: ron <lyq140hf2006@163.com>
2022-08-09 09:13:08 +08:00
Donald Sharp
39ffa8e8e8 zebra: Add a mpls enable interface node command
Allow individual interfaces to turn on/off the mpls subsystem
for it in linux.

sharpd@eva:~/frr9$ sudo sysctl -a | grep enp39s0 | grep mpls
net.mpls.conf.enp39s0.input = 0
sharpd@eva:~/frr9$ vtysh -c "conf" -c "int enp39s0" -c "mpls enable"
sharpd@eva:~/frr9$ sudo sysctl -a | grep enp39s0 | grep mpls
net.mpls.conf.enp39s0.input = 1
sharpd@eva:~/frr9$ vtysh -c "conf" -c "int enp39s0" -c "no mpls enable"
sharpd@eva:~/frr9$ sudo sysctl -a | grep enp39s0 | grep mpls
net.mpls.conf.enp39s0.input = 0
sharpd@eva:~/frr9$

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-08-08 09:15:22 -04:00
Donald Sharp
b993483876
Merge pull request #11636 from AbhishekNR/clear_cmd
pim6d: Implementing "clear ipv6 pim interface traffic" command.
2022-08-05 07:45:47 -04:00
Ben
cdbf7b0d28 doc/user/ripd: clarify unicast behaviour
Current wording _implies_ `neighbor` updates are sent unicast; this makes it explicit.

Signed-off-by: Ben L <47653825+ad8-bdl@users.noreply.github.com>
2022-08-05 17:11:43 +10:00
Donatas Abraitis
6121628609 doc: Add show bgp access-list command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-08-03 13:27:07 +03:00
lynnemorrison
a0ffb7ddf4 Doc: Update documentation for BFD Echo.
Add information about Round Trip Time added to IPV4 BFD Echo.

Signed-off-by: Lynne Morrison <lynne.morrison@ibm.com>
2022-08-02 10:09:11 -04:00
Abhishek N R
8656814dac pim6d: Implementing "clear ipv6 pim interface traffic" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-01 22:08:40 -07:00
Russ White
3bf3144517
Merge pull request #11523 from pguibert6WIND/bgp_no_retain
Bgp no retain
2022-07-26 08:50:59 -04:00
Abhishek N R
23db4cbd3d pim6d: Implementing "clear ipv6 pim interfaces" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-07-19 05:48:52 -07:00
Philippe Guibert
a486300b26 bgpd: implement retain route-target all behaviour
A new command is available under SAFI_MPLS_VPN:

With this command, the BGP vpnvx prefixes received are
not kept, if there are no VRF interested in importing
those vpn entries.

A soft refresh is performed if there is a change of
configuration: retain cmd, vrf import settings, or
route-map change.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-07-18 08:57:19 +02:00
Francois Dumontet
5dde29654e bmp: add L3VPN support
Support for BMP L3VPN monitoring messages through SAFI_MPLS_VPN address
family.

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
2022-07-13 17:28:37 +02:00
David Lamparter
b08967fbbc pim6d: add clear ipv6 pim bsr-data
This is needed for ANVL between testruns, and already in IPv4 too.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-07-08 14:58:38 +02:00
Donatas Abraitis
a28af47280 doc: Add allow-reserved-ranges global command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-07-01 23:23:14 +03:00
Lou Berger
613025ef10
Merge pull request #11093 from donaldsharp/allow_martians
Allow martians
2022-06-28 10:38:57 -04:00
Anuradha Karuppiah
3c6732e43d zebra: add documentation for the DPDK dataplane plugin
Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2022-06-27 08:08:02 -04:00
Anuradha Karuppiah
4f8223454f zebra: document the pbr and neigh extended commands needed for some dataplanes
config -
1. "pbr nexthop-resolve"

display -
1. "show pbr rule"
2. "show ip neigh"

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2022-06-27 07:56:55 -04:00
Donatas Abraitis
f646c17a43
Merge pull request #11426 from error2407/open_policy
bgpd: Add RFC9234 implementation
2022-06-27 09:57:29 +03:00
Donald Sharp
8666265e2e bgpd: Add bgp allow-martian-nexthop command
The command `debug bgp allow-martian` is not actually
a debug command it's a command that when entered allows
bgp to not reset a peering when a martian nexthop is
passed in the nlri.

Add the `bgp allow-martian-nexthop` command and allow it to be
used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-06-24 07:45:46 -04:00
Donald Sharp
f2b8c0b58f doc: Update doc w/ regards to realms
Update the documentation with realms and how they
interact with nexthop groups that are installed into
the kernel.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-06-23 13:56:28 -04:00
Russ White
2d088d8d53
Merge pull request #11437 from rgirada/ospf_nbr
ospfd: Fixing "show ip ospf neighbour <nbrid>" command
2022-06-22 14:54:08 -04:00
rgirada
e8a8b11610 ospfd: Fixing "show ip ospf neighbour <nbrid>" command
Description:
	"show ip ospf neighbour [nbrid] [json]" is expected to give brief output
	of the specific neighbour. But it gives the detailed output without
	the detail keyword.
	"show ip ospf neighbour [nbrid] [deatil] [json]" command is failed to
	fetch the ecpected o/p. Corrected it.

	Ex o/p:
	frr(config-if)# do show ip ospf  neighbor

	Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
	8.8.8.8           1 Full/DR         17m03s            31.192s 20.1.1.194      ens192:20.1.1.220                    0     0     0
	30.1.1.100        1 Full/DR         56.229s           32.000s 30.1.1.100      ens224:30.1.1.220                    0     0     0

	frr(config-if)#
	frr(config-if)#
	frr(config-if)# do show ip ospf  neighbor 8.8.8.8
	Neighbor 8.8.8.8, interface address 20.1.1.194
	In the area 0.0.0.0 via interface ens192
	Neighbor priority is 1, State is Full/DR, 6 state changes
	Most recent state change statistics:
	  Progressive change 17m18s ago
	DR is 20.1.1.194, BDR is 20.1.1.220
	Options 2 *|-|-|-|-|-|E|-
	Dead timer due in 35.833s
	Database Summary List 0
	Link State Request List 0
	Link State Retransmission List 0
	Thread Inactivity Timer on
	Thread Database Description Retransmision off
	Thread Link State Request Retransmission on
	Thread Link State Update Retransmission on

	Graceful restart Helper info:
	  Graceful Restart HELPER Status : None

	frr(config-if)# do show ip ospf  neighbor 8.8.8.8 detail
	No such interface.
	frr(config-if)# do show ip ospf  neighbor 8.8.8.8 detail json
	{}
	frr(config-if)#

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2022-06-22 08:40:24 -07:00
Donald Sharp
8684ca8fd5
Merge pull request #11442 from opensourcerouting/fix/rpki_cli
bgpd: RPKI fixes
2022-06-22 07:35:30 -04:00
Eugene Bogomazov
8f2d6021f8 bgpd: Add patches for RFC9234 implementation
This commit fixes some issues that were noted by the reviewer

Signed-off-by: Eugene Bogomazov <eb@qrator.net>
2022-06-21 17:41:53 +03:00
Donatas Abraitis
8eb7f5fce8 doc: Specify preference for RPKI cache server
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-06-20 22:44:29 +03:00
Donatas Abraitis
2a5f5ec00f bgpd: Drop SSH public key for RPKI CLI option
It's not used anywhere.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-06-20 22:23:07 +03:00
Eugene Bogomazov
d864dd9eb1 bgpd: Add RFC9234 implementation
RFC9234 is a way to establish correct connection roles (Customer/
Provider, Peer or with RS) between bgp speakers. This patch:
- Add a new configuration/terminal option to set the appropriate local
role;
- Add a mechanism for checking used roles, implemented by exchanging
the corresponding capabilities in OPEN messages;
- Add strict mode to force other party to use this feature;
- Add basic support for a new transitive optional bgp attribute - OTC
(Only to Customer);
- Add logic for default setting OTC attribute and filtering routes with
this attribute by the edge speakers, if the appropriate conditions are
met;
- Add two test stands to check role negotiation and route filtering
during role usage.

Signed-off-by: Eugene Bogomazov <eb@qrator.net>
2022-06-17 13:14:46 +03:00
Donald Sharp
c9af62e314 zebra: Add a configurable knob zebra nexthop-group keep (1-3600)
Allow end operator to set how long a nexthop-group is kept around
in the system after it is no-longer being used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-06-16 14:47:19 -04:00
Donatas Abraitis
aef69e4f39
Merge pull request #11353 from fdumontet6WIND/bmp_src_interface
bmp: add a interface source to bmp connect command
2022-06-16 21:30:28 +03:00
Francois Dumontet
09f267ec95 bmp: add a interface source to bmp connect command
With current release, forcin the source ip address when setting up a BMP
connection is not possible.

The need is to add an extra parameter for the following vty command:

router bgp 65500
bmp targets AAA
bmp connect 2.2.2.2 port 666 min-retry 100 max-retry 700
bmp connect 2:2::2:2 port 666 min-retry 100 max-retry 700 [source-interface lo1]

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
2022-06-16 12:51:11 +02:00
Renato Westphal
62e91cdcf2 doc: document ldpd's "ttl-security" commands
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2022-06-15 14:12:35 -03:00
Maximiliano Estudies
e007d49e1e doc: replace the import/export keywords for in/out
Signed-off-by: Maximiliano Estudies <maxiestudies@gmail.com>
2022-06-14 15:39:48 +02:00
Mobashshera Rasool
f92e636cc5 doc: Updated the doc for new CLI addition
Added doc for "show ipv6 pim interface traffic" cli

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-06-12 21:31:09 -07:00
Olivier Dugeon
96b706b72a
Merge pull request #11334 from ton31337/fix/deprecation_warning
ospfd: Remove local-block deprecated command
2022-06-07 17:38:52 +02:00
Donald Sharp
a775175bfd
Merge pull request #11289 from LabNConsulting/chopps/ospfapi-update
ospfapi improvements and fixes
2022-06-07 11:00:56 -04:00
Donatas Abraitis
d2e02cbf64 ospfd: Remove local-block deprecated command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-06-07 16:11:46 +03:00
Christian Hopps
9191ac86fd ospfclient: add ospfclient api python class
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-06-02 16:37:16 -04:00
Christian Hopps
d86760acad ospfd: cli: add "show ip ospf reachable-routers" CLI
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-06-02 16:37:16 -04:00
Christian Hopps
a6c39c3d1a ospfd: cli: add client api debug option
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-06-01 18:11:31 -04:00
Donald Sharp
1bb1c0cfc3 bgpd: Add ability to match match peer <PEERGROUPNAME>
Allow the end operator to match `match peer <PEERGROUPNAME>`
in a route-map.  If the end operator defines interface
based peers and peer-groups that have names that overlap
the interface based peer will match first.

Fixes: #11316
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-05-31 12:31:19 -04:00
Donatas Abraitis
dff41cc8a9 bgpd: Add JSON output for show rpki prefix and other show commands
```
spine1-debian-11# sh rpki prefix 192.168.100.1/32
Prefix                                   Prefix Length  Origin-AS
192.168.100.1                               32 -  32        47583
spine1-debian-11# sh rpki prefix 192.168.100.1/32 json
{
  "prefixes":[
    {
      "prefix":"192.168.100.1",
      "prefixLenMin":32,
      "prefixLenMax":32,
      "asn":47583
    }
  ]
}
```

```
spine1-debian-11# sh rpki as-number 47583 json
{
  "prefixes":[
    {
      "prefix":"192.168.100.1",
      "prefixLenMin":32,
      "prefixLenMax":32,
      "asn":47583
    },
    {
      "prefix":"2606:4700:7000::",
      "prefixLenMin":48,
      "prefixLenMax":48,
      "asn":47583
    }
  ],
  "ipv4PrefixCount":1,
  "ipv6PrefixCount":1
}
spine1-debian-11# sh rpki as-number 47583
RPKI/RTR prefix table
Prefix                                   Prefix Length  Origin-AS
192.168.100.1                               32 -  32        47583
2606:4700:7000::                            48 -  48        47583
Number of IPv4 Prefixes: 1
Number of IPv6 Prefixes: 1
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-30 11:04:12 +03:00
Donald Sharp
8550b3188d
Merge pull request #11245 from opensourcerouting/fix/doc_overview_package_url
doc: Use full URL for FRR keyword highlight
2022-05-25 10:06:48 -04:00
Donatas Abraitis
cc4d121f9f bgpd: Add JSON support for show rpki cache-server
```
spine1-debian-11# sh rpki cache-server json
{
  "servers":[
    {
      "mode":"tcp",
      "host":"192.168.10.17",
      "port":"8283"
    },
    {
      "mode":"tcp",
      "host":"192.168.10.17",
      "port":"8282"
    }
  ]
}
spine1-debian-11# sh rpki cache-server
host: 192.168.10.17 port: 8283
host: 192.168.10.17 port: 8282
spine1-debian-11#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-24 19:31:11 +03:00
Donatas Abraitis
ae872c2f88 bgpd: Add JSON output for show rpki cache-connection
```
spine1-debian-11# sh rpki cache-connection
Connected to group 1
rpki tcp cache 192.168.10.17 8283 pref 1 (connected)
rpki tcp cache 192.168.10.17 8282 pref 2
spine1-debian-11# sh rpki cache-connection json
{
  "connectedGroup":1,
  "connections":[
    {
      "mode":"tcp",
      "host":"192.168.10.17",
      "port":"8283",
      "preference":1,
      "state":"connected"
    },
    {
      "mode":"tcp",
      "host":"192.168.10.17",
      "port":"8282",
      "preference":2,
      "state":"disconnected"
    }
  ]
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-24 00:06:07 +03:00
Donatas Abraitis
23706eacc2 doc: Use full URL for FRR keyword highlight
Seems replacement is not working when referenced, only when used directly
in the text |PACKAGE_URL|.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-23 11:47:16 +03:00
Donald Sharp
a830fc4c79
Merge pull request #11217 from opensourcerouting/fix/doc_overview
doc: Fix FRR/Slack keyword links in overview section
2022-05-22 15:03:05 -04:00
David Lamparter
5a744d5c86
Merge pull request #10903 from SaiGomathiN/pimv6debug 2022-05-20 15:23:31 +02:00
Donatas Abraitis
153d1426cc doc: Fix FRR/Slack keyword links in overview section
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-19 12:17:35 +03:00
Russ White
18028bdb9b
Merge pull request #11183 from opensourcerouting/feature/handle_bgp_gr_notification
bgpd: Activate Graceful-Restart when receiving CEASE/HOLDTIME notifications
2022-05-18 15:17:59 -04:00
Russ White
0c9a3eab90
Merge pull request #11219 from pguibert6WIND/doc_show_isis
doc: use real wording for the show isis segment-routing node command
2022-05-18 15:09:25 -04:00
Philippe Guibert
eae2563d19 doc: use real wording for the show isis segment-routing node command
The node keyword does not take 's' at the end.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-05-18 15:08:18 +02:00
Sai Gomathi N
a0998ae7ee doc: Updated the document for pimv6 debug commands
Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-18 03:31:33 -07:00
David Lamparter
44937c5450
Merge pull request #11037 from SaiGomathiN/clearcli 2022-05-17 15:00:32 +02:00
Donald Sharp
8a8ad459af
Merge pull request #10775 from opensourcerouting/pim6-mld-pr
pim6d: MLD code
2022-05-17 07:20:08 -04:00
Sai Gomathi N
c9edfa3489 doc: Updated the document for pimv6 clear commands
Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-17 00:05:19 -07:00
Donatas Abraitis
c03ba18417 doc: Add RFC8538 to our supported RFC list
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-14 21:46:01 +03:00
Pavel Shirshov
425bd64be8 bgpd: Allow bgp to control the DSCP session TOS value
Allow BGP to control the TOS DSCP value in the tcp header
via a new command at the bgp global level `bgp session-dscp <0-63>`

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Pavel Shirhov <pavelsh@microsoft.com>
2022-05-13 14:14:35 -04:00
Jafar Al-Gharaibeh
a17ced5243
Merge pull request #10958 from patrasar/pim_passive
pimd: introduce ip pim passive command
2022-05-13 08:39:12 -05:00
Donatas Abraitis
19f980551c doc: Add some more documentation about Notification support for GR
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-13 12:45:25 +03:00
sarita patra
650d901347 doc: add ip[v6] pim passive support
Signed-off-by: sarita patra <saritap@vmware.com>
2022-05-12 23:51:21 -07:00
Donald Sharp
56b91d107f bgpd: Prevent crash when issuing various forms of bgp no-rib
The `bgp no-rib` command cycles through all the bgp rib tables
and removes them from zebra.  Modify the code so that FRR notices
that it is attempting to cycle through the safi's that are two level
tables.  In addition these safi's cannot just blindly remove the routes
from the rib as that there are none explicitly.

This code just prevents the crash in bgpd.  It does not properly cycle
through and remove the zebra changes made that are explicit to these afi's.
This should be handled as appropriate by the developers on these safi's when
it becomes important to them.

Fixes: #11178
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-05-12 10:20:28 -04:00
Donatas Abraitis
1ae314be4f bgpd: Send Hard Reset Notification for BGP_NOTIFY_CEASE_ADMIN_RESET
`clear bgp neighbor` should send Hard Reset and graceful restart should be
activated. Let's make this adjustable.

https://datatracker.ietf.org/doc/html/rfc8538#section-5.1

   +-------+------------------------------------+----------------------+
   | Value |                Name                |  Suggested Behavior  |
   +-------+------------------------------------+----------------------+
   |   1   | Maximum Number of Prefixes Reached |      Hard Reset      |
   |   2   |      Administrative Shutdown       |      Hard Reset      |
   |   3   |         Peer De-configured         |      Hard Reset      |
   |   4   |        Administrative Reset        | Provide user control |
   |   5   |        Connection Rejected         |    Graceful Cease    |
   |   6   |     Other Configuration Change     |    Graceful Cease    |
   |   7   |  Connection Collision Resolution   |    Graceful Cease    |
   |   8   |          Out of Resources          |    Graceful Cease    |
   |   9   |             Hard Reset             |      Hard Reset      |
   +-------+------------------------------------+----------------------+

Enabled by default.

Co-authored-by: Biswajit Sadhu <biswajit.sadhu@gmail.com>
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-10 09:04:25 +03:00
Russ White
026f28e8ca
Merge pull request #11138 from opensourcerouting/fix/rpki
bgpd: RPKI reverts, nits...
2022-05-09 19:36:02 -04:00
David Lamparter
9299cea5dc pim6d: docs for MLD show commands
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-05-06 16:02:02 +02:00
Donatas Abraitis
f2ca5c5b95 bgpd: Add CLI knob to enable graceful restart for BGP notifications
N-bit flag should be exchanged in BGP OPEN messages, not only when the
bgpd is restarted/started.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-05 12:35:03 +03:00
Donatas Abraitis
c70fdb2794 doc: Add missing commands for RPKI
rpki expire_interval
	rpki retry_interval

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-03 17:11:29 +03:00
Abhishek N R
f5e14dff2b doc: Updated the doc for show ipv6 mroute commands
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-04-28 02:17:13 -07:00
Abhishek N R
6bb41fcad5 doc: Updated the doc for show ipv6 multicast commands
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-04-27 04:26:41 -07:00
Donatas Abraitis
77e3d82167 bgpd: Add set as-path replace <any|ASN> cmd for route-maps
```
route-map tstas permit 10
 set as-path replace 1
exit
```

Before:

```
donatas-laptop(config-router-af)# do show ip bgp 10.10.10.10/32
BGP routing table entry for 10.10.10.10/32, version 13
Paths: (1 available, best #1, table default)
  Advertised to non peer-group peers:
  192.168.10.65
  65000 1 2 3 123
    192.168.10.65 from 192.168.10.65 (10.10.10.11)
      Origin IGP, metric 0, valid, external, best (First path received)
      Last update: Mon Apr 25 10:39:50 2022
```

After:

```
donatas-laptop(config-router-af)# do show ip bgp 10.10.10.10/32
BGP routing table entry for 10.10.10.10/32, version 15
Paths: (1 available, best #1, table default)
  Advertised to non peer-group peers:
  192.168.10.65
  65000 65010 2 3 123
    192.168.10.65 from 192.168.10.65 (10.10.10.11)
      Origin IGP, metric 0, valid, external, best (First path received)
      Last update: Mon Apr 25 10:40:16 2022
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-25 14:05:22 +03:00
Donald Sharp
ed18e04d91 doc: Fix spelling of choosen
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-19 08:28:47 -04:00
Donald Sharp
2b669d3a21 *: Fix spelling of overriden
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-19 08:27:02 -04:00
Donald Sharp
485ac9a79b *: Fix spelling of neccessary
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-19 08:11:29 -04:00
Sri Mohana Singamsetty
926e00236e
Merge pull request #10910 from donaldsharp/doc_nht
doc: Add `show ip nht..` documentation
2022-04-13 12:28:43 -07:00
Balaji Gurudoss
a8caf78d61 pim6d: Addition of ipv6 ssmpingd config commands
Signed-off-by: Balaji Gurudoss <G_Balaji1@dell.com>
2022-04-12 18:07:24 +05:30
Donald Sharp
050d644400 doc: Add show ip nht.. documentation
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-08 08:18:39 -04:00
Donatas Abraitis
96322c148b
Merge pull request #10831 from anlancs/doc-mh-esi-type0
doc: add mh type-0 ESI support
2022-04-04 08:47:01 +03:00
anlan_cs
c52de8c1aa doc: add mh type-0 ESI support
Add type-0 ESI support for `evpn mh es-id` command.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-04-02 06:24:53 -04:00
Donatas Abraitis
97a1fdf20f
Merge pull request #10875 from anlancs/doc-mh-esi-1
doc: two minor changes for evpn-mh
2022-04-02 11:54:51 +03:00
anlan_cs
c12d5f2086 doc: two minor changes for evpn-mh
Correct one word - `EAD-per-ES`, and remove one unuseful `index::` line.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-03-31 21:03:47 -04:00
Donatas Abraitis
11fc3db305
Merge pull request #10902 from bobuhiro11/fix_zebra_srv6_func_bits
zebra: fix doc and default value of "func-bits" for SRv6
2022-03-30 10:20:36 +03:00
Russ White
dcaba5ae1a
Merge pull request #10719 from opensourcerouting/nb-show-fixes
lib: fix and improve yang operational data display
2022-03-29 10:51:02 -04:00
Nobuhiro MIKI
5a22d2ad33 zebra: fix typo in doc/user/zebra.rst
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
2022-03-28 12:13:31 +09:00
Donatas Abraitis
2efc3acd9e
Merge pull request #9476 from SaiGomathiN/pim-nht
pimd: Added new option "detail" in the "debug pim nht" CLI
2022-03-20 23:14:08 +02:00
Anuradha Karuppiah
9239606859 doc: add notes for ead-es-frag fragmentation
Config for -
1. Preventing fragmentation via user configured EAD RTs
2. Limiting the number of EVIs per-fragment if EAD fragmentation is needed

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2022-03-18 07:37:07 -04:00
Donatas Abraitis
c07ddc3656 pimd: Show all groups matched by an arbitrary prefix for pim rp-info
```
r1# show ip pim rp-info
RP address       group/prefix-list   OIF               I am RP    Source   Group-Type
192.168.10.123   225.0.0.0/24        eth2              yes        Static   ASM
192.168.10.123   239.0.0.0/8         eth2              yes        Static   ASM
192.168.10.123   239.4.0.0/24        eth2              yes        Static   SSM

r1# show ip pim rp-info 239.4.0.0/25
RP address       group/prefix-list   OIF               I am RP    Source   Group-Type
192.168.10.123   239.0.0.0/8         eth2              yes        Static   ASM
192.168.10.123   239.4.0.0/24        eth2              yes        Static   SSM
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-17 09:38:22 +02:00
Russ White
5d97021ba3
Merge pull request #10427 from sworleys/Protodown-Reason-Upstream
Add Support for Setting Protodown Reason Code
2022-03-15 19:58:16 -04:00
Rafael F. Zalamena
1c9bd416f4 doc: document yang show operational data
Add missing documentation for the command and describe the available
options.

Signed-off-by: Rafael F. Zalamena <rzalamena@opensourcerouting.org>
2022-03-15 15:32:34 -03:00
Donatas Abraitis
8c0a76808a pimd: Show group-type under show ip pim rp-info
And filter by group for PIM.

```
exit1-debian-11# show ip pim rp-info
RP address       group/prefix-list   OIF               I am RP    Source   Group-Type
192.168.10.17    238.0.0.0/24        eth2              no         Static   ASM
192.168.10.110   232.0.0.0/24        eth2              no         Static   SSM
exit1-debian-11# show ip pim rp-info 238.0.0.0/24
RP address       group/prefix-list   OIF               I am RP    Source   Group-Type
192.168.10.17    238.0.0.0/24        eth2              no         Static   ASM
exit1-debian-11# show ip pim rp-info 238.0.0.0/24 json
{
  "192.168.10.17":[
    {
      "rpAddress":"192.168.10.17",
      "outboundInterface":"eth2",
      "iAmRP":false,
      "group":"238.0.0.0/24",
      "source":"Static",
      "groupType":"ASM"
    }
  ]
}
exit1-debian-11#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-12 10:41:07 +02:00
Mobashshera Rasool
829ab02106 doc: Add the document for PIMv6
This PR is raised to add the documentation for MLD and PIMv6.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-03-10 02:12:54 -08:00
Stephen Worley
3393afc990 doc: add user doc for sharp protodown
Add user doc for setting protodown on an interface with
sharpd.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2022-03-09 18:02:44 -05:00
Stephen Worley
c40e1b1cfb zebra: add command for setting protodown bit
Add command for use to set protodown via frr.conf in
the case our default conflicts with another application
they are using.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2022-03-09 17:52:44 -05:00
Russ White
82934a6a32
Merge pull request #10701 from rampxxxx/feat_isis_json_show_cmds
Feat isis json show cmds
2022-03-08 11:15:25 -05:00
Mark Stapp
bdbdd2a75c doc: fix another doc typo
Fix another typo that mis-uses the asterisk character.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2022-03-07 08:34:09 -05:00
Sai Gomathi
6d733f0dbc pimd: Added new option "detail" in the "debug pim nht" CLI
Problem Statement:
=================
PIM Logs are coming at interval of 1 minute although pim
is not enabled.

Root Cause Analysis:
====================
By default, RCPM configures the PIM debugs when router comes up
via script. The product cannot disable PIM even though it is not required.
Hence moving these logs under a new debug option which will not be
enabled by default.

Fix:
====
Added a new option "detail" in the cli:
debug pim nht detail

Co-author: Mobashshera Rasool <mrasool@vmware.com>
Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2022-03-03 22:33:20 -08:00
Javier Garcia
a2cac12a63 isisd: Add json to show isis database command.
Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
2022-03-02 16:20:44 +01:00
Javier Garcia
a21177f280 isisd: Add json to show isis neighbor command.
Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
2022-03-01 17:57:21 +01:00
David Lamparter
2821405a69
Merge pull request #10640 from donaldsharp/thread_timers 2022-03-01 11:45:36 +01:00
Jafar Al-Gharaibeh
868efb9e9f
Merge pull request #10672 from donaldsharp/bsd_zebra_graceful_restart_cleanup
Bsd zebra graceful restart cleanup
2022-02-28 14:57:35 -06:00
Mark Stapp
2f5997dc56 doc: fix typo in zebra doc
Fix a typo in the zebra doc file that triggers a warning.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2022-02-28 11:28:25 -05:00
David Lamparter
b9db469fe9
Merge pull request #10667 from donaldsharp/bufsize 2022-02-28 15:56:51 +01:00
Donald Sharp
fd149fe625 doc: Update documentation to indicate *BSD struggles
*BSD has some special struggles associated with the graceful
restart code in zebra.  Add a bit of documentation to outline
this problem and how it is solved.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-28 09:50:35 -05:00
David Lamparter
bec667a6bc vtysh: show live log messages
https://www.youtube.com/watch?v=8psFQCEgA18

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-02-28 13:33:27 +01:00
Donald Sharp
a698ba1639 doc: Add show thread timers doc commands
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-28 06:39:07 -05:00
Donald Sharp
4dca0c10df doc: Document a existing cli for zebra that was missing
The -s or --nl-bufsize option was missing, document it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-27 07:47:58 -05:00
Javier Garcia
9fee4d4c60 isisd: Add json to show isis interface command.
Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
2022-02-25 12:36:17 +01:00
Javier Garcia
471bb5da52 isisd. Add json to show summary command.
Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
2022-02-25 12:36:11 +01:00
Donatas Abraitis
ec37d09855 isisd: Drop deprecated segment-routing local-block command
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-02-23 08:45:54 +02:00
Chirag Shah
79d2f64ee1 doc: add description for match evpn route-type
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2022-02-17 09:55:00 -08:00
Donatas Abraitis
ebde4d03c1
Merge pull request #10558 from Jafaral/ospf-net-or-iface
doc: mixing `ip ospf` and `network` commands is not supported
2022-02-16 22:10:21 +02:00
Donald Sharp
7b08708e65
Merge pull request #9224 from SaiGomathiN/saig
pimd: IGMP Query Generation
2022-02-16 11:26:03 -05:00
Russ White
17c93806a0
Merge pull request #10555 from anlancs/doc-comment
doc: add "cost" to ospfd "range" command
2022-02-15 12:58:28 -05:00
Donald Sharp
e6f83fc56a doc: Fix spelling mistakes
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-14 12:51:22 -05:00
Donatas Abraitis
f7d8698313
Merge pull request #9697 from SaiGomathiN/igmp-sources
pimd: json support added
2022-02-11 07:53:02 +02:00
Jafar Al-Gharaibeh
3c07b475c6 doc: mixing ip ospf and network commands is not supported
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2022-02-10 10:28:00 -06:00
Abhinay Ramesh
9b596bed0f ospf6d: Documentation for authentication trailer support.
Problem Statement:
=================
This commit is to add document support for OSPF6 authentication
trailer feature, which is adding support for RFC7166.

RCA:
====
NA

Fix:
====
To add detailed description for feature support.
This document caputres
Configuration CLI
Show commands
Debug commands
Clear command

That are added as part of the feature with examples.

Risk:
=====
Low

Tests Executed:
===============
NA

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2022-02-09 01:57:08 +00:00
Donald Sharp
b564209367
Merge pull request #8458 from opensourcerouting/xref-5424
lib: RFC5424 syslog support
2022-02-08 15:56:20 -05:00
Russ White
54e351b86b
Merge pull request #10417 from Orange-OpenSource/TE
Add Constraints Shortest Path First algorithm
2022-02-08 08:26:29 -05:00
Donald Sharp
35e5ef55f1 pimd: Modify show ip pim assert to only show interesting bits
`show ip pim assert` shows S,G ifchannel information even when
there is no information available about the assert process.

Fix the code to not dump non-interesting cases.

Fixes: 10462
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-07 19:55:00 -05:00
Donald Sharp
446f6ec5ed doc: Update show zebra command
Update the `show zebra` command documentation to
show what it is doing now.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-04 10:29:38 -05:00
Igor Ryzhov
d058d106f0
Merge pull request #10495 from anlancs/doc-ospf-range
doc: complete area id for ospf's "range" command
2022-02-04 15:28:38 +03:00
anlan_cs
8bb8273f61 doc: complete area id for ospf's "range" command
Like other commands, just complete area id.
Additonally replace `IPV4_PREFIX` with generic `A.B.C.D/M`.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-02-04 10:21:27 +08:00
Mobashshera Rasool
4d0ead82fd doc: Correcting the documentation for pimd
While going through the doc, found some commands are missing in the doc.
Also correcting few mistakes.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-02-02 11:18:11 -08:00
Olivier Dugeon
621fb5f341 sharpd: Add call to CSPF
New Constaint Shortest Path First algorithm has been introduce in FRR library.
Add a new 'show sharp cspf' command as example of how to use these
CSPF algorithm.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2022-02-02 17:04:12 +01:00
Russ White
d7251c4b14
Merge pull request #10413 from anlancs/bfd-with-check
bfdd,doc,yang: a few minor commits for bfdd
2022-02-01 11:18:52 -05:00
anlan_cs
dea8953208 doc: add "cost" to ospfd "range" command
Add "cost" for "area A.B.C.D range A.B.C.D/M".

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-01-27 16:52:35 -05:00
Sai Gomathi
4527b70aed pimd: json support added for command "show ip igmp sources"
Add JSON support in the show command
“show ip igmp sources” with proper formatting.

Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2022-01-25 06:29:37 -08:00
Igor Ryzhov
870791a3b5 *: do not send opaque data to zebra by default
Opaque data takes up a lot of memory when there are a lot of routes on
the box. Given that this is just a cosmetic info, I propose to disable
it by default to not shock people who start using FRR for the first time
or upgrades from an old version.

Fixes #10101.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2022-01-24 22:18:46 +03:00
anlan_cs
580b190c92 doc: clarify bfd parameters' overriden method
Here "new" is very puzzling. If new parameters with default values on peer
configuration node are set, they will not be used yet.

So just clarify it:
Only "non-default" values on peer configuration node are set, they can override
the conrresponding values from profile.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-01-24 03:03:17 -05:00
David Schweizer
33bbb2e743
doc: Update clear bgp command doc with message-stats option
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2022-01-19 14:24:19 +01:00
Russ White
18ed776ca2
Merge pull request #9938 from Orange-OpenSource/isis_ls
isisd: Add Link State Traffic Engineering support
2022-01-18 10:12:08 -05:00
Rafael Zalamena
4e4c027803
Merge pull request #10183 from idryzhov/rework-vrf-rename
*: rework renaming the default VRF
2022-01-17 08:45:12 -03:00
David Lamparter
f93640b810 doc: add new RFC5424 & journald logging targets
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-17 00:39:00 +01:00
anlan_cs
94184417fc doc: adjust small words for ospfd
Signed-off-by: anlan_cs <anlan_cs@tom.com>
2022-01-15 20:38:30 -05:00
Marlin Cremers
d272105aa2 docs(bgp): refer to rfc9136 instead of draft
Instead of referring to the draft of  IP Prefix Advertisement in
Ethernet VPN let's point to the recently published RFC9136.

Signed-off-by: Marlin Cremers <marlin@cbws.nl>
2022-01-14 18:52:30 +01:00
Donald Sharp
0edd8e4714
Merge pull request #10288 from ton31337/fix/rfc7300
bgpd: Add a warning if we try to use the last reserved ASN
2022-01-08 08:42:19 -05:00
Donald Sharp
3284e4dedc
Merge pull request #10289 from ton31337/fix/rfc9003
bgpd: Extended BGP Administrative Shutdown Communication
2022-01-08 08:17:25 -05:00
Donald Sharp
bcbc98b0b9
Merge pull request #10242 from anlancs/fix-service-time
build: add "--with-service-timeout" in configure.ac
2022-01-08 07:15:37 -05:00
Donatas Abraitis
cd9d1a366c doc: Add rfc9003 to supported BGP RFCs
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-01-07 22:35:38 +02:00
Donatas Abraitis
cc413e2ade bgpd: Add a warning if we try to use the last reserved ASN
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-01-07 22:35:04 +02:00
Donatas Abraitis
812a20dc57 bgpd: Deprecate DPA, ADVERTISER and RCID_PATH path attributes
rfc6938

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-01-06 17:10:31 +02:00
Donald Sharp
3d162a6950
Merge pull request #10284 from ton31337/fix/adjust_rfc4486
bgpd: Adjust symbolic names for cease notifications according to rfc4486
2022-01-06 07:49:00 -05:00
anlan_cs
fc539216ce build: add "--with-service-timeout" in configure.ac
On lower CPU with lots of static routes, it will cost more than 2
minutes.

2 minutes is the default timeout value, we can adjust it by configure:
./configure --with-service-timeout=<digit>

Signed-off-by: anlan_cs <anlan_cs@tom.com>
2022-01-06 07:42:36 -05:00
Donald Sharp
7747e99cf4
Merge pull request #10287 from ton31337/fix/rfc7196
bgpd: Increase maximum supress threshold for dampening to 50,000
2022-01-06 07:34:45 -05:00
Donald Sharp
168c2922e0
Merge pull request #10296 from anlancs/fix-doc-version
doc: minor grammar correction
2022-01-06 07:26:28 -05:00
Donatas Abraitis
dcbebfd3ff bgpd: Graceful Restart restart-time can be 0
Using with LLGR, this should be allowed setting GR restart-time timer to 0,
to immediately start LLGR timers.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-01-06 11:24:48 +02:00
anlan_cs
fa60c38863 doc: minor grammar correction
Need one empty line.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
2022-01-06 03:28:55 -05:00
Donatas Abraitis
a30fec23f8 bgpd: Increase maximum supress threshold for dampening to 50,000
rfc7196 recommends:

In addition, BGP implementations have an internal constant, which we
   will call the 'maximum penalty', and the current computed penalty may
   not exceed it.

Router Maximum Penalty:  The internal constant for the maximum
      penalty value MUST be raised to at least 50,000.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-01-06 10:09:05 +02:00
Donatas Abraitis
0ac7452334 bgpd: Adjust symbolic names for cease notifications according to rfc4486
The following subcodes are defined for the Cease NOTIFICATION
   message:

      Subcode     Symbolic Name

         1        Maximum Number of Prefixes Reached
         2        Administrative Shutdown
         3        Peer De-configured
         4        Administrative Reset
         5        Connection Rejected
         6        Other Configuration Change
         7        Connection Collision Resolution
         8        Out of Resources

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-01-06 10:07:41 +02:00
Russ White
cd764511e6
Merge pull request #10208 from adrianomarto/master
Babel configuration parameter fixes
2022-01-05 10:10:23 -05:00
Donatas Abraitis
7f8a9a24a9 bgpd: Change default long-lived graceful restart stale timer to 0 seconds
That means the feature is off by default.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-12-28 16:08:00 +02:00
Adriano Marto Reis
ef473aa3e4 doc: Minor grammar correction
No comma needed.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
2021-12-23 07:32:33 +10:00
Adriano Marto Reis
a665be6a88 doc: Updating babel default configuration parameters
Updating babel default configuration parameters rtt-min and
max-rtt-penalty according to the actual implementation.

Signed-off-by: Adriano Marto Reis <adrianomarto@gmail.com>
2021-12-23 07:32:12 +10:00
Quentin Young
c039af97d9 doc: fix typo in ldpd docs
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-12-21 17:04:11 -05:00
Igor Ryzhov
ac2cb9bf94 *: rework renaming the default VRF
Currently, it is possible to rename the default VRF either by passing
`-o` option to zebra or by creating a file in `/var/run/netns` and
binding it to `/proc/self/ns/net`.

In both cases, only zebra knows about the rename and other daemons learn
about it only after they connect to zebra. This is a problem, because
daemons may read their config before they connect to zebra. To handle
this rename after the config is read, we have some special code in every
single daemon, which is not very bad but not desirable in my opinion.
But things are getting worse when we need to handle this in northbound
layer as we have to manually rewrite the config nodes. This approach is
already hacky, but still works as every daemon handles its own NB
structures. But it is completely incompatible with the central
management daemon architecture we are aiming for, as mgmtd doesn't even
have a connection with zebra to learn from it. And it shouldn't have it,
because operational state changes should never affect configuration.

To solve the problem and simplify the code, I propose to expand the `-o`
option to all daemons. By using the startup option, we let daemons know
about the rename before they read their configs so we don't need any
special code to deal with it. There's an easy way to pass the option to
all daemons by using `frr_global_options` variable.

Unfortunately, the second way of renaming by creating a file in
`/var/run/netns` is incompatible with the new mgmtd architecture.
Theoretically, we could force daemons to read their configs only after
they connect to zebra, but it means adding even more code to handle a
very specific use-case. And anyway this won't work for mgmtd as it
doesn't have a connection with zebra. So I had to remove this option.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-12-21 22:09:29 +03:00
Igor Ryzhov
2593d35e0b
Merge pull request #10181 from ton31337/fix/default-originate_route-map
doc: Add `default-originate route-map WORD` for bgpd
2021-12-20 16:13:07 +03:00
Igor Ryzhov
d1aa7c01c4 doc: fix undefined label warning
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-12-14 12:31:19 +03:00
nsaigomathi
761e4fbad8 pimd: IGMP Query Generation
Problem:
=======
Generate query once cli is generating IGMPv2 report for IGMPv3 enabled interface

Description:
===========
If the version is not specified in the cli, it was taking version 2 as default

Fix:
===
If the version is not specified in the cli along with ip igmp generate-query-once,
the default will be the version enabled on that interface.

Signed-off-by: nsaigomathi <nsaigomathi@vmware.com>
2021-12-13 23:35:01 -08:00
Donatas Abraitis
a64829d3c5
Merge pull request #9472 from rampxxxx/pathd_doc_augmented
doc: Augmented pathd documentation.
2021-12-14 09:16:11 +02:00
Donatas Abraitis
91342239ca doc: Add default-originate route-map WORD for bgpd
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-12-06 09:51:29 +02:00
Igor Ryzhov
c5ec8f66e0 doc: add missing route-map match command
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-12-03 21:49:54 +03:00
Olivier Dugeon
ed6189a9b5 isisd: Add Link State Traffic Engineering support
Add Link State TED features to isis_te.c and new CLI to export LS TED and
show LS TED to IS-IS.

IS-IS LSPs are parse each time a new LSP event occurs in order to update
accordingly the Link State Traffic Engineering Database. LS TED could be
exported through the ZAPI Opaque message (see sharpd as example).

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-11-30 15:22:28 +01:00
Olivier Dugeon
173f8887cc isisd: Add support for RFC6119 (IPv6 TE in IS-IS)
- Add advertisement of Global IPv6 address in IIH pdu
 - Add new CLI to set IPv6 Router ID
 - Add advertisement of IPv6 Router ID
 - Correctly advertise IPv6 local and neighbor addresses in Extended IS and MT
   Reachability TLVs
 - Correct output of Neighbor IPv6 address in 'show isis database detail'
 - Manage IPv6 addresses advertisement and corresponiding Adjacency SID when
   IS-IS is not using Multi-Topology by introducing a new ISIS_MT_DISABLE
   value for mtid (== 4096 i.e. first reserved flag set to 1)

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-11-30 15:22:28 +01:00
Russ White
5c24a442d9
Merge pull request #10105 from ton31337/feature/rfc9072
bgpd: Implement rfc9072
2021-11-29 10:46:58 -05:00
Russ White
d41e9fe0cb
Merge pull request #9203 from opensourcerouting/bgpd-show-json
bgpd: add "json" option to a few more show commands
2021-11-27 08:30:04 -05:00
Donatas Abraitis
cce442b5c5 doc: Add match ipv6 next-hop prefix-list command
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-24 16:25:42 +02:00
Renato Westphal
fe0f234d13 bgpd: add "json" option to "show ip bgp ... dampening parameters"
Also:
* rename show_ip_bgp_cmd to show_ip_bgp_dampening_params_cmd;
* rename show_ip_bgp_json_cmd to show_ip_bgp_cmd.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-11-23 15:14:08 -03:00
Renato Westphal
39c3c7364d bgpd: add "json" option to "show ip bgp ... longer-prefixes"
Move the "longer-prefixes" option from show_ip_bgp_cmd to
show_ip_bgp_json_cmd so that is has access to JSON output.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-11-23 15:14:08 -03:00
Renato Westphal
bf1a944ace bgpd: add "json" option to "show ip bgp ... route-map"
Move the "route-map" option from show_ip_bgp_cmd to
show_ip_bgp_json_cmd so that is has access to JSON output.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-11-23 15:14:08 -03:00
Renato Westphal
a71293475b bgpd: add "json" option to "show ip bgp ... filter-list"
Move the "filter-list" option from show_ip_bgp_cmd to
show_ip_bgp_json_cmd so that is has access to JSON output.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-11-23 15:14:08 -03:00
Renato Westphal
6deaf5794d bgpd: add "json" option to "show ip bgp ... prefix-list"
Move the "prefix-list" option from show_ip_bgp_cmd to
show_ip_bgp_json_cmd so that is has access to JSON output.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-11-23 15:14:08 -03:00
Renato Westphal
707999834a bgpd: add "json" option to "show ip bgp ... community-list"
Move the "community-list" option from show_ip_bgp_cmd to
show_ip_bgp_json_cmd so that is has access to JSON output.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-11-23 14:36:58 -03:00
Donatas Abraitis
f7517a8b44 doc: Add match ipv6 next-hop ACCESS6_NAME
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-23 08:27:50 +02:00
Donatas Abraitis
ad7d219da1 doc: Add neighbor ADDR extended-optional-parameters command
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-22 15:34:47 +02:00
Donatas Abraitis
ada41a34ba doc: Add rfc9072 as implemented
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-22 15:34:47 +02:00
Igor Ryzhov
03030106ce bgpd, lib: fix inconsistency of match ip/ipv6 next-hop commands
For IPv4 matching, we have "match ip next-hop address A.B.C.D".
For IPv6 matching, we have "match ipv6 next-hop X:X::X:X".

To have consistency, let's add "address" keyword to IPv6 commands.
Old commands are preserved as hidden for backward compatibility.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-19 21:11:52 +03:00
Donald Sharp
b72aae2e04 *: Cleanup some documentation from quagga->frr
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-11-11 14:41:27 -05:00
Russ White
eda02ab9da
Merge pull request #10025 from opensourcerouting/xref-backtrace
lib: backtraces for specific log messages
2021-11-11 08:08:19 -05:00
anlan_cs
b58393f6ab doc: remove redundant chars for bgp
Signed-off-by: anlan_cs <anlan_cs@tom.com>
2021-11-11 03:19:59 -05:00
David Lamparter
de75bdc37b doc: add unique-id & backtrace user docs
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 15:30:56 +01:00
Donatas Abraitis
5a238a01f1 doc: We must install rpki packages to enable RPKI support
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-08 11:34:52 +02:00
Donatas Abraitis
a13e0374fe doc: Drop misleading explanation about neighbor X interface IFNAME
This command is not deprecated.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-05 22:59:52 +02:00
Russ White
56663909d6
Merge pull request #9884 from ton31337/feature/long_lived_graceful_restart_capability
bgpd: Add Long-lived Graceful Restart capability (restarter)
2021-11-05 15:15:18 -04:00
Donatas Abraitis
23c5949fbf doc: Cosmetic minor changes for zebra.rst
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-04 18:56:32 +02:00
Donatas Abraitis
c60f71713c
Merge pull request #9322 from donaldsharp/sysctl_v6
doc: Add documentation about use_oif_addrs_only
2021-11-04 18:36:07 +02:00
Donatas Abraitis
8606be8779 bgpd: Add Long-lived Graceful Restart capability (restarter)
Restart Router mode.

FRRouting (Restarter):
```
 bgp long-lived-graceful-restart stale-time 10
 bgp graceful-restart restart-time 1
```

Tested with GoBGP (Helper):
```
    long-lived-graceful-restart:	advertised and received
        Local:
	    ipv4-unicast, restart time 100000 sec
        Remote:
	    ipv4-unicast, restart time 10 sec, forward flag set
```

Logs:

```
{"Key":"192.168.10.123","Reason":"graceful-restart","State":"BGP_FSM_ESTABLISHED","Topic":"Peer","level":"info","msg":"Peer Down","time":"2021-10-25T17:48:36+03:00"}
{"Key":"192.168.10.123","State":"BGP_FSM_IDLE","Topic":"Peer","level":"warning","msg":"graceful restart timer expired","time":"2021-10-25T17:48:37+03:00"}
{"Family":65537,"Key":"192.168.10.123","Topic":"Peer","level":"info","msg":"start LLGR restart timer (10 sec) for ipv4-unicast","time":"2021-10-25T17:48:37+03:00"}
{"Family":65537,"Key":"192.168.10.123","Topic":"Peer","level":"info","msg":"LLGR restart timer (10 sec) for ipv4-unicast expired","time":"2021-10-25T17:48:47+03:00"}

% ./gobgp global rib
   Network              Next Hop             AS_PATH              Age        Attrs
S*>10.0.2.0/24          192.168.10.123       174                  00:12:08   [{Origin: ?} {Med: 0} {Communities: llgr-stale} {Extcomms: [174:1282304808]}]
```

Helper mode will be added with upcoming PRs.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-10-31 20:25:42 +02:00
Quentin Young
0c124f75db
Merge pull request #9440 from dlqs/dplanehook2 2021-10-26 15:26:32 -04:00
Donald Sharp
39b4166596 doc: Remove reference to non-existent command
The `neighbor <peer> version <X>` command does not
exist.  I am unable to find it going back to version
2.0 of FRR.  So this command has been not in the system
for a very long time.

In any event bgp already supports version 4 of bgp and
it auto-negotiates this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-10-25 09:03:48 -04:00
Jafar Al-Gharaibeh
63da89db77
Merge pull request #9742 from elimbaum/add-vlan-actions
pbrd: add vlan actions to vty
2021-10-23 00:06:16 -05:00
Donald Sharp
48dbe48a99 doc: Add documentation about use_oif_addrs_only
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-10-20 09:37:44 -04:00
Russ White
ed131d8b74
Merge pull request #9752 from opensourcerouting/ospf6d-nssa-ranges
ospf6d: add support for NSSA Type-7 address ranges
2021-10-19 19:15:40 -04:00
Donald Lee
30085ba550 doc: Add doc for zebra hook calls
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-10-20 00:56:00 +08:00
Baptiste Jonglez
beaa072724 doc: Add missing static route options and clarify usage
* Add missing "blackhole" and "reject" options
* Add missing GATEWAY + IFNAME usage
* Add missing "onlink" option
* Explicit all possible usage patterns of static routes
* Clarify description of each option

Signed-off-by: Baptiste Jonglez <baptiste.jonglez@inria.fr>
2021-10-12 17:28:11 +02:00
Renato Westphal
d7374bd3b1
Merge pull request #9788 from idryzhov/ospf6-clear-interface-vrf
ospf6d: add missing vrf parameter to "clear ipv6 ospf6 interface"
2021-10-11 12:19:09 -03:00
Igor Ryzhov
ad7e12b0d9 ospf6d: add missing vrf parameter to "clear ipv6 ospf6 interface"
Currently, it's not possible to run this command in any VRF other than default.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-09 02:54:10 +03:00
Russ White
99497bc4ee
Merge pull request #9471 from pguibert6WIND/table_manager_alloc2
zebra: extend table manager per vrf, add vty configuration
2021-10-08 13:49:54 -04:00
Donatas Abraitis
89748f2704
Merge pull request #9773 from idryzhov/bgp-show-prefix-filter-vrf
bgpd: add missing vrf/view parameter to one command
2021-10-08 08:52:37 +03:00
Igor Ryzhov
c6ff5b66e2
Merge pull request #9740 from caracall/forked-upstream/debug_ospf6
ospf6: add the ability of specifying router-id/area-id in no debug ospf6
2021-10-07 18:38:22 +03:00
Igor Ryzhov
d3120452c4 bgpd: add missing vrf/view parameter to one command
"show bgp neighbors PEER received prefix-filter" misses the argument.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-07 18:29:22 +03:00
Eli Baum
d70a31a3ef pbrd: add vlan actions to vty
Signed-off-by: Eli Baum <ebaum@mitre.org>
2021-10-07 09:14:59 -04:00
Renato Westphal
210a75e65d
Merge pull request #9755 from pguibert6WIND/isis_sr_doc
doc: fix show isis route prefix-sid command
2021-10-06 12:13:26 -03:00
Ahmad Caracalli
b25a110347 ospf6: add the ability of specifying router-id/area-id in no debug ospf6
Add the ability to specify the router-id/area-id when deleting the debug
ospf6 configuration.

The new commands are as follow:

no debug ospf6 border-routers router-id [A.B.C.D]
no debug ospf6 border-routers area-id [A.B.C.D]

Update the doc as well.

Signed-off-by: Ahmad Caracalli <ahmad.caracalli@6wind.com>
2021-10-06 15:46:19 +02:00
Philippe Guibert
f0009d5769 doc: fix show isis route prefix-sid command
This command was not documented, and deprecates the old one.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-10-06 13:27:12 +02:00
Renato Westphal
81e43fd9f2 doc: fix small documentation issue
Commit 6735622c24 updated one command form but not
the other. Fix this.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-10-05 21:25:55 -03:00
Renato Westphal
3c77bc809f ospf6d: add support for NSSA Type-7 address ranges
Implement NSSA address ranges as specified by RFC 3101:

   NSSA border routers may be configured with Type-7 address ranges.
   Each Type-7 address range is defined as an [address,mask] pair.  Many
   separate Type-7 networks may fall into a single Type-7 address range,
   just as a subnetted network is composed of many separate subnets.
   NSSA border routers may aggregate Type-7 routes by advertising a
   single Type-5 LSA for each Type-7 address range.  The Type-5 LSA
   resulting from a Type-7 address range match will be distributed to
   all Type-5 capable areas.

Syntax:
  area A.B.C.D nssa range X:X::X:X/M [<not-advertise|cost (0-16777215)>]

Example:
  router ospf6
   ospf6 router-id 1.1.1.1
   area 1 nssa
   area 1 nssa range 2001:db8:1000::/64
   area 1 nssa range 2001:db8:2000::/64
  !

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-10-05 21:25:55 -03:00
Jafar Al-Gharaibeh
aefe11f77a
Merge pull request #9711 from idryzhov/doc-ospf
doc: fix ospf distribute-list command and description
2021-10-05 14:25:42 -05:00
Javier Garcia
5d5e0f5209 doc: Augmented pathd documentation.
Extend the pathd documentation with more configuration examples, more
detailed and some graphics to help understand what pathd supports.

Signed-off-by: Javier Garcia <rampxxxx@gmail.com>
2021-10-04 18:56:47 +02:00
Igor Ryzhov
cb00030f9a doc: fix debugging-ospf label
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-04 15:22:24 +03:00
Igor Ryzhov
0757efc0ce doc: fix range for bgp expanded community list
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-01 18:36:02 +03:00
Igor Ryzhov
e3cb363a73 doc: fix ospf distribute-list command and description
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-01 14:45:21 +03:00
Russ White
b8beb67ef5
Merge pull request #9585 from opensourcerouting/ospf6d-nssa-dflt-originate
ospf6d: add a knob to generate Type-7 default routes
2021-09-24 13:42:49 -04:00
Donald Sharp
e39ea73486
Merge pull request #9647 from opensourcerouting/ospf-gr-cmd-rename
ospfd, ospf6d: rename the "graceful-restart helper-only" command
2021-09-22 14:53:40 -04:00
Renato Westphal
6735622c24 ospf6d: implement Type-7 default routes for NSSA areas
Add the "default-information-originate" option to the "area X nssa"
command. That option allows the origination of Type-7 default routes
on NSSA ABRs and ASBRs.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-21 17:47:13 -03:00
Renato Westphal
859bce816b ospfd: rename the "graceful-restart helper-only" command
Considering that both the GR helper mode and restarting mode can be
enabled at the same time, the "graceful-restart helper-only" command
can be a bit misleading since it implies that only the helper mode
is enabled. Rename the command to "graceful-restart helper enable"
to clarify what the command does.

Start a deprecation cycle of one year before removing the original
command

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-21 17:42:03 -03:00
Philippe Guibert
42d4b30e00 zebra: extend table manager per vrf, add vty configuration
Because vrf backend may be based on namespaces, each vrf can
use in the [16-(2^32-1)] range table identifier for daemons that
request it. Extend the table manager to be hosted by vrf.

That possibility is disabled in the case the vrf backend is vrflite.
In that case, all vrf context use the same table manager instance.

Add a configuration command to be able to configure the wished
range of tables to use. This is a solution that permits to give
chunks to bgp daemon when it works with bgp flowspec entries and
wants to use specific iptables that do not override vrf tables.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-09-21 18:37:30 +02:00
Russ White
48f23c8879
Merge pull request #9640 from opensourcerouting/ospf6d-filters
ospf6d: rework filtering commands to be in line with ospfd
2021-09-21 11:28:58 -04:00
Renato Westphal
6b513b4c92 ospf6d: rename the "graceful-restart helper-only" command
Considering that both the GR helper mode and restarting mode can be
enabled at the same time, the "graceful-restart helper-only" command
can be a bit misleading since it implies that only the helper mode
is enabled. Rename the command to "graceful-restart helper enable"
to clarify what the command does.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-21 11:51:36 -03:00
Lars Seipel
bedcbe4b91 doc: mention set as-path exclude in routemap.rst
Signed-off-by: Lars Seipel <ls@slrz.net>
2021-09-20 20:43:58 +02:00
Renato Westphal
f4f0098ca0 ospf6d: rework filtering commands to be in line with ospfd
Issue #9535 describes how the export-list/import-list commands work
differently on ospfd and ospf6d.

In short:
* On ospfd, "area A.B.C.D export-list" filters which internal
  routes an ABR exports to other areas. On ospf6d, instead, that
  command filters which inter-area routes an ABR exports to the
  configured area (which is quite counter-intuitive). In other words,
  both commands do the same but in opposite directions.
* On ospfd, "area A.B.C.D import-list" filters which inter-area
  routes an ABR imports into the configured area. On ospf6d, that
  command filters which inter-area routes an interior router accepts.
* On both daemons, "area A.B.C.D filter-list prefix NAME <in|out>"
  works exactly the same as import/export lists, but using prefix-lists
  instead of ACLs.

The inconsistency on how those commands work is undesirable. This
PR proposes to adapt the ospf6d commands to behave like they do
in ospfd.

These changes are obviously backward incompatible and this PR doesn't
propose any mitigation strategy other than warning users about the
changes in the next release notes. Since these ospf6d commands are
undocumented and work in such a peculiar way, it's unlikely many
users will be affected (if any at all).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-20 13:06:35 -03:00
Renato Westphal
7116509803 ospf6d: introduce support for Graceful Restart (restarting mode)
RFC 5187 specifies the Graceful Restart enhancement to the OSPFv3
routing protocol. This commit implements support for the GR
restarting mode.

Here's a quick summary of how the GR restarting mode works:
* GR can be enabled on a per-instance basis using the `graceful-restart
  [grace-period (1-1800)]` command;
* To perform a graceful shutdown, the `graceful-restart prepare ipv6
  ospf` EXEC-level command needs to be issued before restarting the
  ospf6d daemon (there's no specific requirement on how the daemon
  should be restarted);
* `graceful-restart prepare ospf` will initiate the graceful restart
  for all GR-enabled instances by taking the following actions:
  o Flooding Grace-LSAs over all interfaces
  o Freezing the OSPF routes in the RIB
  o Saving the end of the grace period in non-volatile memory (a JSON
    file stored in `$frr_statedir`)
* Once ospf6d is started again, it will follow the procedures
  described in RFC 3623 until it detects it's time to exit the graceful
  restart (either successfully or unsuccessfully).

Testing done:
* New topotest featuring a multi-area OSPF topology (including stub
  and NSSA areas);
* Successful interop tests against IOS-XR routers acting as helpers.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-16 12:26:48 -03:00
Trey Aspelund
4c9cf1988f doc: fixup formatting in zebra.rst
Swap out incorrect usage of '^' with proper usage of '-'.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2021-09-15 20:50:55 -04:00
Trey Aspelund
229f842baa doc: Expand sysctl values covered in zebra.rst
Added references to some other sysctl knobs that influence behavior
significant to routers, e.g. arp_accept, arp_ignore, bc_forwarding.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2021-09-14 16:44:03 -04:00
Trey Aspelund
bca2d9bc70 doc: Add reference to vtysh in basic setup
Received user feedback that it was unclear how to get into the FRR
shell.  Adding a snippet to the basic setup page to help clarify.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2021-09-14 16:42:56 -04:00
Donatas Abraitis
f334c88ed9
Merge pull request #9581 from idryzhov/rpki-source-move
bgpd: move rpki source after the server config
2021-09-09 09:37:02 +03:00
Igor Ryzhov
484fc3741b bgpd: move rpki source after the server config
Currently the source IP parameter must be entered between destination IP
and destination port parameters. This is not obviously understandable
when you read such config so let's move the source parameter to the end
of the command line, after the whole list of destination parameters. We
can do this without any deprecation cycle as the parameter was introduced
just recently and isn't in any public release yet.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-08 23:43:55 +03:00
Renato Westphal
8a60820f70 ospf6d: add support for NSSA totally stub areas
Add a knob to turn a NSSA area into a totally stub area. In this
configuration a Type-3 default summary route is generated by default.

Syntax: `area A.B.C.D nssa no-summary`.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-07 11:43:35 -03:00
Mark Stapp
4250098311
Merge pull request #9545 from ton31337/feature/disable-addpath-rx
bgpd: Add disable-addpath-rx knob
2021-09-03 11:52:57 -04:00
Donald Sharp
53b08a373d
Merge pull request #9542 from pguibert6WIND/ssh_rpki_source
bgpd: add rpki source address configuration
2021-09-03 10:35:47 -04:00