Commit Graph

1001 Commits

Author SHA1 Message Date
Russ White
b8beb67ef5
Merge pull request #9585 from opensourcerouting/ospf6d-nssa-dflt-originate
ospf6d: add a knob to generate Type-7 default routes
2021-09-24 13:42:49 -04:00
Donald Sharp
e39ea73486
Merge pull request #9647 from opensourcerouting/ospf-gr-cmd-rename
ospfd, ospf6d: rename the "graceful-restart helper-only" command
2021-09-22 14:53:40 -04:00
Renato Westphal
6735622c24 ospf6d: implement Type-7 default routes for NSSA areas
Add the "default-information-originate" option to the "area X nssa"
command. That option allows the origination of Type-7 default routes
on NSSA ABRs and ASBRs.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-07 11:43:35 -03:00
Mark Stapp
4250098311
Merge pull request #9545 from ton31337/feature/disable-addpath-rx
bgpd: Add disable-addpath-rx knob
2021-09-03 11:52:57 -04:00
Donald Sharp
53b08a373d
Merge pull request #9542 from pguibert6WIND/ssh_rpki_source
bgpd: add rpki source address configuration
2021-09-03 10:35:47 -04:00
Donatas Abraitis
7cb0494d54 doc: Add neighbor PEER disable-addpath-rx command
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-09-03 15:05:03 +03:00
Philippe Guibert
7253a7bcd8 bgpd: add rpki source address configuration
Add the ability to configure the source address of rpki
connection. Proposed vty command is to add below parameter:

rpki cache <address> source <bindaddr> <port> preference <pref>
rpki cache <address> source <bindaddr> <port> <usernamessh> ...

This works for both tcp and ssh connections. In case the source
address is not available yet, the rpki retry interval will retry
in a defined amount of time.

Rtrlib library is the library in charge of the binding of the
tcp/ssh connection, and applies the getaddrinfo() and bind()
operations to the passed parameter bindaddr to the respective
tcp_config/ssh_config structures.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-09-02 18:16:47 +02:00
Russ White
8811ce0beb
Merge pull request #9469 from ton31337/fix/extcommunity_bandwidth_floating_to_hex
bgpd: Use IEEE-754 Floating Point for storing extcommunity bandwidth
2021-09-01 12:56:45 -04:00
Russ White
ce4f3813f0
Merge pull request #9439 from ton31337/feature/set_ext_community_to_none
bgpd: Route-map `set extcommunity none`
2021-09-01 12:55:45 -04:00
Donatas Abraitis
e5fbfe01ae
Merge pull request #9318 from Prerana-GB/ibgp_knob
bgp: BGP knob for faster convergence of bgp sessions
2021-09-01 10:45:27 +03:00
Donatas Abraitis
d7cd3d091c doc: Add missing timers for connect timer in BGP
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-09-01 10:38:10 +03:00
Donatas Abraitis
419db184af
Merge pull request #9397 from tkms1122/master
bgpd: minimum-holdtime knob to prevent session establishment with BGP peer with low holdtime.
2021-09-01 10:33:59 +03:00
Donatas Abraitis
8dbe921458 doc: Add neighbor PEER link-bw-encoding-ieee
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-30 09:51:22 +03:00
anlan_cs
b8f950d2c6 doc: add a missing field for bgp summary's display
Signed-off-by: anlan_cs <anlan_cs@tom.com>
2021-08-29 21:15:33 -04:00
Russ White
26bf593efb
Merge pull request #9503 from opensourcerouting/ospf6d-redistribute-metrics
ospf6d: extend the "redistribute" command with more options
2021-08-28 09:20:44 -04:00
Renato Westphal
476e957517 ospf6d: extend the "redistribute" command with more options
Add the "metric" and "metric-type" options to the "redistribute"
command.

