Commit Graph

2686 Commits

Author SHA1 Message Date
Quentin Young
d98bba1be2 doc: couple nbapi doc cleanups
* Fix block quote & rfc link
* Fix note block re: libyang dependencies

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-28 11:53:11 -04:00
Quentin Young
011d411c61 doc: fixup nbapi doc images
Pulled from web hosting into repo, all figure blocks updated.

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-28 11:53:07 -04:00
Quentin Young
dd858b8a76 doc: unpin sphinx from 4.0.2
requirements.txt was pinning sphinx at a very old version. This version
doesn't work in recent versions of Python; the new RTD configuration
made RTD respect our requirements file, breaking the build.

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-28 10:51:10 -04:00
Donald Sharp
45eec10c83
Merge pull request #14502 from opensourcerouting/fix/document_on_how_to_set_the_distance_from_linux
doc: Add an example on how to set a distance for a route from the kernel
2023-09-28 08:15:25 -04:00
Donatas Abraitis
67e1800e84 doc: Add neighbor capability dynamic command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-28 13:13:52 +03:00
Donatas Abraitis
5952e479e5 doc: Add an example on how to set a distance for a route from the kernel
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-28 12:52:15 +03:00
Donatas Abraitis
6a9fe6fac3
Merge pull request #14500 from qlyoung/add-rtd-config
doc: add .readthedocs.yaml configs
2023-09-28 12:36:29 +03:00
Quentin Young
f71f078023 doc: add .readthedocs.yaml configs
As of Sep 25 2023, RTD projects require config files to build. This
patch is necessary for docs to continue to build.

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-27 20:16:16 -04:00
Quentin Young
e45651fbd0 doc: include checkpatch & cspf docs in toctree
The documentation pages on checkpatch and CSPF were not reachable
because they were not included in any toctree. Include them in the tree!

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-27 19:55:35 -04:00
Quentin Young
d2292c6bfe doc: fix whitespace, formatting errors
* Fix various whitespace and syntax errors
* Fix a couple tiny grammar mistakes

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-27 19:55:35 -04:00
Jafar Al-Gharaibeh
52cc7f1006
Merge pull request #14222 from opensourcerouting/doc/debian12
[DOC] Debian 12
2023-09-27 17:46:40 -05:00
Donatas Abraitis
fb5f11ae67 doc: Use backward order when for release dates hint
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-27 16:49:56 +03:00
Donatas Abraitis
21d718aa6c doc: Fix release dates in workflow
Align to the release rules:

Releases are scheduled in a 4-month cycle on the first Tuesday each March/July/November.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-27 16:45:01 +03:00
Donald Sharp
bb308b1efc
Merge pull request #14482 from opensourcerouting/fix/walltime_threshold_disable
lib: Drop deprecated enable-time-check, enable-cpu-time compile options
2023-09-27 06:32:11 -04:00
Martin Winter
e1996b3f4a
doc: Add Debian 12 Build documentation
Signed-off-by: Rodrigo Nardi <rnardi@netdef.org>
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2023-09-26 17:44:11 +02:00
Russ White
f289533d5d
Merge pull request #14447 from marcos-ng/master
doc: reference the correct MGMTd show command
2023-09-26 11:43:17 -04:00
Russ White
8e755a03a3
Merge pull request #12649 from louis-6wind/bgp-link-state
bgpd: add basic support of BGP Link-State RFC7752
2023-09-26 10:07:02 -04:00
Donatas Abraitis
cd1dc02f89 doc: Use different label to distinguish PBR nexthop groups
/root/frr/doc/user/pbr.rst:32: WARNING: duplicate label nexthop-groups, other instance in /root/frr/doc/user/nexthop_groups.rst

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-25 09:33:02 +03:00
Donatas Abraitis
99ccb3a590 doc: Replace frr code highlighting marker to sh
No such thing exists.

 /root/frr/doc/user/ospfd.rst:624: WARNING: Cannot analyze code. No Pygments lexer found for "frr".

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-25 09:28:42 +03:00
Donatas Abraitis
d677be63f8 doc: Drop bullet point from ospfd documentation
/root/frr/doc/user/ospfd.rst:609: WARNING: Bullet list ends without a blank line; unexpected unindent.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-25 09:27:21 +03:00
Donatas Abraitis
fd0fe0bb6a lib: Drop deprecated enable-time-check, enable-cpu-time compile options
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-24 20:41:24 +03:00
Marcos Mendoza
2ad58661a3 doc: reference the correct MGMTd show command
Signed-off-by: Marcos Mendoza <mmendoza@netgate.com>
2023-09-21 12:54:04 -06:00
Donatas Abraitis
538aa53cea doc: domainname MUST be manually written to vtysh.conf also
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-21 10:39:54 +03:00
Dmytro Shytyi
bc6d311d28 doc: srv6 multiple segs SIDs documentation
Provide a paragraph for srv6 multiple segs SIDs in documentation
to describe the multiple segs functionality.

Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com>
2023-09-20 15:07:15 +02:00
Quentin Young
19c5667dfc doc: add northbound api arch docs
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-09-19 21:36:04 -04:00
Russ White
a9a89805ec
Merge pull request #14398 from m-varasteh/ospfd-rfc5709
ospfd: add support for RFC 5709 OSPFv2 HMAC-SHA Cryptographic Authentication
2023-09-19 10:14:14 -04:00
Louis Scalbert
8074d6f438 doc: add information to display bgp-ls attributes
Add information to display bgp-ls attributes

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-09-18 15:07:35 +02:00
Louis Scalbert
115f4f1ddd doc: add the bgp link-state user documentation
Add the bgp link-state user documentation

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-09-18 15:06:30 +02:00
Louis Scalbert
709fe971fd doc: move bgp references at the right place
move bgp references at the right place

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-09-18 15:06:24 +02:00
Mahdi Varasteh
f5011cd5dd [ospfd]: add support for RFC 5709 HMAC-SHA Auth
This patch includes:
* Implementation of RFC 5709 support in OSPF. Using
openssl library and FRR key-chain,
one can use SHA1, SHA256, SHA384, SHA512 and
keyed-MD5( backward compatibility with RFC 2328) HMAC algs.
* Updating documentation of OSPF
* add topotests for new HMAC algorithms

