summaryrefslogtreecommitdiffstats
path: root/lib/route_types.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/route_types.txt')
-rw-r--r--lib/route_types.txt118
1 files changed, 118 insertions, 0 deletions
diff --git a/lib/route_types.txt b/lib/route_types.txt
new file mode 100644
index 0000000..a82273a
--- /dev/null
+++ b/lib/route_types.txt
@@ -0,0 +1,118 @@
+# Canonical Zserv route types information registry for FRR.
+#
+# 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 separators is stripped.
+# Lines /beginning/ with # are comments.
+#
+####
+# 9 field line has format:
+# ZServ route type, canonical name, daemon, route char, ipv4, ipv6, redist, short desc, Restrictions
+#
+# 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.
+# redist: Allow this protocol to be used in redistribution statements
+# short desc: Very brief description. Used in header of
+# 'show ip route'. May be specified as NULL
+# if the canonical name suffices.
+# Restriction: If this cannot be used with the listed protocol for redistribution events
+#
+# 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.
+####
+#
+# If you add a new routing protocol here, make sure you also update
+# meta_queue_map in zebra_rib.c
+#
+## type cname daemon C 4 6 Redist short help Enabled Restrictions
+ZEBRA_ROUTE_SYSTEM, system, NULL, 'X', 0, 0, 0, "Reserved", none
+ZEBRA_ROUTE_KERNEL, kernel, zebra, 'K', 1, 1, 1, "kernel route", zebra
+ZEBRA_ROUTE_CONNECT, connected, zebra, 'C', 1, 1, 1, "connected", zebra
+ZEBRA_ROUTE_STATIC, static, zebra, 'S', 1, 1, 1, "static", zebra
+ZEBRA_ROUTE_RIP, rip, ripd, 'R', 1, 0, 1, "RIP", ripd
+ZEBRA_ROUTE_RIPNG, ripng, ripngd, 'R', 0, 1, 1, "RIPng", ripngd
+ZEBRA_ROUTE_OSPF, ospf, ospfd, 'O', 1, 0, 1, "OSPF", ospfd
+ZEBRA_ROUTE_OSPF6, ospf6, ospf6d, 'O', 0, 1, 1, "OSPFv3", ospf6d
+ZEBRA_ROUTE_ISIS, isis, isisd, 'I', 1, 1, 1, "IS-IS", isisd
+ZEBRA_ROUTE_BGP, bgp, bgpd, 'B', 1, 1, 1, "BGP", bgpd
+ZEBRA_ROUTE_PIM, pim, pimd, 'P', 0, 0, 0, "PIM", pimd
+ZEBRA_ROUTE_EIGRP, eigrp, eigrpd, 'E', 1, 0, 1, "EIGRP", eigrpd
+ZEBRA_ROUTE_NHRP, nhrp, nhrpd, 'N', 1, 1, 1, "NHRP", nhrpd
+# HSLS and OLSR both are AFI independent (so: 1, 1), however
+# we want to disable for them for general FRR 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, 0, "HSLS", hslsd
+ZEBRA_ROUTE_OLSR, olsr, olsrd, 'o', 0, 0, 0, "OLSR", olsrd
+ZEBRA_ROUTE_TABLE, table, zebra, 'T', 1, 1, 1, "Table", zebra
+ZEBRA_ROUTE_LDP, ldp, ldpd, 'L', 0, 0, 0, "LDP", ldpd
+#vnc when sent to zebra
+ZEBRA_ROUTE_VNC, vnc, NULL, 'v', 1, 1, 1, "VNC", bgpd-vnc
+# vnc when sent to bgp
+ZEBRA_ROUTE_VNC_DIRECT, vnc-direct,NULL, 'V', 1, 1, 1, "VNC-Direct", bgpd-vnc, bgpd
+# vnc when sent to bgp (resolve NVE mode)
+ZEBRA_ROUTE_VNC_DIRECT_RH, vnc-rn, NULL, 'V', 0, 0, 0, "VNC-RN", bgpd-vnc
+# bgp unicast -> vnc
+ZEBRA_ROUTE_BGP_DIRECT, bgp-direct, NULL, 'b', 0, 0, 0, "BGP-Direct", bgpd-vnc
+# bgp unicast -> vnc
+ZEBRA_ROUTE_BGP_DIRECT_EXT, bgp-direct-to-nve-groups, NULL, 'e', 0, 0, 0, "BGP2VNC", bgpd-vnc
+ZEBRA_ROUTE_BABEL, babel, babeld, 'A', 1, 1, 1, "Babel", babeld
+ZEBRA_ROUTE_SHARP, sharp, sharpd, 'D', 1, 1, 1, "SHARP", sharpd
+ZEBRA_ROUTE_PBR, pbr, pbrd, 'F', 1, 1, 0, "PBR", pbrd
+ZEBRA_ROUTE_BFD, bfd, bfdd, '-', 0, 0, 0, "BFD", bfdd
+ZEBRA_ROUTE_OPENFABRIC, openfabric, fabricd, 'f', 1, 1, 1, "OpenFabric", fabricd
+ZEBRA_ROUTE_VRRP, vrrp, vrrpd, '-', 0, 0, 0, "VRRP", vrrpd
+ZEBRA_ROUTE_NHG, zebra, none, '-', 0, 0, 0, "Nexthop Group", none
+ZEBRA_ROUTE_SRTE, srte, none, '-', 0, 0, 0, "SR-TE", none
+ZEBRA_ROUTE_ALL, wildcard, none, '-', 0, 0, 0, "-", none
+
+
+## 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_PIM, "Protocol Independent Multicast (PIM)"
+ZEBRA_ROUTE_EIGRP, "Enhanced Interior Gateway Routing Protocol (EIGRP)"
+ZEBRA_ROUTE_NHRP, "Next Hop Resolution Protocol (NHRP)"
+ZEBRA_ROUTE_HSLS, "Hazy-Sighted Link State Protocol (HSLS)"
+ZEBRA_ROUTE_VNC, "Virtual Network Control (VNC)"
+ZEBRA_ROUTE_OLSR, "Optimised Link State Routing (OLSR)"
+ZEBRA_ROUTE_TABLE, "Non-main Kernel Routing Table"
+ZEBRA_ROUTE_LDP, "Label Distribution Protocol (LDP)"
+ZEBRA_ROUTE_VNC_DIRECT, "VNC direct (not via zebra) routes"
+ZEBRA_ROUTE_BABEL, "Babel routing protocol (Babel)"
+ZEBRA_ROUTE_SHARP, "Super Happy Advanced Routing Protocol (sharpd)"
+ZEBRA_ROUTE_PBR, "Policy Based Routing (PBR)"
+ZEBRA_ROUTE_BFD, "Bidirectional Fowarding Detection (BFD)"
+ZEBRA_ROUTE_VRRP, "Virtual Router Redundancy Protocol (VRRP)"
+ZEBRA_ROUTE_OPENFABRIC, "OpenFabric Routing Protocol"
+ZEBRA_ROUTE_NHG, "Zebra Nexthop Groups (NHG)"