X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip_frag.h;h=86462e6c7d2228242a9592eadfbe0cc3edb74169;hb=f5d38e05ac6c9c56311eb4d75ca2644d592ae535;hp=9d19299e2a51fdbce2b7b428d03dc2cf76c0b5ba;hpb=e95d1a1a081e96989740eb1b46ed83ffb6fa0cc0;p=vpp.git diff --git a/src/vnet/ip/ip_frag.h b/src/vnet/ip/ip_frag.h index 9d19299e2a5..86462e6c7d2 100644 --- a/src/vnet/ip/ip_frag.h +++ b/src/vnet/ip/ip_frag.h @@ -48,20 +48,14 @@ extern vlib_node_registration_t ip6_frag_node; typedef enum { - IP4_FRAG_NEXT_IP4_LOOKUP, - IP4_FRAG_NEXT_IP6_LOOKUP, - IP4_FRAG_NEXT_ICMP_ERROR, - IP4_FRAG_NEXT_DROP, - IP4_FRAG_N_NEXT -} ip4_frag_next_t; - -typedef enum -{ - IP6_FRAG_NEXT_IP4_LOOKUP, - IP6_FRAG_NEXT_IP6_LOOKUP, - IP6_FRAG_NEXT_DROP, - IP6_FRAG_N_NEXT -} ip6_frag_next_t; + IP_FRAG_NEXT_IP_REWRITE, + IP_FRAG_NEXT_IP_REWRITE_MIDCHAIN, + IP_FRAG_NEXT_IP4_LOOKUP, + IP_FRAG_NEXT_IP6_LOOKUP, + IP_FRAG_NEXT_ICMP_ERROR, + IP_FRAG_NEXT_DROP, + IP_FRAG_N_NEXT +} ip_frag_next_t; #define foreach_ip_frag_error \ /* Must be first. */ \ @@ -82,14 +76,18 @@ typedef enum IP_FRAG_N_ERROR, } ip_frag_error_t; -void ip_frag_set_vnet_buffer (vlib_buffer_t * b, u16 offset, u16 mtu, +void ip_frag_set_vnet_buffer (vlib_buffer_t * b, u16 mtu, u8 next_index, u8 flags); -void -ip4_frag_do_fragment (vlib_main_t * vm, u32 pi, u32 ** buffer, - ip_frag_error_t * error); -void -ip6_frag_do_fragment (vlib_main_t * vm, u32 pi, u32 ** buffer, - ip_frag_error_t * error); + +extern ip_frag_error_t ip4_frag_do_fragment (vlib_main_t * vm, + u32 from_bi, + u16 mtu, + u16 encapsize, u32 ** buffer); +extern ip_frag_error_t ip6_frag_do_fragment (vlib_main_t * vm, + u32 from_bi, + u16 mtu, + u16 encapsize, u32 ** buffer); + #endif /* ifndef IP_FRAG_H */ /*