MPLS Unifom mode
[vpp.git] / src / vnet / fib / fib_types.api
index 61a0898..fde2c33 100644 (file)
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+/** \brief MPLS label
+*/
+typeonly define fib_mpls_label
+{
+  u8 is_uniform;
+  u32 label;
+  u8 ttl;
+  u8 exp;
+};
 
 /** \brief FIB path
     @param sw_if_index - index of the interface
@@ -20,6 +30,8 @@
     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 is_udp_encap - The path describes a UDP-o-IP encapsulation.
     @param afi - the afi of the next hop, IP46_TYPE_IP4=1, IP46_TYPE_IP6=2
     @param next_hop[16] - the next hop address
@@ -27,7 +39,7 @@
                          that has a unique identifier. e.g. the UDP
                          encap object
 */
-typeonly define fib_path3
+typeonly define fib_path
 {
   u32 sw_if_index;
   u32 table_id;
@@ -36,10 +48,12 @@ typeonly define fib_path3
   u8 is_local;
   u8 is_drop;
   u8 is_udp_encap;
+  u8 is_unreach;
+  u8 is_prohibit;
   u8 afi;
   u8 next_hop[16];
   u32 next_hop_id;
   u32 rpf_id;
   u8 n_labels;
-  u32 label_stack[16];
+  vl_api_fib_mpls_label_t label_stack[16];
 };