X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fmpls%2Fmpls.api;h=7d38ffc5bdce3ed2e01b026dcc07744552c6cd7e;hb=6a30b5f9182a44989e97bbc044f29adccdef09b2;hp=ce8fbe79afcd21c0c601190b2bf738f7db85b765;hpb=b8d4481a93f919291d4b682ef0ac8948a9f1be32;p=vpp.git diff --git a/src/vnet/mpls/mpls.api b/src/vnet/mpls/mpls.api index ce8fbe79afc..7d38ffc5bdc 100644 --- a/src/vnet/mpls/mpls.api +++ b/src/vnet/mpls/mpls.api @@ -13,7 +13,8 @@ * limitations under the License. */ -vl_api_version 1.0.1 +option version = "1.1.0"; +import "vnet/fib/fib_types.api"; /** \brief Bind/Unbind an MPLS local label to an IP prefix. i.e. create a per-prefix label entry. @@ -22,7 +23,6 @@ vl_api_version 1.0.1 @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 @@ -35,28 +35,12 @@ autoreply define mpls_ip_bind_unbind 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 MPLS tunnel Add / del route - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param mt_is_add - Is this a route add or delete - @param mt_sw_if_index - The SW interface index of the tunnel to delete - @param mt_is_multicast - Is the tunnel's underlying LSP multicast - @param mt_next_hop_proto_is_ip4 - The next-hop is IPV4 - @param mt_next_hop_weight - The weight, for UCMP - @param mt_next_hop_preference - The preference - @param mt_next_hop[16] - the nextop address - @param mt_next_hop_sw_if_index - the next-hop SW interface - @param mt_next_hop_table_id - the next-hop table-id (if appropriate) - @param mt_next_hop_n_out_labels - the number of next-hop output labels - @param mt_next_hop_out_label_stack - the next-hop output label stack, outer most first -*/ define mpls_tunnel_add_del { u32 client_index; @@ -70,9 +54,10 @@ define mpls_tunnel_add_del u8 mt_next_hop_preference; u8 mt_next_hop[16]; u8 mt_next_hop_n_out_labels; + u32 mt_next_hop_via_label; u32 mt_next_hop_sw_if_index; u32 mt_next_hop_table_id; - u32 mt_next_hop_out_label_stack[mt_next_hop_n_out_labels]; + vl_api_fib_mpls_label_t mt_next_hop_out_label_stack[mt_next_hop_n_out_labels]; }; /** \brief Reply for MPLS tunnel add / del request @@ -98,45 +83,17 @@ define mpls_tunnel_dump i32 tunnel_index; }; -/** \brief FIB path - @param sw_if_index - index of the interface - @param weight - The weight, for UCMP - @param is_local - local if non-zero, else remote - @param is_drop - Drop the packet - @param is_unreach - Drop the packet and rate limit send ICMP unreachable - @param is_prohibit - Drop the packet and rate limit send ICMP prohibited - @param afi - the afi of the next hop, IP46_TYPE_IP4=1, IP46_TYPE_IP6=2 - @param next_hop[16] - the next hop address - - WARNING: this type is replicated, pending cleanup completion - -*/ -typeonly manual_print manual_endian define fib_path2 -{ - u32 sw_if_index; - u32 table_id; - u8 weight; - u8 preference; - u8 is_local; - u8 is_drop; - u8 is_unreach; - u8 is_prohibit; - u8 afi; - u8 next_hop[16]; - u32 labels[16]; -}; - /** \brief mpls tunnel details */ manual_endian manual_print define mpls_tunnel_details { u32 context; - u8 mt_sw_if_index; + u32 mt_sw_if_index; u8 mt_tunnel_index; u8 mt_l2_only; u8 mt_is_multicast; u32 mt_count; - vl_api_fib_path2_t mt_paths[mt_count]; + vl_api_fib_path_t mt_paths[mt_count]; }; /** \brief MPLS Route Add / del route @@ -165,7 +122,6 @@ autoreply define mpls_table_add_del @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 @@ -186,7 +142,7 @@ autoreply define mpls_table_add_del @param mr_next_hop_out_label_stack - the next-hop output label stack, outer most first @param next_hop_via_label - The next-hop is a resolved via a local label */ -autoreply define mpls_route_add_del +define mpls_route_add_del { u32 client_index; u32 context; @@ -194,7 +150,6 @@ autoreply define mpls_route_add_del 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_multicast; @@ -211,7 +166,14 @@ autoreply define mpls_route_add_del u32 mr_next_hop_sw_if_index; u32 mr_next_hop_table_id; u32 mr_next_hop_via_label; - u32 mr_next_hop_out_label_stack[mr_next_hop_n_out_labels]; + vl_api_fib_mpls_label_t mr_next_hop_out_label_stack[mr_next_hop_n_out_labels]; +}; + +define mpls_route_add_del_reply +{ + u32 context; + i32 retval; + u32 stats_index; }; /** \brief Dump MPLS fib table @@ -238,7 +200,7 @@ manual_endian manual_print define mpls_fib_details u8 eos_bit; u32 label; u32 count; - vl_api_fib_path2_t path[count]; + vl_api_fib_path_t path[count]; }; /** \brief Enable or Disable MPLS on and interface