From 8079a4138d61500117ebbffb250ceba0a894f9c0 Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Wed, 2 Nov 2022 18:17:21 +0100 Subject: 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 --- lib/command.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/command.h') diff --git a/lib/command.h b/lib/command.h index 8f5d96053c..0ee45cee55 100644 --- a/lib/command.h +++ b/lib/command.h @@ -403,7 +403,8 @@ struct cmd_node { #define DEBUG_STR "Debugging functions\n" #define UNDEBUG_STR "Disable debugging functions (see also 'debug')\n" #define ROUTER_STR "Enable a routing process\n" -#define AS_STR "AS number\n" +#define AS_STR \ + "AS number in plain <1-4294967295> or dotted <0-65535>.<0-65535> format\n" #define MAC_STR "MAC address\n" #define MBGP_STR "MBGP information\n" #define MATCH_STR "Match values from routing table\n" -- cgit v1.2.3