Commit Graph

2194 Commits

Author SHA1 Message Date
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
Donatas Abraitis
cd16c68376 doc: Drop unnecessary sentence about index.html changes for releases
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-04 09:53:16 +02:00
Donatas Abraitis
5c1d285012 doc: Add a couple of handy commands to get some info for release notes
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-04 09:46:25 +02: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
David Lamparter
17dd5ca8f8
Merge pull request #10584 from donaldsharp/workflow_modification 2022-03-01 11:44:57 +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
Russ White
801d1f9ccf
Merge pull request #10627 from ton31337/fix/enforce_using_documentation_prefixes
doc: Enforce using IPv4/IPv6 reserved ranges for documentation
2022-02-28 09:54:09 -05: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
c2f24d8ee6 doc: Enforce using IPv4/IPv6 reserved ranges for documentation
Just to avoid publicly IPv4/IPv6 ranges in topotests/documentation.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-02-25 09:11:52 +02: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
264274daed doc: List DEFUN as deprecated
New development should use DEFPY.  Document this

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-15 12:35:09 -05:00
Donald Sharp
e605a2391a doc: Update documentation to state new code must use latest approved methods
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-15 12:35:09 -05:00
Russ White
f8e665084d
Merge pull request #10573 from ton31337/fix/doc_rc_tag
doc: An example how we do RC tagging for stabilization branch
2022-02-15 11:33:02 -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
0a3fa828f8 doc: An example how we do RC tagging for stabilization branch
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-02-13 21:23:53 +02:00
Donatas Abraitis
f7d8698313
Merge pull request #9697 from SaiGomathiN/igmp-sources
pimd: json support added
2022-02-11 07:53:02 +02:00
Russ White
6142a17949
Merge pull request #8890 from rameshabhinay/ospf6_auth_trailer
OSPF6: Support OSPF6 authentication trailer RFC 7166
2022-02-10 14:17:13 -05: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
Jafar Al-Gharaibeh
7df46ddfac
Merge pull request #9631 from donaldsharp/more_workflow
doc: Update workflow.rst for release management
2022-02-09 09:03:41 -06:00
Donald Sharp
add70bc315 doc: Update workflow.rst for release management
Some release management updates

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-09 07:56:00 -05: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
Jafar Al-Gharaibeh
c1242b7be5 doc: the dev tag should come after the new version commit step
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2022-02-08 10:50:15 -06: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
Jafar Al-Gharaibeh
89569a7684
Merge pull request #10471 from ton31337/fix/release_candidate_procedure
doc: Add a commands snippet to workflow about what to do in RC1 phase
2022-02-06 15:06:16 -06:00
Donatas Abraitis
5568f9d12b doc: Add a commands snippet to workflow about what to do in the 1st phase
What we should do when creating stabilization branch from the master.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2022-02-05 10:07:32 +02: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
Olivier Dugeon
fd8e262ab7 lib: Add CSPF Path Computation algorithm
As helper function of Segment Routing Flex Algo or RSVP-TE
add Constrained Shortest Path First algorithm able to compute
path with constraints. Supported constraints are as follow:
 - Standard IGP metric
 - TE IGP metric
 - Delay metric
 - Bandwidth for given Class of Service for bandwidth reservation (RSVP-TE)

Usage of CSPF algorithms is detailed in the doc/developer/cspf.rst file

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
Igor Ryzhov
85c6eccad9 doc: cleanup submitting patches and enhancements
Remove some remains from the times when patches were accepted via email.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2022-01-17 20:21:08 +03: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
Donald Sharp
939e32702a
Merge pull request #10342 from Marlinc/rfc9136
docs(bgp): refer to rfc9136 instead of draft
2022-01-15 07:27:21 -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
David Lamparter
f59e688226 lib: add %pTH / %pTHD for printing thread info
Refer to docs in doc/developer for details.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-14 13:33:57 +01:00
David Lamparter
2c76ba433f lib: add time formatting printfrr exts
Refer to docs in doc/developer for details.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-14 13:33:57 +01:00
David Lamparter
2c5b4d80ef lib: add s option to pI4/pI6/pIA printfrr
Adding an `s` after these printfrr specifiers replaces 0.0.0.0 / :: in
the output with a star (`*`).  This is primarily intended for use with
multicast, e.g. to print `(*,G)`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-14 11:57:46 +01:00
David Lamparter
d51f8b0f1e pimd: move %pSG4 to %pPSG4
Since this is only used in very few places, moving it out of the way is
reasonable.  (`%pSG` will be pim_sgaddr)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-12 18:24:07 +01:00
Mobashshera Rasool
ec763ad809 doc: Adding the Design document for PIM IPv6
Added the High Level design for implementing MLD and PIMv6.