Signed-off-by: Mahdi Varasteh <varasteh@amnesh.ir>
2023-09-16 07:38:23 +03:30
Russ White
abaa68f213
Merge pull request #14162 from opensourcerouting/feature/turn_on_nht_resolve_via_default_for_traditional_profile
zebra: Turn on `nht resolve-via-default` by default for traditional profile
2023-09-13 05:57:49 -04:00
Russ White
986dfa5e5d
Merge pull request #14348 from opensourcerouting/fpm-rr
zebra: support route replace semantic in FPM
2023-09-12 08:45:14 -04:00
Russ White
48d6039e14
Merge pull request #13724 from cscarpitta/feature/isisd-srv6-support
isisd: Add support for SRv6 uSID (RFC 9352)
2023-09-12 08:33:42 -04:00
Carmine Scarpitta
69fca0a492 doc: Add documentation for IS-IS SRv6 features
Add documentation for IS-IS SRv6 functionalities (RFC 9352)

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2023-09-11 22:11:59 +02:00
Jafar Al-Gharaibeh
0cca970790
Merge pull request #14349 from opensourcerouting/fix/update_doc_for_docker
doc: Reuse $TAG for git checkout when building Docker images
2023-09-05 23:22:34 -05:00
Donatas Abraitis
b32fd280fe doc: Reuse $TAG for git checkout when building Docker images
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-09-05 08:54:27 +03:00
Rafael Zalamena
2644ff6e59 doc: document new FPM command
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-09-04 16:02:26 -03:00
Donatas Abraitis
d64a4ec490 doc: GR restart time, notifcation flag can be changed via BGP dynamic cap
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-08-30 17:18:53 +03:00
Martin Pels
4d96ce1b4d zebra: Make main routing table (RT_TABLE_MAIN) configurable
Signed-off-by: Martin Pels <mpels@ripe.net>
2023-08-22 15:29:07 +02:00
Donatas Abraitis
62196fbd19 zebra: Enable nht resolve-via-default by default for traditional profile
Lots of questions raising regarding unresolved nht, I think it's time to
relax this and make it a default ON.

Here is an example list of issues when `nht resolvia-via-default` solved
the problem:

https://github.com/FRRouting/frr/issues/3241
https://github.com/FRRouting/frr/issues/7420
https://github.com/FRRouting/frr/issues/3474
https://github.com/FRRouting/frr/issues/5023
https://github.com/FRRouting/frr/issues/6504
https://github.com/FRRouting/frr/issues/6680
https://github.com/FRRouting/frr/issues/7049
https://github.com/FRRouting/frr/issues/7862
https://github.com/FRRouting/frr/issues/7999
https://github.com/FRRouting/frr/issues/13215
https://github.com/FRRouting/frr/issues/14098

TL;DR;

The BGP session does not come up if using multihop sessions and/or the peer(nexthop)
is not accessible from the RIB, but only via default route. This is even valid for
iBGP, and not only for eBGP peering. Adding a static /32, /128 route for the peer
would do the trick, but it's a workaround.

If the route has a nexthop marked as invalid, most likely this is due to it can't
be resolved from the current RIB, but only via default route.

