]> git.proxmox.com Git - mirror_frr.git/commit
lib, bgp: add initial support for asdot format
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 2 Nov 2022 17:17:21 +0000 (18:17 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 10 Feb 2023 09:27:17 +0000 (10:27 +0100)
commit8079a4138d61500117ebbffb250ceba0a894f9c0
treedea5e0834d075574c1a485928cb843446bad0d20
parent9eb11997104e3ba5e436220f758f7881c0c0556d
lib, bgp: add initial support for asdot format

AS number can be defined as an unsigned long number, or
two uint16 values separated by a period (.). The possible
valus are:
- usual 32 bit values : [1;2^32 -1]
- <1.65535>.<0.65535> for dot notation
- <0.65535>.<0.65535> for dot+ notation.

The 0.0 value is forbidden when configuring BGP instances
or peer configurations.

A new ASN type is added for parsing in the vty.
The following commands use that new identifier:
- router bgp ..
- bgp confederation ..
- neighbor <> remote-as <>
- neighbor <> local-as <>
- clear ip bgp <>
- route-map / set as-path <>

An asn library is available in lib/ and provides some
services:
- convert an as string into an as number.
- parse an as path list string and extract a number.
- convert an as number into a string.

Also, the bgp tests forge an as_zero_path, and to do that,
an API to relax the possibility to have a 0 as value is
specifically called from the tests.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
20 files changed:
bgpd/bgp_aspath.c
bgpd/bgp_routemap.c
bgpd/bgp_vty.c
bgpd/bgpd.c
bgpd/bgpd.h
doc/developer/cli.rst
lib/asn.c [new file with mode: 0644]
lib/asn.h [new file with mode: 0644]
lib/command.c
lib/command.h
lib/command_graph.c
lib/command_graph.h
lib/command_lex.l
lib/command_match.c
lib/command_parse.y
lib/command_py.c
lib/subdir.am
python/clidef.py
tests/bgpd/test_aspath.c
vtysh/vtysh.c