summaryrefslogtreecommitdiffstats
path: root/mpls/impl/src/main
AgeCommit message (Collapse)AuthorFilesLines
2018-05-09HC2VPP-253 - Bump routing modelsMichal Cmarada3-3/+3
This patch updates (for support of SRv6 and MPLS) routing models to: - hc2vpp-ietf-routing@2018-03-13.yang (RFC 8349, https://tools.ietf.org/html/rfc8349) - hc2vpp-ietf-ipv4-unicast-routing@2018-03-13.yang (RFC 8349) - hc2vpp-ietf-ipv6-unicast-routing@2018-03-13.yang (RFC 8349) - hc2vpp-ietf-ipv6-router-advertisements@2018-03-13 (RFC 8349) - hc2vpp-ietf-routing-types@2017-12-04 (RFC 8294 ,https://tools.ietf.org/html/rfc8294) Due to odl bugs these models were changed, see HC2VPP-298 for more details. Significant changes in updated models: - Routing instance was removed, we used vpp-routing-instance as single instance before, which is no longer needed. - Routing-protocol and Routing-protocols were refactored to Control-plane-protocol/s. Control-protocol now uses type and name as key - Route Key was changed from id to ipPrefix - Next-hop and Next-Hop-list were refactored See attached routing_postman_collection.json for updated data structures and examples for both IPv4 and IPv6 routes. For router advertisements see routing_advertisments_postman_collection.json Another fixes in this patch: - fixes in MPLS module due to Routing model updates - fixes doc module due to changes in Routing model Change-Id: I33704a50061aef97dfbd73a7701ff6fe5274d6f0 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-03-12Adapt mpls plugin to recent VPP API changesMarek Gradzki4-7/+14
MPLS API changes were introduced by: https://gerrit.fd.io/r/#/c/10781/ Change-Id: I0423a4cfdf3f0654324118a1d34864a079bff5d1 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-01-31HC2VPP-280: make next-hop optional for impose-and-forwardMarek Gradzki1-8/+14
Next hop address is not mandatory in VPP CLI, e.g. ip route add 192.0.2.11/32 via loop0 out-labels 3 Also hc2vpp-ietf-routing-types@2017-02-27.yang defines it as optional. Change-Id: I6bd63a3ac75d40b14ae553e128b7ebe43dee5118 Signed-off-by: Marek Gradzki <mgradzki@cisco.com> (cherry picked from commit 710a7932be189a6bfc342b471efa1044f8a9798a)
2018-01-31Add direct update support for static lspMarek Gradzki1-0/+11
This is workaround for HONEYCOMB-421 (subtree writers + default update does not work well currently). Fixes HC2VPP-277 (at least basic scenarios). Change-Id: I7659436d6c376bdc63eaa36291d5c08792faad94 Signed-off-by: Marek Gradzki <mgradzki@cisco.com> (cherry picked from commit fc06ca33bc587ba2acff16e59645b3d386aa498d)
2017-11-23HC2VPP-259: add support for mpls swap-and-forwardMarek Gradzki6-83/+211
Limitations: - only IPv4 next hop address - swap is supported only for the last label in the stack - only single outgoing label is supported. Change-Id: I9479e3d322561ed94683bd206e7e7852250d788c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-23HC2VPP-259: add support for ipv4 lookupMarek Gradzki2-1/+97
Change-Id: Ic6a2da08a8839bb42366b124737bb5243671815b Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-23HC2VPP-259: add support for mpls lookupMarek Gradzki5-116/+317
Translates pop-and-lookup operation of /hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpl:mpls/ hc2vpp-ietf-mpls-static:static-lsps/static-lsp to mpls_route_add_del call. Configuring mpls lookup-type, as defined in vpp-mpls yang module, is required. Other lookup types (ipv4/ipv6) are not supported yet. Change-Id: If0580c6db69ee6c5f22a32bde031dbb6f852420f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-20HC2VPP-258: add support for MPLS label pushMarek Gradzki2-3/+197
Translates impose-and-forward operation of /hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpl:mpls/ hc2vpp-ietf-mpls-static:static-lsps/static-lsp to ip_add_del_route call. For single outgoing-label, use simple-path out-segment. For multiple outgoing labels, use path-list out-segment with single path (multiple path support is not implemented yet). See postman collection for examples. TODOs: - only IPv4 prefixes and next-hops are supported (HC2VPP-264). Change-Id: I318e722edbc1f7ffd3eff2f308fc73c2062283c0 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-07HC2VPP-257: MPLS interface managementMarek Gradzki3-0/+217
Translates /hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface to sw_interface_set_mpls_enable which is equivalent to: set interface mpls [...] enable MPLS table is created before configuring MPLS using mpls_table_add_del (required since VPP 17.10). Reading MPLS configuration state is not supported (VPP API is missing). Change-Id: I3f1b987c3669b0836a27649a711e75d0dc37a779 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>