Commit Graph

145 Commits

Author SHA1 Message Date
Igor Ryzhov
f6b381ed54 doc: remove [no] from commands
The rule is to document only positive versions of commands.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-02-04 22:26:31 +02:00
Philippe Guibert
e3c62b2aeb doc, yang, zebra: allow bandwidth up to 1 terabit/sec
Allow bandwidth up to 1000000 Mb/s (ie. 1 Tb/s) and document it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-01-29 14:52:35 +01:00
Igor Ryzhov
b688eb7e9e zebra: convert interface link-params command to NB
Make link-params a presence container and activate it when entering the
node. The "enable" command is not necessary anymore but kept hidden for
backwards compatibility.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
efa18c6c6f zebra: convert inteface multicast command to NB
Introduce new "[no] multicast <enable|disable>" command to be able to
remove the configuration. Current "[no] multicast" command cannot be
removed. Current command is hidden but still works for backwards
compatibility.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Donatas Abraitis
4494680404 doc: Add missing json keyword for show debugging label-table
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-01-21 23:16:38 +02:00
Igor Ryzhov
b507ad54b4 mgmtd: add option to specify netns as the vrf backend
mgmtd has to know if netns is used as the vrf backend to correctly
process interface names in northbound.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-14 20:00:22 +02:00
Carmine Scarpitta
fcf17cc05d doc: Add doc for show segment-routing srv6 manager
The `show segment-routing srv6 manager` CLI command allows users to
print the SRv6 information. Currently, the SRv6 information includes
only the SRv6 encapsulation source address.

In this commit, we add the documentation for the
`show segment-routing srv6` command.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2023-12-14 14:58:35 +01:00
Carmine Scarpitta
baffed018d doc: Add doc for SRv6 encapsulation source address
Add documentation for the new SRv6 encapsulation source address feature.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2023-12-14 14:58:35 +01:00
Rafael Zalamena
1f2ab61403 doc: remove duplicated show route-map
Remove zebra duplicated command documentation without description.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-11-24 10:00:33 -03:00
Philippe Guibert
66c85fde7e doc: add 'mpls label dynamic-block' information
Add information on the 'mpls label dynamic-block'
command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-10-18 17:45:26 +02:00
fmihoub6WIND
2b8e22f264 zebra: dump label table information
Add the new command "show debugging labeltable" to show allocated label
chunks in the label table managed with label_manager.c

Signed-off-by: Farid Mihoub <farid.mihoub@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-09-29 08:24:18 +02: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
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
Rafael Zalamena
2644ff6e59 doc: document new FPM command
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-09-04 16:02:26 -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
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
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
Donald Sharp
e6174ae2cb doc: Add show ipv6 rpf X:X::X:X command to docs
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-16 07:52:35 -05:00
Olivier Dugeon
e2b958ecbc
Merge pull request #12494 from louis-6wind/ext_admin_group
lib,zebra,isisd: add support for extended admin group RFC7308
2023-02-15 09:42:03 +01:00
Stephen Worley
9d33108db9 doc: remove "new way" for SVD docs
remove "new way" for SVD docs as this could become
stale and become the "old way" at some point.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13 18:12:05 -05:00
Stephen Worley
a04e18c9e8 doc: add docs for show evpn access-vlan
Add docs for `show evpn access-vlan`

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13 18:12:05 -05:00
Sharath Ramamurthy
aeefc6028b zebra: Add documentation for Single Vxlan Device support
Add documentation for single vxlan device suppport and configuration
commands

Signed-off-by: Sharath Ramamurthy <sramamurthy@nvidia.com>
2023-02-13 18:12:04 -05:00
Louis Scalbert
66a45dae56 doc: add extended admin-group user documentation
Add the extended admin-group user documentation using affinity-maps.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-02-10 14:13:46 +01:00
Chirag Shah
d358780207 doc: add documentation for show ip nht route-map
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2022-12-16 08:42:53 -08:00
Donatas Abraitis
d1008e9dbb
Merge pull request #12513 from Pdoijode/master
zebra: JSON support for show nexthop-group rib
2022-12-15 08:48:35 +02:00
Pooja Jagadeesh Doijode
12a8def3ea zebra: JSON support for show nexthop-group rib
Added JSON support for show nexthop-group rib
command.