Added a PPT as well in case someone wants to translate it
to some other language.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-01-10 00:16:40 -08: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
Donald Sharp
dca7ea2e02
Merge pull request #10297 from ton31337/fix/gr_can_be_0
bgpd: Graceful Restart restart-time can be 0
2022-01-06 07:26:03 -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
4f5b13b504
Merge pull request #10291 from mjstapp/fix_topo_doc_reqs
docs: clarify topotest requirements
2022-01-06 10:14:32 +02: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
Mark Stapp
fd23ce2c01 docs: clarify topotest requirements
The developer docs weren't clear about some pre-reqs.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2022-01-05 10:27:17 -05: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
Jafar Al-Gharaibeh
339bd66fde tools: add a script to generate draft release changelog
This utility script helps in generated formatted and consistent
change log including:
       1- group logs per daemon
       2- standarize daemon names (lowercase, end with d)
       3- capitalize all log lines
       4- no merge commits

caveat: comments are assumed to be in the form

   daemon-name : message

Sample Output:

```
sharpd
    Follow the practice on cli design for json output
    Install route supports nexthop-seg6 (step3)
    Install_routes_helper support zapi_route flags (step1)

snapcraft
    Add missing dependency
    Add pathd to frr snap daemons
    Change base to ubuntu 18.04 and libyang 2.0.7

staticd
    Convert typedef to enum
    Fix distance processing
    Fix late initialization of blackhole type
    Output config using nb callbacks instead of operational data
```

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2021-12-06 13:44:57 -06: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
Jafar Al-Gharaibeh
9197378aec
Merge pull request #10008 from qlyoung/update-process-docs
doc: update release process
2021-11-24 12:55:22 -07: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
Donatas Abraitis
e8b88be050
Merge pull request #10049 from qlyoung/doc-update-process-arch
doc: update & clarify language in process arch doc
2021-11-13 21:45:40 +02:00
Quentin Young
ad2af6ed1c doc: update & clarify language in process arch doc
There was a historical blurb at the top of the process architecture
document that in several instances caused some confusion regarding
whether or not FRR supports multithreading. Remove this paragraph and
replace it with a summary of the page contents.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-12 14:45:36 -05: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
Quentin Young
526e898295 doc: fix wrong reference to release filename
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-10 11:58:29 -05:00
David Lamparter
afb8fe93b1 doc: stick libunwind into build docs
It's strictly optional, but… the backtraces are really much better.
Specifically, `libunwind` is notably more capable in figuring out
function names compared to glibc/libexecinfo `backtrace_symbols()`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 15:30:56 +01: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
Quentin Young
f34334ba44 doc: many process fixes / reorders
* Separate process into stages; stage 1 is preparation, stage 2 is
  staging, stage 3 is publishing
