40 #define IP_FRAG_FLAG_IP4_HEADER 0x01 //Encapsulating IPv4 header 41 #define IP_FRAG_FLAG_IP6_HEADER 0x02 //Encapsulating IPv6 header 43 #define IP4_FRAG_NODE_NAME "ip4-frag" 44 #define IP6_FRAG_NODE_NAME "ip6-frag" 64 #define foreach_ip_frag_error \ 66 _(NONE, "packet fragmented") \ 67 _(SMALL_PACKET, "packet smaller than MTU") \ 68 _(FRAGMENT_SENT, "number of sent fragments") \ 69 _(CANT_FRAGMENT_HEADER, "can't fragment header") \ 70 _(DONT_FRAGMENT_SET, "can't fragment this packet") \ 71 _(MALFORMED, "malformed packet") \ 72 _(MEMORY, "could not allocate buffer") \ 73 _(UNKNOWN, "unknown error") 76 #define _(sym,str) IP_FRAG_ERROR_##sym, vlib_node_registration_t ip4_frag_node
(constructor) VLIB_REGISTER_NODE (ip4_frag_node)
#define foreach_ip_frag_error
struct _vlib_node_registration vlib_node_registration_t
vlib_node_registration_t ip6_frag_node
(constructor) VLIB_REGISTER_NODE (ip6_frag_node)
template key/value backing page structure
void ip_frag_set_vnet_buffer(vlib_buffer_t *b, u16 offset, u16 mtu, u8 next_index, u8 flags)