JSON output:
                {
                  "10":{
                    "type":"zebra",
                    "refCount":3,
                    "uptime":"00:00:46",
                    "vrf":"default",
                    "valid":true,
                    "installed":true,
                    "interfaceIndex":3,
                    "nexthops":[
                      {
                        "flags":3,
                        "fib":true,
                        "ip":"2001::2",
                        "afi":"ipv6",
                        "interfaceIndex":3,
                        "interfaceName":"eth0",
                        "vrf":"default",
                        "active":true,
                        "weight":1
                      }
                    ]
                  }
                }

Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2022-12-14 10:46:32 -08:00
Donald Sharp
1d1103a25c doc: Clarify asic offload documentation in zebra
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 15:56:14 -05:00
Sindhu Parvathi Gopinathan
780563cc8b zebra: json support for show ip nht
show ip/ipv6 nht vrf <all | name> json support added.

Commands enhanced with JSON:
----------------------------
show ip nht json
show ip nht <addr> json
show ipv6 nht json
show ipv6 nht <addr> json
show ip nht vrf <name> json
show ip nht vrf all json
show ipv6 nht vrf <name> json
show ipv6 nht vrf all json
show ip nht vrf default <addr> json
show ipv6 nht vrf default <addr> json

Sample JSON output:
-------------------

tor-1# show ip nht vrf default json
{
  "default":{
    "nexthops":{
      "27.0.0.5":{
        "nhtConnected":false,
        "clientList":[
          {
            "protocol":"bgp",
            "socket":70,
            "protocolFiltered":"none"
          }
        ],
        "gates":[
          {
            "ip":"fe80::202:ff:fe00:2b",
            "interface":"uplink_1"
          },
          {
            "ip":"fe80::202:ff:fe00:35",
            "interface":"uplink_2"
          }
        ],
        "resolvedProtocol":"bgp"
      },
      "27.0.0.6":{
        "nhtConnected":false,
        "clientList":[
          {
            "protocol":"bgp",
            "socket":70,
            "protocolFiltered":"none"
          }
        ],
        "gates":[
          {
            "ip":"fe80::202:ff:fe00:2b",
            "interface":"uplink_1"
          },
          {
            "ip":"fe80::202:ff:fe00:35",
            "interface":"uplink_2"
          }
        ],
        "resolvedProtocol":"bgp"
      }
    }
  }
}

tor-1# show ipv6 nht vrf default json
{
  "default": {
    "nexthops": {
      "fe80::202:ff:fe00:25": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      },
      "fe80::202:ff:fe00:2b": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      }
    }
  }
}

tor-1# show ipv6 nht vrf all json
{
  "default": {
    "nexthops": {
      "fe80::202:ff:fe00:25": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      },
      "fe80::202:ff:fe00:2b": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      }
    }
  },
  "mgmt": {
    "nexthops": {}
  },
  "sym_1": {
    "nexthops": {}
  }
}

Ticket:#3229013
Issue:3229013

Testing Done: Unit test completed.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Sindhu Parvathi Gopinathan <sgopinathan@nvidia.com>
2022-11-28 15:38:09 -08:00
Ashwini Reddy
fa5a9276d1 bgpd: JSON support for show ip bgp vrf all update-group
Ticket:#3229030
Testing Done: UT

Changes:

 - JSON support for the update group command.

Testing:

torc-11# show ip bgp vrf all ipv6 update-groups json

