X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fbier%2Fbier.api;h=0cc56cab50a948303c8107353f7babe4fca5aaf4;hb=097fa66b9;hp=466524cc6a3a142797fb8cd4499d51c601c0858a;hpb=d792d9c01e60656cbfe1b0f1fd6a9b125f5dab0c;p=vpp.git diff --git a/src/vnet/bier/bier.api b/src/vnet/bier/bier.api index 466524cc6a3..0cc56cab50a 100644 --- a/src/vnet/bier/bier.api +++ b/src/vnet/bier/bier.api @@ -1,3 +1,4 @@ +/* Hey Emacs use -*- mode: C -*- */ /* * Copyright (c) 2016 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,12 +19,13 @@ This file defines vpp BIER control-plane API messages which are generally called through a shared memory interface. */ -vl_api_version 1.0.0 +option version = "1.2.0"; +import "vnet/fib/fib_types.api"; -/** \brief BIER Table Indentifier - @param bt_set - @param bt_sub_domain - @param bt_bit_header_length +/** \brief BIER Table Identifier + @param bt_set - The BIER set + @param bt_sub_domain - the sud-domain + @param bt_bit_header_length - the number of bits in the header length */ typeonly define bier_table_id { @@ -36,7 +38,9 @@ typeonly define bier_table_id @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param bt_tbl_id - The BIER table-id the route is added in - @param bt_mpls_label - The MPLS label for the table + @param bt_label - The MPLS label for the table (0 or all ones means not set) + If the label is not set, then it is assumed that non-MPLS + encoding is used. @param bt_is_add - Is this a route add or delete */ autoreply define bier_table_add_del @@ -61,57 +65,34 @@ define bier_table_details vl_api_bier_table_id_t bt_tbl_id; }; -/** \brief FIB path - @param sw_if_index - index of the interface - @param weight - The weight, for UCMP - @param preference - The preference of the path. lowest preference is prefered - @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 define fib_path3 -{ - 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 rpf_id; - u8 n_labels; - u32 label_stack[16]; -}; - /** \brief BIER Route Add / del route @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param br_bp - The Bit-position value @param br_tbl_id - The BIER table-id the route is added in @param br_is_add - Is this a route add or delete - @param br_is_replace - Are the paths specfied replacing those already + @param br_is_replace - Are the paths specified replacing those already present or are they to be combined. + is_replace = 1 and n_paths=0 implies delete the + route and all paths; @param br_n_paths - The number of paths @param br_paths - The array of paths */ +typedef bier_route +{ + u32 br_bp; + vl_api_bier_table_id_t br_tbl_id; + u8 br_n_paths; + vl_api_fib_path_t br_paths[br_n_paths]; +}; + autoreply define bier_route_add_del { u32 client_index; u32 context; - u16 br_bp; u8 br_is_add; u8 br_is_replace; - vl_api_bier_table_id_t br_tbl_id; - u8 br_n_paths; - vl_api_fib_path3_t br_paths[br_n_paths]; + vl_api_bier_route_t br_route; }; define bier_route_dump @@ -123,12 +104,8 @@ define bier_route_dump define bier_route_details { - u32 client_index; u32 context; - u16 br_bp; - vl_api_bier_table_id_t br_tbl_id; - u32 br_n_paths; - vl_api_fib_path3_t br_paths[br_n_paths]; + vl_api_bier_route_t br_route; }; /** \brief BIER Imposition Add @@ -136,9 +113,10 @@ define bier_route_details @param context - sender context, to match reply w/ request @param bi_tbl_id - The BIER table-id used to forward post encap @param bi_src - The source Bit-position in the encap. - @param bi_is_add - Is this a route add or delete - @param bi_n_bytes - The number of bytes in the following bit-string - @param bi_bytes - The bit-string represented as a byte array + @param bi_n_bytes - The number of bytes in the following bit-string. + VPP only supports BSL of 1024 and less, so this is + a u8 field. + @param bi_bytes - The bit-string represented as a byte array (MSB first) */ define bier_imp_add { @@ -146,7 +124,6 @@ define bier_imp_add u32 context; vl_api_bier_table_id_t bi_tbl_id; u16 bi_src; - u8 bi_is_add; u8 bi_n_bytes; u8 bi_bytes[bi_n_bytes]; }; @@ -184,7 +161,6 @@ define bier_imp_dump define bier_imp_details { - u32 client_index; u32 context; vl_api_bier_table_id_t bi_tbl_id; u16 bi_src; @@ -220,16 +196,14 @@ define bier_disp_table_details /** \brief BIER Disposition Entry Add / del @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request - @param bde_bp - The Bit-position value for the entry - @param bde_tbl_id - The BIER dispositiontable-id the route is added in - @param bde_next_hop_sw_if_index - the nextop interface + @param bde_bp - The Bit-position value for the entry, i.e. the sender's + Use 0 for the default (match any source) entry. + @param bde_tbl_id - The BIER disposition table-id the route is added in + @param bde_next_hop_sw_if_index - the next hop interface @param bde_is_add - Is this a route add or delete @param bde_payload_proto - The payload protocol for which the next-hop is added - @param bde_next_hop_table_id - The table ID for the next-hop - @param bde_next_hop_proto_is_ip4 - The next-hop is IPV4 - @param bde_next_hop[16] - the nextop address. - Set this to all 0s for dispostion. + @param bde_paths - The outgoing paths for the entry */ autoreply define bier_disp_entry_add_del { @@ -240,7 +214,7 @@ autoreply define bier_disp_entry_add_del u8 bde_is_add; u8 bde_payload_proto; u8 bde_n_paths; - vl_api_fib_path3_t bde_paths[bde_n_paths]; + vl_api_fib_path_t bde_paths[bde_n_paths]; }; define bier_disp_entry_dump @@ -258,7 +232,7 @@ define bier_disp_entry_details u8 bde_is_add; u8 bde_payload_proto; u8 bde_n_paths; - vl_api_fib_path3_t bde_paths[bde_n_paths]; + vl_api_fib_path_t bde_paths[bde_n_paths]; }; /*