X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvnet%2Fip%2Fip.h;h=9ebefa0cf5d870bf2a9d0b4559641e4f7418b00a;hb=e22a70416;hp=3fa97267b3658ebfc0b912715610b08938c51364;hpb=59f71132edffcfa1b94c400736575bd55bdbd7d7;p=vpp.git diff --git a/src/vnet/ip/ip.h b/src/vnet/ip/ip.h index 3fa97267b36..9ebefa0cf5d 100644 --- a/src/vnet/ip/ip.h +++ b/src/vnet/ip/ip.h @@ -51,19 +51,18 @@ #include #include #include +#include #include #include #include #include -#include #include #include #include #include -#include #include /* Per protocol info. */ @@ -267,8 +266,11 @@ void ip_table_create (fib_protocol_t fproto, u32 table_id, u8 is_api, void ip_table_delete (fib_protocol_t fproto, u32 table_id, u8 is_api); -int ip_table_bind (fib_protocol_t fproto, u32 sw_if_index, - u32 table_id, u8 is_api); +void fib_table_bind (fib_protocol_t fproto, u32 sw_if_index, u32 fib_index); +void mfib_table_bind (fib_protocol_t fproto, u32 sw_if_index, u32 mfib_index); +int ip_table_bind (fib_protocol_t fproto, u32 sw_if_index, u32 table_id); + +u32 ip_table_get_unused_id (fib_protocol_t fproto); u8 ip_is_zero (ip46_address_t * ip46_address, u8 is_ip4); u8 ip_is_local_host (ip46_address_t * ip46_address, u8 is_ip4); @@ -278,6 +280,16 @@ u8 ip_is_local (u32 fib_index, ip46_address_t * ip46_address, u8 is_ip4); void ip_copy (ip46_address_t * dst, ip46_address_t * src, u8 is_ip4); void ip_set (ip46_address_t * dst, void *src, u8 is_ip4); +void ip_feature_enable_disable (ip_address_family_t af, + ip_sub_address_family_t safi, + ip_feature_location_t loc, + const char *feature, + u32 sw_if_index, int enable_disable, + void *feature_config, + u32 n_feature_config_bytes); + +ethernet_type_t ip_address_family_to_ether_type (ip_address_family_t af); + always_inline u32 vlib_buffer_get_ip4_fib_index (vlib_buffer_t * b); always_inline u32 vlib_buffer_get_ip6_fib_index (vlib_buffer_t * b); always_inline u32