torc-12# show bgp vrf all update-groups json
{
  "default":{
    "2":{
      "groupCreateTime":{
        "epoch":1669225617,
        "epochString":"Wed Nov 23 17:46:57 2022\n"
      },
      "afi":"IPv6",
      "safi":"unicast",
      "outRouteMap":"MY_ORIGIN_ASPATH_ONLY",
      "minRouteAdvInt":0,
      "subGroup":[
        {
          "subGroupId":2,
          "groupCreateTime":{
            "epoch":1669225617,
            "epochString":"Wed Nov 23 17:46:57 2022\n"
          },
          "statistics":{
            "joinEvents":2,
            "pruneEvents":0,
            "mergeEvents":0,
            "splitEvents":0,
            "switchEvents":0,
            "peerRefreshEvents":0,
            "mergeCheckEvents":2
          },
          "coalesceTime":1100,
          "version":12,
          "packetQueueInfo":{
            "qeueueLen":0,
            "queuedTotal":1,
            "queueHwmLen":1,
            "totalEnqueued":1
          },
          "adjListCount":1,
          "needsRefresh":false,
          "peers":[
            "uplink_1",
            "uplink_2"
          ]
        }
      ]
    }
  }
}
{
  "sym_3":{
  }
}
{
  "sym_5":{
  }
}
{
  "sym_2":{
  }
}
{
  "sym_4":{
  }
}
{
  "sym_1":{
  }
}

Co-authored-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
2022-11-23 19:04:00 -08:00
Donatas Abraitis
84f784fafa
Merge pull request #12219 from cscarpitta/feature/srv6-usid-behavior-support
bgpd, zebra: Add support for SRv6 uSID Behaviors
2022-11-14 16:13:39 +02:00
Carmine Scarpitta
439d4c9b03 doc: Add documentation for behavior usid command
Add the documentation for the `behavior usid` command to zebra.

When the `behavior usid` command is set, a flag is added to the locator
to indicate that the locator is a uSID locator. When a locator is
specified as a uSID locator, the bgpd will install SRv6 behaviors with
the uSID in the dataplane and use the SRv6 uSID codepoints in the BGP
update message.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-11-08 22:44:24 +01:00
Spoorthi K
aa52f3189b
doc: Update with right default FPM server port
Signed-off-by: Spoorthi K <spk@redhat.com>
2022-10-29 14:09:00 +05:30
Carmine Scarpitta
bd2a1bdec7 doc: extend documentation of SRv6 locator
This commit adds the documentation of the two optional parameters "block-len" and "node-len" of the SRv6 locator.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-18 16:08:24 +02:00
Ryoga Saito
68fb161b22 doc: Update docs for SRv6 locator prefix command
In previous commits, func-bits was expanded to 0-64. This PR reflects
these changes.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
2022-10-11 10:00:19 +09:00
Donald Sharp
39ffa8e8e8 zebra: Add a mpls enable interface node command
Allow individual interfaces to turn on/off the mpls subsystem
for it in linux.

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

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-08-08 09:15:22 -04:00
Anuradha Karuppiah
3c6732e43d zebra: add documentation for the DPDK dataplane plugin
Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2022-06-27 08:08:02 -04:00
Anuradha Karuppiah
4f8223454f zebra: document the pbr and neigh extended commands needed for some dataplanes
config -
1. "pbr nexthop-resolve"

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

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2022-06-27 07:56:55 -04:00
Donald Sharp
c9af62e314 zebra: Add a configurable knob zebra nexthop-group keep (1-3600)
Allow end operator to set how long a nexthop-group is kept around
in the system after it is no-longer being used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-06-16 14:47:19 -04:00
Donald Sharp
ed18e04d91 doc: Fix spelling of choosen
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-19 08:28:47 -04:00
Donald Sharp
050d644400 doc: Add show ip nht.. documentation
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-08 08:18:39 -04:00
Nobuhiro MIKI
5a22d2ad33 zebra: fix typo in doc/user/zebra.rst
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
2022-03-28 12:13:31 +09:00
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
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
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
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
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
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
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