summaryrefslogtreecommitdiffstats
path: root/routing/routing-api/src
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2017-09-28 13:31:17 +0200
committerJan Srnicek <jsrnicek@cisco.com>2017-09-28 13:31:17 +0200
commit8c31963654d126fa1b670c3d10c0ee81f445166a (patch)
tree1492d8e3dddf11364d8844571a4579895cb34705 /routing/routing-api/src
parent1ccfb17154bf025ac320ffea3433cd62bedc221c (diff)
HC2VPP-232 - Secondary table lookup support
Ietf models now contains case table-lookup to be able to define lookup to secondary table. It must be separated to dedicated case as combining secondary-vrf and other next hop types(simple,multi,special) does not make sense, its either you define lookup to table, or you specify next hop of some kind. This patch works properly only for write, as read is affected by VPP-994/VPP-995. Read at this state can detect that route is using table lookup, but can't detect table that is used for that lookup. Also, HC2VPP-237 must be done in future Change-Id: Ia6976b35c6c1712d8add60beea7b0edbc4536974 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'routing/routing-api/src')
-rw-r--r--routing/routing-api/src/main/yang/hc2vpp-ietf-ipv4-unicast-routing@2017-09-17.yang (renamed from routing/routing-api/src/main/yang/hc2vpp-ietf-ipv4-unicast-routing@2014-05-24.yang)24
-rw-r--r--routing/routing-api/src/main/yang/hc2vpp-ietf-ipv6-unicast-routing@2017-09-17.yang (renamed from routing/routing-api/src/main/yang/hc2vpp-ietf-ipv6-unicast-routing@2014-05-25.yang)25
-rw-r--r--routing/routing-api/src/main/yang/vpp-routing-table-lookup@2017-09-17.yang25
-rw-r--r--routing/routing-api/src/main/yang/vpp-routing@2017-09-17.yang (renamed from routing/routing-api/src/main/yang/vpp-routing@2016-12-14.yang)10
4 files changed, 78 insertions, 6 deletions
diff --git a/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv4-unicast-routing@2014-05-24.yang b/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv4-unicast-routing@2017-09-17.yang
index 8db423700..5357d1544 100644
--- a/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv4-unicast-routing@2014-05-24.yang
+++ b/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv4-unicast-routing@2017-09-17.yang
@@ -4,6 +4,10 @@ module hc2vpp-ietf-ipv4-unicast-routing {
prefix "v4ur";
+ import vpp-routing-table-lookup {
+ prefix "vpp-tl";
+ }
+
import hc2vpp-ietf-routing {
prefix "rt";
revision-date 2014-05-24;
@@ -52,6 +56,11 @@ module hc2vpp-ietf-ipv4-unicast-routing {
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
+ revision 2017-09-17 {
+ description
+ "Table lookup support";
+ }
+
revision 2014-05-24 {
description
"Initial revision.";
@@ -160,6 +169,13 @@ module hc2vpp-ietf-ipv4-unicast-routing {
case special-next-hop {
uses rt:special-next-hop-grouping;
}
+ // TODO - HONEYCOMB-398/HC2VPP-237
+ case table-lookup {
+ container table-lookup-params {
+ uses vpp-tl:table-lookup-case-params;
+ }
+ }
+
case simple-next-hop {
leaf next-hop {
type inet:ipv4-address;
@@ -300,6 +316,14 @@ module hc2vpp-ietf-ipv4-unicast-routing {
instance can be given.";
}
}
+
+ // TODO - HONEYCOMB-398/HC2VPP-237
+ case table-lookup {
+ container table-lookup-params {
+ uses vpp-tl:table-lookup-case-params;
+ }
+ }
+
case next-hop-list {
if-feature rt:multipath-routes;
container next-hop-list {
diff --git a/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv6-unicast-routing@2014-05-25.yang b/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv6-unicast-routing@2017-09-17.yang
index 72c54f2ab..9d955dfaf 100644
--- a/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv6-unicast-routing@2014-05-25.yang
+++ b/routing/routing-api/src/main/yang/hc2vpp-ietf-ipv6-unicast-routing@2017-09-17.yang
@@ -4,6 +4,10 @@ module hc2vpp-ietf-ipv6-unicast-routing {
prefix "v6ur";
+ import vpp-routing-table-lookup {
+ prefix "vpp-tl";
+ }
+
import hc2vpp-ietf-routing {
prefix "rt";
revision-date 2014-05-24;
@@ -60,6 +64,11 @@ module hc2vpp-ietf-ipv6-unicast-routing {
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
+ revision 2017-09-17 {
+ description
+ "Table lookup support";
+ }
+
revision 2014-05-25 {
description
"Initial revision.";
@@ -565,6 +574,14 @@ module hc2vpp-ietf-ipv6-unicast-routing {
//WARNING - changed, see ietf-routing.yang
uses rt:special-next-hop-grouping;
}
+
+ // TODO - HONEYCOMB-398/HC2VPP-237
+ case table-lookup {
+ container table-lookup-params {
+ uses vpp-tl:table-lookup-case-params;
+ }
+ }
+
case simple-next-hop {
leaf next-hop {
type inet:ipv6-address;
@@ -682,6 +699,14 @@ module hc2vpp-ietf-ipv6-unicast-routing {
//WARNING - changed, see ietf-routing.yang
uses rt:special-next-hop-grouping;
}
+
+ // TODO - HONEYCOMB-398/HC2VPP-237
+ case table-lookup {
+ container table-lookup-params {
+ uses vpp-tl:table-lookup-case-params;
+ }
+ }
+
case simple-next-hop {
leaf next-hop {
type inet:ipv6-address;
diff --git a/routing/routing-api/src/main/yang/vpp-routing-table-lookup@2017-09-17.yang b/routing/routing-api/src/main/yang/vpp-routing-table-lookup@2017-09-17.yang
new file mode 100644
index 000000000..9ae77501b
--- /dev/null
+++ b/routing/routing-api/src/main/yang/vpp-routing-table-lookup@2017-09-17.yang
@@ -0,0 +1,25 @@
+module vpp-routing-table-lookup {
+
+ namespace "urn:ietf:params:xml:ns:yang:vpp-routing-table-lookup";
+ prefix "vpp-routing";
+ description "General extensions for routes to be able to use VPP table lookup option";
+
+ revision 2017-09-17 {
+ description "Initial revision";
+ }
+
+ import vpp-routing {
+ prefix "vpp-r";
+ }
+
+ grouping table-lookup-case-params {
+ leaf secondary-vrf{
+ type vpp-r:vni-reference;
+ mandatory true;
+ description "Secondary vrf used to lookup in";
+ }
+ // uses special deaggregation address every time : 0.0.0.0
+ }
+
+ //TODO - HONEYCOMB-398/HC2VPP-237 - move table lookup case here
+} \ No newline at end of file
diff --git a/routing/routing-api/src/main/yang/vpp-routing@2016-12-14.yang b/routing/routing-api/src/main/yang/vpp-routing@2017-09-17.yang
index 5acda3976..c5594ff32 100644
--- a/routing/routing-api/src/main/yang/vpp-routing@2016-12-14.yang
+++ b/routing/routing-api/src/main/yang/vpp-routing@2017-09-17.yang
@@ -4,6 +4,10 @@ module vpp-routing{
prefix "vpp-routing";
description "General extensions for routes to be able to use VPP route defining apis";
+ revision 2017-09-17 {
+ description "Support for table lookup option moved to separate model.";
+ }
+
revision 2016-12-14 {
description "Initial revision.";
}
@@ -26,12 +30,6 @@ module vpp-routing{
}
grouping vpp-route-attributes {
- //lookup_in_vrf
- leaf secondary-vrf{
- type vni-reference;
- description "Optional secondary vrf used to lookup in";
- }
-
leaf classify-table{
// classify_table_index + is_classify flag
type classifier:classify-table-ref;