For instance, Cisco allows this by default (can't find even a knob to turn it
off or I'm blind).

For eBGP sessions it might be also combined with `disable-ebgp-connected-route-check`.

Some people asked if this could be a default, also for instance MetalLB is adding
this by default for all the configs it generates.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-08-17 21:45:55 +03:00
Jafar Al-Gharaibeh
ea5588c00e
Merge pull request #14189 from donaldsharp/do_not_use_system_calls
doc: Prohibit usage of `system()` calls in FRR
2023-08-13 16:02:17 -05:00
Donatas Abraitis
0c7d6dfdf0
Merge pull request #14126 from LabNConsulting/ziemba-pbr-actions-mangling
pbrd: (3/3) add packet mangling actions (src/dst ip-addr/port, dscp, ecn)
2023-08-13 16:39:07 +03:00
Donald Sharp
cdf6c5e587 doc: Prohibit usage of system() calls in FRR
See the documentation update, but system() calls and
it's ilk block the processing of SIGINT and they are
not properly handled as a result leading to shutdown
issues where one or more daemons never stop.

See aa530b627d as an example
of system call usage removed from the system.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-08-11 13:28:54 -04:00
Philippe Guibert
63be83eac5 doc: update mpls per interface command
Update mpls per interface command information.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-08-10 18:13:21 +02:00
G. Paul Ziemba
ba240bcfa3 pbrd: add packet mangling actions (src/dst ip-addr/port, dscp, ecn)
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2023-08-09 12:11:43 -07:00
Francois Dumontet
7ac7cd804b doc: set as-path replace as-path-access-list
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
2023-08-09 11:13:38 +02:00
G. Paul Ziemba
09262f1b72 pbrd: add nexthop drop type
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2023-08-08 10:18:15 -07:00
Donald Sharp
6f6b7e1706 doc: Add --v6-with-v4-nexthops documentation
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-08-03 08:57:55 -04:00
Farid Mihoub
902a8d1fd3 bgpd: add set extended-comm-list <> delete command
Signed-off-by: Farid Mihoub <farid.mihoub@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-07-31 11:52:36 +02:00
Russ White
82d8e7d5fa
Merge pull request #13945 from pguibert6WIND/redistribute_isis_table
Redistribute isis table
2023-07-25 10:16:46 -04:00
Mark Stapp
90f1e4e017
Merge pull request #14065 from opensourcerouting/bfd-label-doc
doc: remove BFD label command references
2023-07-21 08:59:50 -04:00
Donatas Abraitis
3a58764e3a
Merge pull request #14034 from LabNConsulting/aceelindem/ospf_prefix_suppression
ospfd: Implement OSPF prefix-suppression as specified in RFC 6860
2023-07-21 10:14:22 +03:00
Acee
e2eea4fe8e ospfd: Implement OSPF prefix-suppression as specified in RFC 6860
Signed-off-by: Acee <aceelindem@gmail.com>
2023-07-20 14:56:43 -04:00
Rafael Zalamena
01ec8c260a doc: remove BFD label command references
`label` command is already gone and now we are going to remove all label
references.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-07-20 15:49:07 -03:00
Donald Sharp
1b1d256f03
Merge pull request #14026 from LabNConsulting/pbr-add-vlan-filters
pbrd: 1/3: add vty support for vlan filtering and send to zebra
2023-07-20 08:01:24 -04:00
G. Paul Ziemba
8b330fe8b7 pbrd: add vlan filters pcp/vlan-id/vlan-flags; ip-protocol any (doc, tests)
Subset: doc and tests

    doc
	PBR section updated with new fields and some copy-editing

    tests
	pbr_topo1: ensure new vlan fields arrive at zebra

    Changes by:
	Josh Werner <joshuawerner@mitre.org>
	Eli Baum <ebaum@mitre.org>
	G. Paul Ziemba <paulz@labn.net>

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2023-07-19 08:15:45 -07:00
Francois Dumontet
832b5c30c0 doc: set as-path exclude as-path-access-list
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
2023-07-19 10:58:00 +02:00
Donald Sharp
37940809ad
Merge pull request #14037 from opensourcerouting/feature/enable_software_capability_for_datacenter_profile_by_default
bgpd: Enable software version capability for datacenter profile
2023-07-18 09:19:19 -04:00
Donatas Abraitis
30db544508 bgpd: Send software-version capability by default
Useful to have it for datacenter profile only, disabled for traditional.

If the peer is not established or established, but has no description set,
we will show the FRR version instead, which is kinda handy to have instead of
nothing.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-18 09:42:48 +03:00
Zhiyuan Wan
919b8f94b3 ospfd: Support show intra-area network type in 'show ip ospf route' command
User can now use 'show ip ospf route detail' command to distinguish
intra-area stub network and transit network.
Transit network will be displayed as 'N T prefix ...'.

NOTICE: Json output format has been changed, intra-area transit networks
will have a new attribute 'transit' and value is 'true'.
And 'adv' (means advertise router) change to 'advertisedRouter'.

Example output:

bsp-debianrt-exp1# show ip ospf route detail
Codes: N  - network     T - transitive
       IA - inter-area  E - external route
       D  - destination R - router

============ OSPF network routing table ============
N T  10.0.0.0/24           [32] area: 0.0.0.0
                           via 192.168.124.67, ens192
                           adv 10.0.0.5
N    10.0.30.0/24          [33] area: 0.0.0.0
                           via 192.168.124.67, ens192
                           adv 10.0.0.5
...

Signed-off-by: Zhiyuan Wan <h@iloli.bid>
2023-07-18 14:20:05 +08:00
Zhiyuan Wan
0ce2d1aaa1 ospfd: Support show advertise router in 'show ip ospf route' command
Users can now use 'show ip ospf route [detail]' command to show the
originator of each OSPF route item.

Signed-off-by: Zhiyuan Wan <h@iloli.bid>
2023-07-18 14:20:05 +08:00
Donatas Abraitis
58ac0f408f doc: Add RFC 5396 to the supported BGP RFC list
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-14 10:29:45 +03:00
Philippe Guibert
2150647069 isisd: add redistribute table identifier in nb configuration
The yang model does not handle the table identifier in IS-IS.
For each redistributed each address family, a new list of
table elements is added to store the table identifier to
redistribute, and also the optional metric and route-map values
for each table identifier.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-07-12 14:06:00 +02:00
Donald Sharp
6934a1d31d
Merge pull request #13968 from zhengxiang311019/patch-1
doc: fix the error path.
2023-07-11 12:25:40 -04:00
Russ White
6e89a5db22
Merge pull request #13691 from LabNConsulting/aceelindem/ospf-opaque-interface-disable
ospfd: Configurable interface-level 'capability opaque' support
2023-07-11 11:47:32 -04:00
xzheng
c46a231a8d doc: fix the error path
fix the error path.

Signed-off-by: xzheng <zhengxiang311019@163.com>
2023-07-11 09:45:35 +08:00
Christian Hopps
055f4997b4 doc: document sqlite3 depend and add to docker build
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-07-06 18:08:15 -04:00
Donatas Abraitis
3b02d99f33
Merge pull request #13836 from pguibert6WIND/set_aspath_replace_with_configured_asn
bgpd: add 'set as-path replace' with a configured ASN
2023-06-30 12:39:55 +03:00
Rodney W. Grimes
a41eee6927 doc: Add Ubuntu 22.04 to list of builds
Add Ubuntu 22.04 build instructions to list.
Sort list into alphabetic order.

Signed-off-by: Rodney W. Grimes <rgrimes@FreeBSD.org>
2023-06-29 09:46:27 +00:00
Philippe Guibert
a3f0a1f5ed bgpd: add 'set as-path replace' with a configured ASN
There is no route-map set action to replace any ASN,
or a part of an ASN, with a configured ASN.

The current commit adds a new command to use a configured
ASN as replacement, instead of using the local as number.

> set as-path replace any 65500

Update the 'bgp_set_aspath_replace' test.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-06-28 21:21:55 +02:00
Acee
e72549c8f6 ospfd: Configurable interface-level 'capability opaque' support
Add support for "[no] ip ospf capbility opaque" at the interface
    level with the default being capability opaque enabled. The command
    "no ip ospf capability opaque" will disable opaque LSA database
    exchange and flooding on the interface. A change in configuration
    will result in the interface being flapped to update our options
    for neighbors but no attempt will be made to purge existing LSAs
    as in dense topologies, these may received by neighbors through
    different interfaces.

    Topotests are added to test both the configuration and the LSA
    opaque flooding suppression.

Signed-off-by: Acee <aceelindem@gmail.com>
2023-06-28 13:03:48 -04:00
Russ White
4a7d9469f2
Merge pull request #13826 from opensourcerouting/fix/ripng_match_ipv6_acls
ripng: match ipv6 address [prefix-list] CMDs
2023-06-27 11:31:23 -04:00
Donatas Abraitis
4199f032e5
Merge pull request #13722 from fdumontet6WIND/color_extcomm
bgpd,lib,yang: add colored extended communities support
2023-06-27 13:03:22 +03:00
anlan_cs
4e8737b269 doc: Fix one syntax error for code block
The code block doesn't work due to special thing in front of it.
So, just make it work.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-06-27 13:51:40 +08:00
Francois Dumontet
fc44787211 doc: extcommunity color
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
2023-06-26 14:27:27 +02:00
Jafar Al-Gharaibeh
0951530abc
Merge pull request #13823 from LabNConsulting/aceelindem/workflow-coverity-typo
doc: Fix typo in previous Coverity workflow doc commit.
2023-06-22 13:32:09 -05:00
Donatas Abraitis
bfbe4e629d doc: Add documentation for route-maps for ripng
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-22 00:14:02 +03:00
Russ White
be4cfbd2b8
Merge pull request #13790 from pguibert6WIND/set_aspath_exclude
bgpd: add 'set as-path exclude all' command
2023-06-21 08:48:21 -04:00
Acee Lindem
f8831ce197 doc: Fix typo in previous Coverity workflow doc commit.
Signed-off-by: Acee Lindem <aceelindem@gmail.com>
2023-06-21 07:11:10 -04:00
Jafar Al-Gharaibeh
2be9ce6cd8
Merge pull request #13801 from LabNConsulting/chopps/latest-checkpatch
Import latest checkpatch.pl from linux
2023-06-20 10:41:01 -05:00
Jafar Al-Gharaibeh
3917d78f4c
Merge pull request #13809 from LabNConsulting/chopps/mgmtdoc
doc: start of mgmtd developer doc
2023-06-20 09:04:55 -05:00
Russ White
4d9fb376c8
Merge pull request #13728 from opensourcerouting/fix/addpath_drop_non_best_addpaths
bgpd: Implement neighbor X addpath-tx-best-selected command
2023-06-20 09:20:36 -04:00
Russ White
68da3eab07
Merge pull request #13524 from pguibert6WIND/mpls_vpn_lsr_redistribute
MPLS vpn LSR redistribute
2023-06-20 09:13:33 -04:00
Russ White
56a10caa03
Merge pull request #12971 from taspelund/trey/mac_vrf_soo_upstream
bgpd: Add MAC-VRF Site-of-Origin support
2023-06-20 09:08:28 -04:00
Christian Hopps
786a1e95bc doc: add the linux doc for checkpatch.pl
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-20 01:05:30 -04:00
Christian Hopps
a552543640 doc: start of mgmtd developer doc
- docs on how to convert daemon to mgmtd and some diagrams
- and a fix for code-block in cspf.rst

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-19 18:13:37 -04:00
Philippe Guibert
92550adfc7 bgpd: add 'set as-path exclude all' command
It is not possible to flush all the incoming as-path list
from a given BGP update.

Add a route-map set command to remove all as-paths
from a given AS path. Add the necessary tests.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-06-19 18:04:44 +02:00
Philippe Guibert
346607c7d3 doc: add 'mpls bgp l3vpn-multi-domain-switching'
The 'mpls bgp l3vpn-multi-domain-switching' per-interface
command is documented.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-06-16 10:55:17 +02:00
anlan_cs
ee7457a1c0 doc: Fix one syntax error for code block
The code block doesn't work because blank line is missing.
So, just make it work.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-06-14 22:23:15 +08:00
Donald Sharp
22c329ed32
Merge pull request #13793 from LabNConsulting/aceelindem/coverity-doc-update
doc: Update Coverity workflow in developer documentation.
2023-06-14 06:57:57 -04:00
Acee Lindem
4d2fe4a4de doc: Update Coverity workflow in developer documentation.
Signed-off-by: Acee Lindem <aceelindem@gmail.com>
2023-06-13 16:10:48 -04:00
Donatas Abraitis
3895ea777b
Merge pull request #13762 from anlancs/doc/pthread-typo
doc: Adjust pthread description
2023-06-12 11:13:49 +03:00
anlan_cs
eb678efed8 doc: Adjust pthread description
Refer to the latest code, modified the description of pthread.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-06-12 13:01:46 +08:00
Christian Hopps
3c43eaa7d4 docker: ubuntu-ci 18.04 -> 22.04, topotest parallel run examples
Update the READMEs, and give example of a full parallel topotest run with
result extraction for analyze.py

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-09 03:19:20 -04:00
Jafar Al-Gharaibeh
e48e92e76c
Merge pull request #13734 from LabNConsulting/chopps/removeunused
remove mentions of socat
2023-06-08 23:46:45 -05:00
Jafar Al-Gharaibeh
e631541b68
Merge pull request #13730 from anlancs/doc/thread-event-typo
doc: Adjust event system
2023-06-08 16:02:59 -05:00
Quentin Young
cb827d9f55
Merge pull request #13650 from opensourcerouting/feature/bgpd_default_originate_route_map_timer
bgpd: Add an ability to control default-originate route-map timer
2023-06-08 12:05:35 -04:00
Christian Hopps
17054f373e doc: update doc removing socat req + remove unused tests code
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-08 11:03:18 -04:00
anlan_cs
82ff709263 doc: Adjust event system
Refer to the latest code, modify the description of event system.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-06-08 15:41:34 +08:00
Donatas Abraitis
db731ec639 doc: Add neighbor addpath-tx-best-selected command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-07 22:19:40 +03:00
Donatas Abraitis
efce200d93 doc: Document RFC8212 under Displaying BGP Information section
Looks like people don't find what does it mean (Policy) at first shot, let's
try giving more hints here.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-06 15:28:19 +03:00
Donatas Abraitis
b28e2c59dc doc: Update reference table for current and upcoming release dates
Keep only 3 release dates, current and two upcoming. On the next release,
just update one, instead of multiple (zero point looking too much in the
future).

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-31 23:17:27 +03:00
Donatas Abraitis
d49700dd2f bgpd: Add an ability to control default-originate route-map timer
By default it's 5 seconds. That means, every 5 second it iterates over the
whole BGP table and checks if a route-map is kicked in (if route-map is defined).

Having a full feed with many of neighbors, this is a huge CPU-killer, and takes
a lot of time.

Thread statistics for bgpd:

Showing statistics for pthread default
--------------------------------------
                               CPU (user+system): Real (wall-clock):
Active   Runtime(ms)   Invoked Avg uSec Max uSecs Avg uSec Max uSecs  CPU_Warn Wall_Warn Starv_Warn Type   Thread
    0          0.487        10       48        84       49        85         0         0          0    T    (bgp_connect_timer)
    0          0.000         1        0         0        1         1         0         0          0    T    bgp_startup_timer_expire
    2          3.991       276       14      1032       14      1031         0         0          0  R      zclient_read
    0          0.010         4        2         6        3         6         0         0          0     E   _bfd_sess_send
    0          0.057        11        5        26        6        26         0         0          0   W     vtysh_write
    0         65.054       136      478     28907      484     28914         0         0          0     E   bgp_event
    0      11233.040        24   468043   2772209  1341293   7781145         0         3          0    T    subgroup_coalesce_timer
    2          3.649        33      110       394      111       395         0         0          0  R      bgp_accept
    0        468.837         5    93767    178929    93799    178960         0         0          0    T    (bgp_graceful_stale_timer_expire)
    0          0.462         9       51        77       51        78         0         0          0    T    (bgp_start_timer)
    1        415.825     14200       29       414       29       415         0         0          0  R      vtysh_accept
    0          0.052         3       17        47       18        49         0         0          1    T    bgp_config_finish
    0          0.011         1       11        11       12        12         0         0          0     E   frr_config_read_in
    0          0.022         4        5         8        6         9         0         0          0     E   bgp_nht_ifp_initial
    0          0.121        44        2        64        3        65         0         0          0    T    (bgp_routeadv_timer)
    0      34194.454         3 11398151  21874014 27937411  52641827         2         0          1    T    bgp_route_map_update_timer
    0      13246.820         8  1655852   3065476  4589606   8454782         0         4          1    T    bgp_announce_route_timer_expired
    0          0.035         2       17        26       18        27         0         0          0     E   zclient_connect
    0     279624.026    318778      877    571779     2808   1639624         0         0          5    T    work_queue_run
    0          0.097        32        3        21        3        23         0         0          0  RW     bgp_connect_check
    2       6005.738     43560      137    680012      138    680446         0         0          0  R      vtysh_read
    0       1605.840   1116298        1      1331        2     10152         0         0        133    T    (bgp_generate_updgrp_packets)
    0       1073.162        17    63127    222065    63175    222087         0         0          0     E   bgp_packet_process_error
    1   16744058.262     10691  1566182   1807248  1566900   1808301         0         0          5    T    update_group_refresh_default_originate_route_map
    0          0.000        11        0         0        0         1         0         0          0    T    update_subgroup_merge_check_thread_cb
    0      94544.034   1898726       49    225054       69    225156         0         0          0     E   bgp_process_packet

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-31 22:58:30 +03:00
Trey Aspelund
9b55b559db doc: add docs for EVPN MAC-VRF Site-of-Origin
Adds user documentation for the new EVPN MAC-VRF Site-of-Origin feature.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-05-30 15:20:35 +00:00
Christian Hopps
054d6bdc48 tests: selecting results by regexp and ragnes, add container support
- Allow selecting results using a regexp
- Allow selecting results using commasep range specs
- Add support for getting and saving results from a docker/podman
  container.
- update docs

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-05-26 06:32:24 -04:00
Russ White
575a0c5e3c
Merge pull request #13555 from LabNConsulting/aceelindem/ospf-p2mp-delayed-reflooding-config
ospfd: OSPF P2MP Delayed Reflooding configuration
2023-05-23 11:41:35 -04:00
Donald Sharp
769b228c76
Merge pull request #13586 from ponedo/link-state-doc-fix
doc: fix typo RFC7572 to RFC7752
2023-05-23 10:57:20 -04:00
ponedo
d764ffaf6f doc: fix typo RFC7572 to RFC7752
Signed-off-by: ponedo <2534164734@qq.com>
2023-05-23 22:52:51 +08:00
Donatas Abraitis
993b236b2c doc: Add RIPng allow-ecmp command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-23 09:29:02 +03:00
Acee
0d8ef0477c ospfd: OSPF P2MP Delayed Reflooding configuration
Currently, delayed reflooding on P2MP interfaces for LSAs received
from neighbors on the interface is unconditionally (see commit
c706f0e32b). In some cases, this
change wasn't desirable and this feature makes delayed reflooding
configurable for P2MP interfaces via the CLI command:
"ip ospf network point-to-multipoint delay-reflood" in interface
submode.

Signed-off-by: Acee <aceelindem@gmail.com>
2023-05-22 15:51:41 -04:00
Igor Ryzhov
74497c34aa doc: remove non-existent configure option
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2023-05-19 19:35:19 +03:00
Christian Hopps
2596308a09 doc: configure: add configure option to generate .ccls file
`ccls` needs information from FRR build configuration to work,
so allow creation of a custom ccls config during autoconf.

Paraphrasing the doc entry: ccls is a very powerful tool that allows
dev environments to provide sophisticated IDE functionality, e.g.,
semantically aware jumps and code refactoring...

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-05-18 09:32:32 -04:00
Christian Hopps
9b18d3d6ac doc: document optionally required packages
- tshark and valgrind are required but only if you enable those
  features during test runs.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-05-17 13:52:41 -04:00
Russ White
425fc1f5b7
Merge pull request #12949 from opensourcerouting/ospf-unplanned-gr
OSPF GR for unplanned outages
2023-05-16 08:37:19 -04:00
David Lamparter
cf0eeb3dc1
Merge pull request #12050 from LabNConsulting/working/lb/topotest-220909 2023-05-16 08:31:06 +02:00
Donatas Abraitis
cef398924c
Merge pull request #13513 from subsecond/patch-4
Fix typo in multipath route docs
2023-05-14 22:03:06 +03:00
Donatas Abraitis
edc886635d
Merge pull request #13463 from pguibert6WIND/mpls_alloc_per_nh_2
Mpls allocatio mode per nexthop
2023-05-12 20:56:01 +03:00
Manuel Schweizer
c2a440d550 doc: Fix typo in multipath route docs
Signed-off-by: Manuel Schweizer <manuel.schweizer@cloudscale.ch>
2023-05-12 15:38:46 +02:00
Donald Sharp
907183cb35
Merge pull request #13430 from opensourcerouting/feature/rip_allow-ecmp_limit
ripd: Implement allow-ecmp X command
2023-05-11 20:31:46 -04:00
Lou Berger
d4977708f0 topotest: add --memleaks topotest option
Signed-off-by: Lou Berger <lberger@labn.net>
2023-05-11 07:46:19 -04:00
Lou Berger
39869a3597 doc: update for ubuntu 22.04 and to run topotest with valgrind
Signed-off-by: Lou Berger <lberger@labn.net>
2023-05-11 07:13:20 -04:00
Donatas Abraitis
052fa79dd2 doc: Use match source-protocol for route-maps in BGP as well
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-10 21:00:17 +03:00
Donald Sharp
11feb30706
Merge pull request #13486 from opensourcerouting/fix/doc_aigp_neighbor
doc: Add `neighbor aigp` command for BGP
2023-05-10 08:25:40 -04:00
Christian Hopps
2ac74f0dbe doc: python, required by clippy, is no longer a non-essential tool
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-05-09 20:25:54 +00:00
Philippe Guibert
3daa4dd5e9 doc: add bgp allocation-mode per nexthop information
Add bgp allocation-mode per nexthop information.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>

PR=81857
Link: https://github.com/FRRouting/frr/pull/12646
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Acked-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-05-09 21:01:13 +02:00
Donatas Abraitis
05dbe64457 doc: Add neighbor aigp command for BGP
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-09 21:21:34 +03:00
Renato Westphal
0c05ceae00 ospfd, ospf6d: introduce the "graceful-restart hello-delay" command
This command makes unplanned GR more reliable by manipulating the
sending of Grace-LSAs and Hello packets for a certain amount of time,
increasing the chance that the neighboring routers are aware of
the ongoing graceful restart before resuming normal OSPF operation.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2023-05-08 21:47:44 -03:00
Renato Westphal
88b3d5e514 ospf6d: add support for unplanned graceful restart
In practical terms, unplanned GR refers to the act of recovering
from a software crash without affecting the forwarding plane.

Unplanned GR and Planned GR work virtually the same, except for the
following difference: on planned GR, the router sends the Grace-LSAs
*before* restarting, whereas in unplanned GR the router sends the
Grace-LSAs immediately *after* restarting.

For unplanned GR to work, ospf6d was modified to send a
ZEBRA_CLIENT_GR_CAPABILITIES message to zebra as soon as GR is
enabled.  This causes zebra to freeze the OSPF routes in the RIB as
soon as the ospf6d daemon dies, for as long as the configured grace
period (the defaults is 120 seconds). Similarly, ospf6d now stores in
non-volatile memory that GR is enabled as soon as GR is configured.
Those two things are no longer done during the GR preparation phase,
which only happens for planned GRs.

Unplanned GR will only take effect when the daemon is killed
abruptly (e.g. SIGSEGV, SIGKILL), otherwise all OSPF routes will be
uninstalled while ospf6d is exiting.  Once ospf6d starts, it will
check whether GR is enabled and enter in the GR mode if necessary,
sending Grace-LSAs out all operational interfaces.

One disadvantage of unplanned GR is that the neighboring routers
might time out their corresponding adjacencies if ospf6d takes too
long to come back up. This is especially the case when short dead
intervals are used (or BFD). For this and other reasons, planned
GR should be preferred whenever possible.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2023-05-08 21:47:44 -03:00
Renato Westphal
ab749e7eea ospfd: add support for unplanned graceful restart
In practical terms, unplanned GR refers to the act of recovering
from a software crash without affecting the forwarding plane.

Unplanned GR and Planned GR work virtually the same, except for the
following difference: on planned GR, the router sends the Grace-LSAs
*before* restarting, whereas in unplanned GR the router sends the
Grace-LSAs immediately *after* restarting.

For unplanned GR to work, ospf6d was modified to send a
ZEBRA_CLIENT_GR_CAPABILITIES message to zebra as soon as GR is
enabled.  This causes zebra to freeze the OSPF routes in the RIB as
soon as the ospfd daemon dies, for as long as the configured grace
period (the defaults is 120 seconds). Similarly, ospfd now stores in
non-volatile memory that GR is enabled as soon as GR is configured.
Those two things are no longer done during the GR preparation phase,
which only happens for planned GRs.

Unplanned GR will only take effect when the daemon is killed
abruptly (e.g. SIGSEGV, SIGKILL), otherwise all OSPF routes will
be uninstalled while ospfd is exiting.  Once ospfd starts, it will
check whether GR is enabled and enter in the GR mode if necessary,
sending Grace-LSAs out all operational interfaces.

One disadvantage of unplanned GR is that the neighboring routers
might time out their corresponding adjacencies if ospfd takes too
long to come back up. This is especially the case when short dead
intervals are used (or BFD). For this and other reasons, planned
GR should be preferred whenever possible.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2023-05-08 21:47:44 -03:00
Rajasekar Raja
57e65a80b0 doc: add documentation for show [ip] bgp [vrf] [afi] [safi] detail [json]
Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
2023-05-08 13:17:47 -07:00
Donatas Abraitis
9c011d7eaf doc: Add RIP allow-ecmp command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-04 09:23:26 +03:00
Donatas Abraitis
786e2b8bdb Revert "MPLS allocation mode per next hop"
Broken tests, let's revert now.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-05-03 13:52:46 +03:00
Donatas Abraitis
99a1ab0b21
Merge pull request #12646 from pguibert6WIND/mpls_alloc_per_nh
MPLS allocation mode per next hop
2023-05-02 18:36:45 +03:00
Donald Sharp
0313343d0a
Merge pull request #13395 from LabNConsulting/chopps/mgmtd-debug-flags
mgmtd: fully implement debug flags for mgmtd and clients
2023-05-02 08:17:17 -04:00
Christian Hopps
cfa0facbf9 mgmtd: fully implement debug flags for mgmtd and clients
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-05-01 13:47:12 -04:00
Philippe Guibert
cf1c7e309e bgpd: configure explicit-null for local paths per address family
Until now, the bgp local paths were using the default null label
defined. It was not possible to select the null label for the ipv4
or the ipv6 address families.

This commit addresses this issues by adding two extra-parameters
to the BGP labeled-unicast command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-04-27 17:05:35 +02:00
Russ White
257fddaeb6
Merge pull request #13246 from opensourcerouting/rip-bfd
ripd: support BFD integration
2023-04-25 11:54:32 -04:00
Russ White
4855ca5e56
Merge pull request #13310 from opensourcerouting/feature/bgpd_node_target_extended_community
bgpd: Add Node Target Extended Communities support
2023-04-25 11:06:23 -04:00
Christian Hopps
a3e8e1aacb doc: document --perf and --perf-options, and a bit of cleanup
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-23 21:56:38 -04:00
Donald Sharp
2da3174115
Merge pull request #13332 from LabNConsulting/chopps/new-opts 2023-04-22 19:51:05 -04:00
Christian Hopps
c45ef001ab doc: document new pytest options and cli commands
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-22 13:10:52 -04:00
Donatas Abraitis
5db1931962
Merge pull request #13166 from Jafaral/ospf-external-metric
ospfd: use rib metric as the base for set metric +/-
2023-04-19 21:11:25 +03:00
Rafael Zalamena
5e69093713 doc: RIP BFD integration documentation
Let users know about the RIP BFD integration commands and increment the
used RFCs reference.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-04-19 11:17:55 -03:00
Olivier Dugeon
fd4377d9a5
Merge pull request #11667 from louis-6wind/flexalgo-mpls
isisd: Flex-Algo for SR-MPLS
2023-04-18 14:45:30 +02:00
Louis Scalbert
cba6998236 doc: add isisd flex-algo documentation
Add the isisd flex-algo documentation

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-18 11:33:15 +02:00
Louis Scalbert
b95f9f37ea doc: fix debugging-isis reference
Debugging-isis tag was moved.

Move it to right place.

Fixes: 9389175b75 ("doc: add documentation for IS-IS Segment Routing")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-18 11:33:15 +02:00
Jafar Al-Gharaibeh
f24dfccbdc doc: document the new set min/max metric commands
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2023-04-18 00:48:16 -05:00
Louis Scalbert
714f05217b doc: include affinity-maps into index
Include affinity-maps documentation into index under "basics".

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-17 11:25:25 +02:00
Donald Sharp
a5304577ca
Merge pull request #13300 from louis-6wind/iso_doc
doc: fix the print iso macro documentation
2023-04-14 09:05:47 -04:00
Louis Scalbert
4ef4cbea6b doc: fix the print iso macro documentation
fix the print iso macro documentation

Fixes: 7f9ab3b0bb ("lib: Add ISO System & Network format to printfrr")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-13 18:27:34 +02:00
David Lamparter
5903e49c7b pimd, doc: remove dead import check references
ZEBRA_IMPORT_CHECK_UPDATE has been gone for more than a year; remove
some leftover dead references to it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-04-13 16:52:57 +02:00
Jafar Al-Gharaibeh
720afd9ad7
Merge pull request #13159 from mjstapp/ospf_sockets
ospfd: write socket per interface
2023-04-11 23:57:40 -05:00
Jafar Al-Gharaibeh
7a29a05023
Merge pull request #13183 from Pdoijode/pdoijode/pim-json-changes
pimd: Option to get IGMP groups and sources for a particular interface
2023-04-11 23:46:18 -05:00
Donatas Abraitis
55ca7c63fd
Merge pull request #13090 from pguibert6WIND/explicit_null
bgpd: add cli command to control explicit-null label usage
2023-04-11 22:48:01 +03:00
Pooja Jagadeesh Doijode
5519cabe4c pimd: Option to get IGMP groups and sources for a particular interface
1. Added interface name, group address and detail option to existing
   "show ip igmp groups" so that user can retrieve all the groups
   or a particular group for an interface. Detail option shows the source
   information for the group. With that, the show command
   looks like:

   "show ip igmp [vrf NAME$vrf_name] groups [INTERFACE$ifname [GROUP$grp_str]] [detail$detail] [json$json]"

2. Changed pim_cmd_lookup_vrf() to return empty JSON if VRF is not present

3. Changed "detail" option to print non pretty JSON

4. Added interface name and group address to existing
   "show ip igmp sources" so that user can retrieve all the sources for
   all the groups or, all the sorces for a particular group for an
   interface. With that, the show command looks like:

   "show ip igmp [vrf NAME$vrf_name] sourcess [INTERFACE$ifname [GROUP$grp_str]] [json$json]"

Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2023-04-11 11:00:39 -07:00
Donatas Abraitis
8ef1590927 doc: Add set extcommunity nt command for BGP route-maps
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-04-11 20:28:41 +03:00
Donatas Abraitis
69173c6e5e
Merge pull request #13254 from manojvn/remove_startupjson_doc
mgmtd: remove the frr_startup.json related documentation.
2023-04-11 17:28:55 +03:00
Mark Stapp
86a36bad51 doc: add doc for ospf per-interface write socket
Add a doc entry for the per-interface write socket config.

Signed-off-by: Mark Stapp <mjs@labn.net>
2023-04-11 10:16:07 -04:00
Philippe Guibert
7ee70320d3 bgpd: add cli command to control explicit-null label usage
In BGP labeled unicast address-family, it is not possible to
send explicit-null label values with redistributed or network
declared prefixes.
A new CLI command is introduced:

  > [no] bgp labeled-unicast explicit-null

When used, the explicit-null value for IPv4 ('0' value) or
IPv6 ('2' value) will be used.
It is necessary to reconfigure the networks or the
redistribution in order to inherit this new behaviour.

Add the documentation.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-04-11 16:08:09 +02:00
Russ White
8ce2ce8eb8
Merge pull request #13163 from isabelladeleon12/isis_log_drops
isisd: Add support for log-pdu-drops
2023-04-11 09:55:24 -04:00
Russ White
f26a87cd24
Merge pull request #12698 from Orange-OpenSource/isisd
Isisd/Lib: Add new printfrr format facility for Intermediate System ID
2023-04-11 09:49:01 -04:00
Manoj Naragund
edba9e6e7c mgmtd: remove the frr_startup.json related documentation.
Since mgmtd no longer supports the frr_startup.json, removing the
documentation related to that. Proper documentation will be added
when/if the frr_startup.json is ever supported.

Signed-off-by: Manoj Naragund <mnaragund@vmware.com>
2023-04-11 04:03:58 -07:00
Mark Stapp
6e6e1020dd ospfd: support configuration of socket buffer sizes
Add configurable socket send and receive buffer sizes,
configured at the instance level.

Signed-off-by: Mark Stapp <mjs@labn.net>
2023-04-06 14:16:43 -04:00
Isabella de Leon
bb6ef345ad doc: Add CLI documentation for new log-pdu-drops config
Update isisd docs with log-pdu-drops config.

Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2023-04-04 09:25:34 -07:00
Russ White
4af5e39b2c
Merge pull request #12969 from opensourcerouting/ospfd-nssa
ospfd: implement NSSA default routes & ranges
2023-04-04 09:38:55 -04:00
Jafar Al-Gharaibeh
c810c69045
Merge pull request #13191 from opensourcerouting/fix/add_missing_rfc9384
doc: Add missing rfc9384 to BGP supported RFC list
2023-04-03 23:16:08 -05:00
Donatas Abraitis
50136862b9 doc: Add missing rfc9384 to BGP supported RFC list
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-04-01 21:56:37 +03:00
Renato Westphal
f07ff222f8 ospfd: 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 A.B.C.D/M [<not-advertise|cost (0-16777215)>]

Example:
  router ospf
   router-id 1.1.1.1
   area 1 nssa
   area 1 nssa range 172.16.0.0/16
   area 1 nssa range 10.1.0.0/16
  !

Since regular area ranges and NSSA ranges have a lot in common,
this commit reuses the existing infrastructure for area ranges as
much as possible to avoid code duplication.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2023-03-31 19:28:15 -03:00
Renato Westphal
017714e3ad ospfd: 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>
2023-03-31 19:28:15 -03:00
Jafar Al-Gharaibeh
277eb2e580
Merge pull request #13060 from opensourcerouting/feature/allow_peering_with_127.0.0.1
bgpd: Allow peering via 127.0.0.0/8
2023-03-31 00:14:27 -05:00
Quentin Young
916af6559c vtysh, doc: add doc & help text for -t/--timestamp
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2023-03-28 10:10:33 -04:00
Quentin Young
f887c00ad4 vtysh: fork() on boot
When using -b flag to apply config to all running daemons, fork a copy
of vtysh for each daemon we need to configure instead of doing them one
at a time. This is about N times faster when you have N daemons.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>

mergeme
2023-03-28 10:10:33 -04:00
Donald Sharp
24a58196dd *: Convert event.h to frrevent.h
We should probably prevent any type of namespace collision
with something else.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
cd9d053741 *: Convert struct event_master to struct event_loop
Let's find a better name for it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
2453d15dbf *: Convert struct thread_master to struct event_master and it's ilk
Convert the `struct thread_master` to `struct event_master`
across the code base.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
8c1186d38e *: Convert thread_execute to event_execute
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
de2754be3a *: Convert thread_fetch and thread_call to event_fetch and event_call
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
332beb64b8 *: Convert thread_cancelXXX to event_cancelXXX
Modify the code base so that thread_cancel becomes event_cancel

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
907a2395f4 *: Convert thread_add_XXX functions to event_add_XXX
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
e6685141aa *: Rename struct thread to struct event
Effectively a massive search and replace of
`struct thread` to `struct event`.  Using the
term `thread` gives people the thought that
this event system is a pthread when it is not

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:17 -04:00
Donald Sharp
cb37cb336a *: Rename thread.[ch] to event.[ch]
This is a first in a series of commits, whose goal is to rename
the thread system in FRR to an event system.  There is a continual
problem where people are confusing `struct thread` with a true
pthread.  In reality, our entire thread.c is an event system.

In this commit rename the thread.[ch] files to event.[ch].

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-24 08:32:16 -04:00
Donald Sharp
9cc377d4d7
Merge pull request #13078 from opensourcerouting/fix/set_distance_zero
bgpd: Do not allow setting `set distance` via route-maps to zero
2023-03-23 07:50:35 -04:00
Philippe Guibert
dab2df8dc0 doc: add bgp allocation-mode per nexthop information
Add bgp allocation-mode per nexthop information.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>

PR=81857
Link: https://github.com/FRRouting/frr/pull/12646
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Acked-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-03-22 16:35:31 +01:00
Pushpasis Sarkar
5b08f6f9ea doc: Add documentation for MGMT daemon
This commit adds user documentation for the new MGMT daemon and
new FRR Management Framework.

Co-authored-by: Yash Ranjan <ranjany@vmware.com>
Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com>
Co-authored-by: Ujwal P <ujwalp@vmware.com>
Signed-off-by: Pushpasis Sarkar <pushpasis@gmail.com>
2023-03-21 22:09:10 -04:00
Donatas Abraitis
d58e6dbc71 bgpd: Do not allow setting set distance via route-maps to zero
It's not allowed to install routes with zero distance, let's disallow this
for route-maps as well.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-03-21 22:09:50 +02:00
Olivier Dugeon
7f9ab3b0bb lib: Add ISO System & Network format to printfrr
Like for IP addresses, this patch add a new format for printfrr collection to
print ISO System ID and Network address a.k.a IS-IS system ID & Network.
This new format is added to the library instead of isisd because other daemons
and tools need to print ISO System ID & Network Address.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2023-03-21 15:19:09 +01:00
Donatas Abraitis
8eb09e64d2 bgpd: Allow peering via 127.0.0.0/8
There are some specific edge-cases when is a need to run FRR and another FRR
and/or another BGP implementation on the same box. Relaxing 127.0.0.0/8 for
this case might be reasonable.

An example below peering via 127.0.0.0/8 between FRR and GoBGP:

```
% ss -ntlp | grep 179
LISTEN   0         4096              127.0.0.1:179              0.0.0.0:*
LISTEN   0         128               127.0.0.2:179              0.0.0.0:*

% grep 127.0.0.2 /etc/frr/daemons
bgpd_options="   -A 127.0.0.1 -l 127.0.0.2"

% grep local /etc/gobgp/config.toml
    local-address-list = ["127.0.0.1"]

donatas-pc# sh ip bgp summary

IPv4 Unicast Summary (VRF default):
BGP router identifier 192.168.10.17, local AS number 65001 vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 725 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
127.0.0.1       4      65002         7         7        0    0    0 00:02:02            0        0 N/A

Total number of neighbors 1
donatas-pc#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-03-21 13:19:44 +02:00
Donald Sharp
7c8478ed28
Merge pull request #13031 from opensourcerouting/ospf-show-database
ospfd: Improve the "show ip ospf database" command
2023-03-21 07:03:05 -04:00
Donatas Abraitis
ad959654f5
Merge pull request #13063 from qlyoung/update-docker-build-info
doc: add release instructions for docker images
2023-03-21 08:56:20 +02:00
Quentin Young
5c6b543b64 doc: add release instructions for docker images
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2023-03-20 17:04:43 -04:00
Russ White
55cf5ea672
Merge pull request #12688 from dorDiogo/isis_hello_padding_sometimes
isisd: Add support for IS-IS hello padding during-adjacency-formation
2023-03-20 17:00:57 -04:00
Donatas Abraitis
8709aab554 doc: Use frrouting/frr-mibs repo downloading SNMP mibs
Use repo instead of pastebin.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-03-19 22:56:13 +02:00
Renato Westphal
a08f41b95b ospfd: Add "detail" option to "show ip ospf database"
This option is useful to dump detailed information about the LSDB using
a single command (instead of one command per LSA type).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2023-03-17 23:00:31 -03:00
Renato Westphal
b131b1ed9c ospfd: Refactor the "show ip ospf database" command
Combine all variations of this command into a single DEFPY to
improve maintainability. No behavioral changes intended.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2023-03-17 23:00:17 -03:00
Donatas Abraitis
ae7b16b2d4
Merge pull request #12960 from anlancs/doc/some-words-doc
doc: Correct some words
2023-03-07 08:25:50 +02:00
anlan_cs
c3e691229e doc: Correct some words
Note that `ASNUM` in table, it is missing right parenthesis for
`(1-4294967295)`. So, adjust this table.

And correct other words for doc.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-03-06 17:12:50 +08:00
Donatas Abraitis
70594ab7bd tools: Do not force Sentence-case for commit messages
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-03-03 14:10:36 +02:00
Isabella de Leon
102a6e2699 doc: Add CLI documentation for new advertise high metrics command
Update isisd docs with advertise-high-metrics config.

Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2023-02-28 11:39:12 -08:00
Diogo Oliveira
06fbbf2935 isisd,tests,doc: Rename hello padding sometimes to hello padding during-adjacency-formation
Signed-off-by: Diogo Oliveira <14191454+dorDiogo@users.noreply.github.com>
2023-02-28 09:54:02 -08:00
Diogo Oliveira
d73b209a42 doc: Add CLI documentation for new isis hello padding sometimes command
Signed-off-by: Diogo Oliveira <14191454+dorDiogo@users.noreply.github.com>
2023-02-28 09:52:30 -08:00