summaryrefslogtreecommitdiffstats
path: root/mpls/impl/src
AgeCommit message (Collapse)AuthorFilesLines
2018-05-11HC2VPP-297 - MPLS model updatesMichal Cmarada12-154/+232
This patch updates MPLS models to: - hc2vpp-ietf-mpls-static@2017-07-02.yang (draft at: https://tools.ietf.org/html/draft-ietf-mpls-static-yang-05) Due to odl bugs these models were changed, see HC2VPP-307 for more details. see mpls_postman_collection.json for examples and usage Summary of changes: - leaf operation in static-lsp->config was replaced with mpls-operations-type - paths were refactored and moved to static-lsp - outgoing-labels container was introduced in static-lsp->paths - MPLS docker demo was updated to reflect model changes Change-Id: I725ec5e4b3a1acea2aeabec41185949fc498ff26 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-05-09HC2VPP-253 - Bump routing modelsMichal Cmarada8-13/+13
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 Gradzki8-14/+27
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 Gradzki2-10/+35
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 Gradzki2-4/+28
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 Gradzki11-109/+347
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 Gradzki3-1/+225
Change-Id: Ic6a2da08a8839bb42366b124737bb5243671815b Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-23HC2VPP-259: add support for mpls lookupMarek Gradzki7-119/+448
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 Gradzki3-3/+369
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 Gradzki4-0/+330
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>