From 4bfe801e7e6c59bdb70500b629fd31bb03598d4b Mon Sep 17 00:00:00 2001 From: Yuxiang Zhu Date: Mon, 9 Jan 2023 05:48:50 +0000 Subject: T4977: Add Babel routing protocol support This PR adds basic Babel routing protocol support using the implementation in FRR. Signed-off-by: Yuxiang Zhu --- .../include/babel/interface.xml.i | 187 +++++++++++++++++++++ .../include/bgp/protocol-common-config.xml.i | 16 ++ .../include/eigrp/protocol-common-config.xml.i | 6 +- .../include/isis/protocol-common-config.xml.i | 18 +- .../include/ospf/protocol-common-config.xml.i | 10 ++ .../include/ospfv3/protocol-common-config.xml.i | 8 + 6 files changed, 243 insertions(+), 2 deletions(-) create mode 100644 interface-definitions/include/babel/interface.xml.i (limited to 'interface-definitions/include') diff --git a/interface-definitions/include/babel/interface.xml.i b/interface-definitions/include/babel/interface.xml.i new file mode 100644 index 000000000..549e4909d --- /dev/null +++ b/interface-definitions/include/babel/interface.xml.i @@ -0,0 +1,187 @@ + + + + Interface name + + + + + txt + Interface name + + + #include + + + + + + Interface type + + auto wired wireless + + + auto + Automatically detect interface type + + + wired + Wired interface + + + wireless + Wireless interface + + + (auto|wired|wireless) + + + auto + + + + Split horizon parameters + + default enable disable + + + default + Enable on wired interfaces, and disable on wireless interfaces + + + enable + Enable split horizon processing + + + disable + Disable split horizon processing + + + (default|enable|disable) + + + default + + + + Time between scheduled hellos + + u32:20-655340 + Milliseconds + + + + + + 4000 + + + + Time between scheduled updates + + u32:20-655340 + Milliseconds + + + + + + 20000 + + + + Base receive cost for this interface + + u32:1-65534 + Base receive cost + + + + + + + + + Decay factor for exponential moving average of RTT samples + + u32:1-256 + Decay factor, in units of 1/256 + + + + + + 42 + + + + Minimum RTT + + u32:1-65535 + Milliseconds + + + + + + 10 + + + + Maximum RTT + + u32:1-65535 + Milliseconds + + + + + + 120 + + + + Maximum additional cost due to RTT + + u32:0-65535 + Milliseconds (0 to disable the use of RTT-based cost) + + + + + + 150 + + + + Enable timestamps with each Hello and IHU message in order to compute RTT values + + + + + + Channel number for diversity routing + + interfering non-interfering + + + u32:1-254 + Interfaces with a channel number interfere with interfering interfaces and interfaces with the same channel number + + + interfering + Interfering interfaces are assumed to interfere with all other channels except non-interfering channels + + + non-interfering + Non-interfering interfaces only interfere with themselves + + + + (interfering|non-interfering) + + + + + + diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i index ec065347c..0d88c7b25 100644 --- a/interface-definitions/include/bgp/protocol-common-config.xml.i +++ b/interface-definitions/include/bgp/protocol-common-config.xml.i @@ -165,6 +165,14 @@ #include + + + Redistribute Babel routes into BGP + + + #include + + Redistribute static routes into BGP @@ -542,6 +550,14 @@ #include + + + Redistribute Babel routes into BGP + + + #include + + Redistribute static routes into BGP diff --git a/interface-definitions/include/eigrp/protocol-common-config.xml.i b/interface-definitions/include/eigrp/protocol-common-config.xml.i index 147277102..30ddc5d11 100644 --- a/interface-definitions/include/eigrp/protocol-common-config.xml.i +++ b/interface-definitions/include/eigrp/protocol-common-config.xml.i @@ -86,6 +86,10 @@ rip Routing Information Protocol (RIP) + + babel + Babel routing protocol (Babel) + static Statically configured routes @@ -98,7 +102,7 @@ bgp connected nhrp ospf rip static vnc - (bgp|connected|nhrp|ospf|rip|static|vnc) + (bgp|connected|nhrp|ospf|rip|babel|static|vnc) diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i index 42bda7a80..c44939528 100644 --- a/interface-definitions/include/isis/protocol-common-config.xml.i +++ b/interface-definitions/include/isis/protocol-common-config.xml.i @@ -394,6 +394,14 @@ #include + + + Redistribute Babel routes into IS-IS + + + #include + + Redistribute static routes into IS-IS @@ -449,6 +457,14 @@ #include + + + Redistribute Babel routes into IS-IS + + + #include + + Redistribute static routes into IS-IS @@ -670,4 +686,4 @@ #include - \ No newline at end of file + diff --git a/interface-definitions/include/ospf/protocol-common-config.xml.i b/interface-definitions/include/ospf/protocol-common-config.xml.i index 06609c10e..16b346131 100644 --- a/interface-definitions/include/ospf/protocol-common-config.xml.i +++ b/interface-definitions/include/ospf/protocol-common-config.xml.i @@ -756,6 +756,16 @@ #include + + + Redistribute Babel routes + + + #include + #include + #include + + Redistribute statically configured routes diff --git a/interface-definitions/include/ospfv3/protocol-common-config.xml.i b/interface-definitions/include/ospfv3/protocol-common-config.xml.i index c0aab912d..fd00af95e 100644 --- a/interface-definitions/include/ospfv3/protocol-common-config.xml.i +++ b/interface-definitions/include/ospfv3/protocol-common-config.xml.i @@ -238,6 +238,14 @@ #include + + + Redistribute Babel routes + + + #include + + Redistribute static routes -- cgit v1.2.3