From 9c42a6ebbc103a0a4be6af782388ad26e6c03556 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Tue, 27 Jun 2006 07:52:03 +0000 Subject: [lib] Centralise Zserv route type information, auto-generate redist strings 2006-05-23 Paul Jakma * route_types.txt: New file, table of ZEBRA_ROUTE definitions. * route_types.awk: New script, to parse previous and generate (for now) redistribute string defines. * Makefile.am: build route_types.h using previous two, ala memtypes.h, include the script and table file in EXTRA_DIST. * command.h: pull in route_types.h, add a REDIST_STR define. --- lib/route_types.txt | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 lib/route_types.txt (limited to 'lib/route_types.txt') diff --git a/lib/route_types.txt b/lib/route_types.txt new file mode 100644 index 00000000..e99cacde --- /dev/null +++ b/lib/route_types.txt @@ -0,0 +1,74 @@ +# Canonical Zserv route types information registry for Quagga. +# +# Used to construct route_types.c and route_types.h +# +# comma-seperated fields of either 2 fields (help strings) or 7 fields. +# White space before and after the comma seperators is stripped. +# Lines /beginning/ with # are comments. +# +#### +# 7 field line has format: +# ZServ route type, canonical name, daemon, route char, ipv4, ipv6, short desc +# +# Zserv route type: Corresponding with zebra.h. Key field. +# canonical name: Typically derived from the route type definition. +# Used in 'redistribute' commands in daemons. +# Key field. +# daemon: The daemon which may originates this route type +# for redistribution to other daemons. +# NULL if not applicable. +# M:N definitions of type:daemon are allowed. +# Used to construct vty command strings. +# route char: Single character to denote the route, if applicable. +# Used to denote route type where space is tight, +# e.g. 'show ip route' / 'show ipv6 route'. +# 'X' is reserved as the 'not needed' placeholder. +# ipv4: IPv4 capable? yes/no, or 1/0. +# ipv6: IPv6 capable? ditto. +# short desc: Very brief description. Used in header of +# 'show ip route'. May be specified as NULL +# if the canonical name suffices. +# +# Key fields obviously must be a unique ASCII alpha-numeric word. +# Lower-case is required, brevity is optional but highly desirable. +# +#### +# 2 field format: +# +# Zserv route type, Long description +# +# Long description: Full description, but should try fit on a line. +#### + +## type cname daemon C 4 6 short help +ZEBRA_ROUTE_SYSTEM, system, NULL, 'X', 0, 0, "Reserved" +ZEBRA_ROUTE_KERNEL, kernel, zebra, 'K', 1, 1, NULL +ZEBRA_ROUTE_CONNECT, connected, zebra, 'C', 1, 1, NULL +ZEBRA_ROUTE_STATIC, static, zebra, 'S', 1, 1, NULL +ZEBRA_ROUTE_RIP, rip, ripd, 'R', 1, 0, "RIP" +ZEBRA_ROUTE_RIPNG, ripng, ripngd, 'R', 0, 1, "RIPng" +ZEBRA_ROUTE_OSPF, ospf, ospfd, 'O', 1, 0, "OSPF" +ZEBRA_ROUTE_OSPF6, ospf6, ospf6d, 'O', 0, 1, "OSPF" +ZEBRA_ROUTE_ISIS, isis, isisd, 'I', 1, 1, "IS-IS" +ZEBRA_ROUTE_BGP, bgp, bgpd, 'B', 1, 1, "BGP" +# HSLS and OLSR both are AFI independent (so: 1, 1), however +# we want to disable for them for general Quagga distribution. +# This at least makes it trivial for users of these protocols +# to 'switch on' redist support (direct numeric entry remaining +# possible). +ZEBRA_ROUTE_HSLS, hsls, hslsd, 'H', 0, 0, "HSLS" +ZEBRA_ROUTE_OLSR, olsr, oslrd, 'o', 0, 0, "OLSR" + +## help strings +ZEBRA_ROUTE_SYSTEM, "Reserved route type, for internal use only" +ZEBRA_ROUTE_KERNEL, "Kernel routes (not installed via the zebra RIB)" +ZEBRA_ROUTE_CONNECT,"Connected routes (directly attached subnet or host)" +ZEBRA_ROUTE_STATIC, "Statically configured routes" +ZEBRA_ROUTE_RIP, "Routing Information Protocol (RIP)" +ZEBRA_ROUTE_RIPNG, "Routing Information Protocol next-generation (IPv6) (RIPng)" +ZEBRA_ROUTE_OSPF, "Open Shortest Path First (OSPFv2)" +ZEBRA_ROUTE_OSPF6, "Open Shortest Path First (IPv6) (OSPFv3)" +ZEBRA_ROUTE_ISIS, "Intermediate System to Intermediate System (IS-IS)" +ZEBRA_ROUTE_BGP, "Border Gateway Protocol (BGP)" +ZEBRA_ROUTE_HSLS, "Hazy-Sighted Link State Protocol (HSLS)" +ZEBRA_ROUTE_OLSR, "Optimised Link State Routing (OLSR)" -- cgit v1.2.1