* Reorder some steps
* Remove some steps
* Elaborate on some steps
* Add some steps

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 16:40:41 -05:00
Quentin Young
5530810f33 doc: change instructions for running release tests
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 16:21:55 -05:00
Quentin Young
b7ca0bc360 doc: update docs details in release procedure
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 15:12:37 -05:00
Quentin Young
4bdfe95e2e doc: use sphinx auto-numbering in release docs
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 15:08:54 -05:00
Quentin Young
5b80c10d1f doc: update release process
Clarify process for editing changelog and updating the configure.ac
project version, as well as procedure for doing sanity testing prior to
creating the release tag.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-08 13:50:18 -05: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
Mark Stapp
52e458d922
Merge pull request #9766 from opensourcerouting/typesafe-member-nhrp-zap
lib: add typesafe membership-test functions
2021-10-20 08:13:17 -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
David Lamparter
e1111c5faf doc/developer: add _member and _anywhere
New members in the typesafe.h API club.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-19 14:55:39 +02:00
David Lamparter
4c0e52367a doc/developer: fix duplicate const prototypes
The const ones have const in the name.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:19:44 +02:00
David Lamparter
8c69c8f743 doc/developer: use :c:macro: where appropriate
Sphinx tries to parse :c:function: as function prototype, which doesn't
quite work with macros.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:17:30 +02:00
David Lamparter
e8713b62d1 doc/developer: fix warnings in topotests doc
Sphinx warns about a few nits here, just fix.  (Note :option:`-E` can't
be used without a "option:: -E" definition, it's intended as a cross
reference.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:12:01 +02:00
David Lamparter
936c12d71b doc/developer: fix C struct references
Sphinx wants `c:struct:: foo` rather than `c:type:: struct foo`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:02:31 +02:00
Donald Sharp
c6c39c05b5
Merge pull request #9684 from opensourcerouting/printfrr-false-positive
*: `frr-format` with unmodified GCC
2021-10-14 07:34:20 -04:00
Donald Sharp
2c982bd025
Merge pull request #9759 from opensourcerouting/workflow-dev-tag
doc/developer: document dev tag on master
2021-10-14 07:33:09 -04: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
David Lamparter
16044e7ff7 doc/developer: document dev tag on master
We have `frr-X.Y-dev` tags on master after pulling stable branches,
otherwise the `gitversion` tooling / `--with-pkg-git-version` gets
_very_ confused (it'll print something like:

```
FRRouting 8.2-dev-g210a75e65dad (areia).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of frr-8.1-rc1-8-g210a75e65dad
```

(Note the conflicting version numbers.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-06 18:15:23 +02: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
David Lamparter
f62de63c6a *: frr-format with unmodified GCC
Since there's very few locations where the `frr-format` actually prints
false positive warnings, consensus seems to be to just work around the
false positives even if the code is correct.

In fact, there is only one pattern of false positives currently, in
`bfdd/dplane.c` which does `vty_out("%"PRIu64, (uint64_t)be64toh(...))`.
The workaround/fix for this is a replacement `be64toh` whose type is
always `uint64_t` regardless of what OS we're on, making the cast
unnecessary.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-09-28 11:20:32 +02:00
Christian Hopps
fe226e844a
doc: add sudo environment setup info for topotests
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-26 19:14:49 -04:00
Quentin Young
a3941e8126
Merge pull request #9659 from idryzhov/dev-doc-fix
doc: fix code block in grpc docs
2021-09-24 14:14:44 -04: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
Igor Ryzhov
98059bbca6 doc: fix code block in grpc docs
The code block after the :: is not displayed correctly without an empty
line in between.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-23 12:08:12 +03: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
David Lamparter
161ed8a690 doc/workflow: prefer typesafe containers
The typesafe containers have been around for quite a while now and
haven't gone up in a blaze of flames, so let's add a "strong
recommendation" to use them for new code and refactors.

For the nhrpd custom lists I'm already working to remove them; meanwhile
the old skiplists are primarily used in RFAPI (4 users outside of that),
so those could be next.

What remains are the old `list_*` and `hash_*`, which have >300 and >100
users respectively, making them a much harder problem to tackle.  And
the new hash implementation doesn't have the same level of
debug/introspection yet (it's on my TODO.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-09-22 12:09:47 +02: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
Donald Sharp
827ddd5a1d
Merge pull request #9596 from LabNConsulting/ziemba/printfrr-nexthop
printfrr %pNHcg, %pNHci
2021-09-15 20:23:30 -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
G. Paul Ziemba
016cfe701e lib,doc,tests: printfrr %pNHcg, %pNHci
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-14 10:06:57 -07:00
Donald Sharp
b9d2f3f58d
Merge pull request #9558 from LabNConsulting/ziemba/doc-cli-new-node
doc/developer: how to add a CLI node
2021-09-13 08:36:26 -04:00
Donald Sharp
0d39b8f2f0
Merge pull request #9573 from LabNConsulting/chopps/update-template
tests: update the test template and doc
2021-09-10 10:49:00 -04:00
Quentin Young
32acb4a7ad
Merge pull request #9497 from opensourcerouting/cli-better-no 2021-09-09 12:22:53 -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
Christian Hopps
9b6f04c07c tests: update the test template and doc
- Update the template and documentation to use newer pytest fixutres for
setup and teardown, as well as skipping tests when the suite fails.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-08 13:09:41 -04:00
Donald Sharp
4fcda740dc
Merge pull request #9566 from LabNConsulting/chopps/easy-fancy-json-setup
tests: new improved simple JSON template w/ doc update
2021-09-08 11:29:52 -04:00
G. Paul Ziemba
d3bb30f588 doc/developer: adding a CLI node: mention frr-reload.py and VTY_PUSH_XPATH
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-07 09:51:49 -07: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
Hiroki Shirokura
1994c6bc05 doc: don't use abbreviate
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2021-09-07 07:11:20 +00:00
Hiroki Shirokura
e03862c34a topotests: to create pid file of topotest router
Create a pid file for the router created by topotest.
By executing nsenter directly against this pid, developers
can execute commands directly from outside the unet shell.
This allows the developer to use script, tab completion, etc.,
and improves efficiency.

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2021-09-07 03:55:04 +00:00
Donald Sharp
3702e8577f
Merge pull request #9563 from opensourcerouting/build-strict-prototypes
build: `-Wstrict-prototypes` (+ BSD `sed`)
2021-09-06 12:28:33 -04:00
Christian Hopps
36c1949730
tests: new improved simple JSON template w/ doc update
Utilizes new pytest fixtures to completely factor out setup and teardown
functionality. Supply the JSON config and write your tests.

"The best topotest template yet!"

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-05 02:45:13 -04:00
Christian Hopps
77f3acb45e doc: minor update based on mininet removal
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-04 09:04:46 -04:00