This is a small commit since the logic of setting the metric
value and type of external routes was already present due to the
implementation of the "default-information originate" command months
ago. This commit merely extends the "redistribute" command to
leverage that functionality.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-26 15:05:53 -03:00
Tomáš Szaniszlo
f563acec29 doc: Basic spellchecking of bgp.rst
Signed-off-by: Tomáš Szaniszlo <tomaxuser@gmail.com>
2021-08-26 15:07:49 +02:00
Prerana GB
5874235fb9 doc: Updating the BGP document with BGP fast convergence CLI
Signed-off-by: Prerana G.B <prerana@vmware.com>
2021-08-24 12:23:41 +00:00
Igor Ryzhov
724739e5c9 doc: merge duplicated ospf6d debugging sections
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-23 21:23:32 +03:00
Renato Westphal
f70b917249
Merge pull request #8935 from rgirada/ospfv3_gr_helper
ospf6d: Support for ospfv3  graceful restart  helper functionality
2021-08-19 15:01:34 -03:00
Christian Hopps
11ca35875c pimd: change ranges to 1..max, type align with IETF YANG.
While defaults are good picks for "reasonable" guesses, min and max
range values really aren't. Operators and experimenters often like to
configure "unreasonable" values to stress test, tests boundary
conditions and explore innovations.

With that in mind, change all ranges to 1..max (of type).

While we're here add optional ignored values in the "no" CLI forms.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-08-18 22:08:33 -04:00
Donatas Abraitis
48753f7318 doc: Add set extcommunity none in BGP documentation
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-18 14:14:52 +03:00
Donatas Abraitis
c5e0101cb8 doc: Replace typo BANDIWDTH to BANDWIDTH
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-15 11:10:22 +03:00
Takemasa Imada
b042667a3d bgpd: minimum-holdtime knob to prevent session establishment with BGP peer with low holdtime.
Signed-off-by: Takemasa Imada <takemasa.imada@gmail.com>
2021-08-15 06:08:08 +09:00
Igor Ryzhov
1e29f449bc doc: fix ospf6 nssa area command description
Currently the NSSA support is a separate section, but it should actually
be a description of the corresponding CLI command.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-11 18:22:06 +03:00
Igor Ryzhov
df175bc89d doc: move ospf6 debugging section to the end of the doc
Currently the debugging section is placed in the middle of the section
with various configuration commands.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-11 18:14:53 +03:00
Igor Ryzhov
7e5e3c1919 doc: move ospf6 area commands to the appropriate section
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-11 18:00:28 +03:00
rgirada
6539d9ef45 ospf6d: documentation for ospf6 GR helper functionality
Description:
	Documentation for ospf6 graceful restart Helper
	functionality. Ref RFC : 5187.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10 02:57:23 -07:00
Donald Sharp
62c173755d
Merge pull request #9283 from ton31337/fix/documentation_for_aggregate-address
doc: Specify how aggregate-address works for BGP
2021-08-07 16:07:34 -04:00
Donald Sharp
720f165fc9
Merge pull request #9315 from idryzhov/pathd-cli-fixes
pathd: a couple of cli/doc fixes
2021-08-07 15:10:05 -04:00
Igor Ryzhov
b7484ec650 doc: fix pathd example config
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-06 18:47:40 +03:00
Donald Sharp
883da9f5ec
Merge pull request #9256 from idryzhov/dampening-revert
BGP per-peer dampening revert
2021-08-06 10:46:09 -04:00
Donatas Abraitis
9a339b7fc5 doc: Specify how aggregate-address works for BGP
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-08-05 09:08:29 +03:00
Donald Sharp
3e18e550ed
Merge pull request #9108 from opensourcerouting/ospf6d-range-fixes
ospf6d: fix argument processing in the "area ... range" command
2021-08-03 21:15:12 -04:00
Igor Ryzhov
a5c1e10386 Revert "doc: user doc for route-flap dampening commands"
This reverts commit 54b34709f8.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-08-03 21:54:47 +03:00
Russ White
11093fc905
Merge pull request #9231 from idryzhov/zebra-rmap-set-src
zebra: remove checks for src address existence when using "set src"
2021-08-03 09:22:18 -04:00
Renato Westphal
58e2857d23 lib: add "json" option to "show ip[v6] prefix-list"
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-02 17:19:45 -03:00
Renato Westphal
c15dc24f79 zebra: add "json" option to "show interface"
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-02 17:19:45 -03:00