16 #ifndef included_pnat_h 17 #define included_pnat_h 23 #define PNAT_FLOW_HASH_BUCKETS 256 26 #include <pnat/pnat.api_types.h> 124 (
u64)protocol << 56 | (
u64)sw_if_index << 36 | (
u64)attachment << 32;
125 kv->
key[1] |= (
u32)sport << 16 | dport;
pnat_rewrite_tuple_t rewrite
int pnat_binding_detach(u32 sw_if_index, pnat_attachment_point_t attachment, u32 binding_index)
pnat_rewrite_tuple_t rewrite
vl_api_ip_proto_t protocol
clib_bihash_16_8_t flowhash
pnat_instructions_t instructions
vl_api_pnat_attachment_point_t pnat_attachment_point_t
vl_api_pnat_mask_t pnat_mask_t
pnat_translation_t * translations
vl_api_interface_index_t sw_if_index
u32 pnat_flow_lookup(u32 sw_if_index, pnat_attachment_point_t attachment, pnat_match_tuple_t *match)
vl_api_pnat_rewrite_tuple_t pnat_rewrite_tuple_t
pnat_interface_t * pnat_interface_by_sw_if_index(u32 sw_if_index)
vl_api_pnat_match_tuple_t pnat_match_tuple_t
static void pnat_calc_key(u32 sw_if_index, pnat_attachment_point_t attachment, ip4_address_t src, ip4_address_t dst, u8 protocol, u16 sport, u16 dport, pnat_mask_fast_t mask, clib_bihash_kv_16_8_t *kv)
int pnat_binding_del(u32 binding_index)
pnat_interface_t * interfaces
int pnat_binding_add(pnat_match_tuple_t *match, pnat_rewrite_tuple_t *rewrite, u32 *binding_index)
u32 * interface_by_sw_if_index
int pnat_binding_attach(u32 sw_if_index, pnat_attachment_point_t attachment, u32 binding_index)