diff options
author | Neale Ranns <neale.ranns@cisco.com> | 2016-10-16 12:01:42 -0700 |
---|---|---|
committer | Ed Warnicke <hagbard@gmail.com> | 2016-10-18 20:44:22 +0000 |
commit | 1357f3b175b4d5b05fb25e9be356695fea9f7e35 (patch) | |
tree | 0f2d0b1461d53cf4e9804cd6cd4e7ff8f7722680 /vpp/vpp-api/vpe.api | |
parent | 2b39a00795232bdbe68487d2eb9bccf0435b886e (diff) |
Deprecate MPLSoGRE tunnels (VPP-502)
Add shared memory APIs for MPLS routes and MPLS to IP prefix bindings.
Change-Id: I85b074a4dadc8249c410fdabd8ea019d20479cf8
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Diffstat (limited to 'vpp/vpp-api/vpe.api')
-rw-r--r-- | vpp/vpp-api/vpe.api | 223 |
1 files changed, 117 insertions, 106 deletions
diff --git a/vpp/vpp-api/vpe.api b/vpp/vpp-api/vpe.api index 0fe9d200..ac84bdc5 100644 --- a/vpp/vpp-api/vpe.api +++ b/vpp/vpp-api/vpe.api @@ -367,6 +367,120 @@ define create_vlan_subif_reply u32 sw_if_index; }; +/** \brief MPLS Route Add / del route + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param mr_label - The MPLS label value + @param mr_eos - The End of stack bit + @param mr_table_id - The MPLS table-id the route is added in + @param mr_classify_table_index - If this is a classify route, + this is the classify table index + @param mr_create_table_if_needed - If the MPLS or IP tables do not exist, + create them + @param mr_is_add - Is this a route add or delete + @param mr_is_classify - Is this route result a classify + @param mr_is_multipath - Is this route update a multipath - i.e. is this + a path addition to an existing route + @param mr_is_resolve_host - Recurse resolution constraint via a host prefix + @param mr_is_resolve_attached - Recurse resolution constraint via attached prefix + @param mr_next_hop_proto_is_ip4 - The next-hop is IPV4 + @param mr_next_hop_weight - The weight, for UCMP + @param mr_next_hop[16] - the nextop address + @param mr_next_hop_sw_if_index - the next-hop SW interface + @param mr_next_hop_table_id - the next-hop table-id (if appropriate) + @param mr_next_hop_out_label - the next-hop output label +*/ +define mpls_route_add_del +{ + u32 client_index; + u32 context; + u32 mr_label; + u8 mr_eos; + u32 mr_table_id; + u32 mr_classify_table_index; + u8 mr_create_table_if_needed; + u8 mr_is_add; + u8 mr_is_classify; + u8 mr_is_multipath; + u8 mr_is_resolve_host; + u8 mr_is_resolve_attached; + u8 mr_next_hop_proto_is_ip4; + u8 mr_next_hop_weight; + u8 mr_next_hop[16]; + u32 mr_next_hop_sw_if_index; + u32 mr_next_hop_table_id; + u32 mr_next_hop_out_label; +}; + +/** \brief Reply for MPLS route add / del request + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define mpls_route_add_del_reply +{ + u32 context; + i32 retval; +}; + +/** \brief Dump MPLS fib table + @param client_index - opaque cookie to identify the sender +*/ +define mpls_fib_dump +{ + u32 client_index; + u32 context; +}; + +/** \brief mpls FIB table response + @param table_id - MPLS fib table id + @param s_bit - End-of-stack bit + @param label - MPLS label value +*/ +define mpls_fib_details +{ + u32 context; + u32 table_id; + u8 eos_bit; + u32 label; +}; + +/** \brief Bind/Unbind an MPLS local label to an IP prefix. i.e. create + a per-prefix label entry. + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param mb_mpls_table_id - The MPLS table-id the MPLS entry will be added in + @param mb_label - The MPLS label value to bind + @param mb_ip_table_id - The IP table-id of the IP prefix to bind to. + @param mb_create_table_if_needed - Create either/both tables if required. + @param mb_is_bind - Bind or unbind + @param mb_is_ip4 - The prefix to bind to is IPv4 + @param mb_address_length - Length of IP prefix + @param mb_address[16] - IP prefix/ +*/ +define mpls_ip_bind_unbind +{ + u32 client_index; + u32 context; + u32 mb_mpls_table_id; + u32 mb_label; + u32 mb_ip_table_id; + u8 mb_create_table_if_needed; + u8 mb_is_bind; + u8 mb_is_ip4; + u8 mb_address_length; + u8 mb_address[16]; +}; + +/** \brief Reply for MPLS IP bind/unbind request + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define mpls_ip_bind_unbind_reply +{ + u32 context; + i32 retval; +}; + /** \brief Add / del route request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -394,10 +508,11 @@ define ip_add_del_route u32 client_index; u32 context; u32 next_hop_sw_if_index; - u32 vrf_id; - u32 lookup_in_vrf; + u32 table_id; u32 resolve_attempts; u32 classify_table_index; + u32 next_hop_out_label; + u32 next_hop_table_id; u8 create_vrf_if_needed; u8 resolve_if_needed; u8 is_add; @@ -426,44 +541,6 @@ define ip_add_del_route_reply i32 retval; }; -/* works */ -/** \brief Add / del gre tunnel request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - software index of the new vlan's parent interface - @param inner_vrf_id - - @param outer_vrf_id - - @param is_add - 1 if adding the tunnel, 0 if deleting - @param src_address[4] - tunnel source address - @param dst_address[4] - tunnel destination address - @param intf_address - - @param intf_address_length - -*/ -define mpls_gre_add_del_tunnel -{ - u32 client_index; - u32 context; - u32 inner_vrf_id; - u32 outer_vrf_id; - u8 is_add; - u8 l2_only; - u8 src_address[4]; - u8 dst_address[4]; - u8 intfc_address[4]; - u8 intfc_address_length; -}; - -/** \brief Reply for add / del tunnel request - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define mpls_gre_add_del_tunnel_reply -{ - u32 context; - i32 retval; - u32 tunnel_sw_if_index; -}; - /** \brief Add / del MPLS encapsulation request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -495,38 +572,6 @@ define mpls_add_del_encap_reply i32 retval; }; -/** \brief Add / del MPLS decapsulation request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param rx_vrf_id - receive vrf - @param tx_vrf_id - transmit vrf - @param label - - @param next_index - - @param s_bit - - @param is_add - 1 if adding the encap, 0 if deleting -*/ -define mpls_add_del_decap -{ - u32 client_index; - u32 context; - u32 rx_vrf_id; - u32 tx_vrf_id; - u32 label; - u32 next_index; - u8 s_bit; - u8 is_add; -}; - -/** \brief Reply for MPLS decap add / del request - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define mpls_add_del_decap_reply -{ - u32 context; - i32 retval; -}; - /** \brief Proxy ARP add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -4522,40 +4567,6 @@ define mpls_fib_encap_details u32 labels[nlabels]; }; -/** \brief Dump mpls fib decap table - @param client_index - opaque cookie to identify the sender - @param fib_index - mpls fib entry identifier or -1 in case of all entries -*/ -define mpls_fib_decap_dump -{ - u32 client_index; - u32 context; -}; - -/** \brief mpls fib decap table response - @param fib_index - fib table id - @param entry_index - reference to mpls label table - @param dest - destination ipv4 addr - @param s_bit - - @param label - mpls labels - @param rx_table_id - rx fib id - @param tx_table_id - tx fib id - @param swif_tag - -*/ -define mpls_fib_decap_details -{ - u32 context; - - u32 fib_index; - u32 entry_index; - u32 dest; - u32 s_bit; - u32 label; - u32 rx_table_id; - u32 tx_table_id; - u8 swif_tag[8]; -}; - /** \brief Classify get table IDs request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request |