40 #ifndef included_ip_packet_h 41 #define included_ip_packet_h 48 #define ip_protocol(n,s) IP_PROTOCOL_##s = n, 56 #define ip_port(s,n) IP_PORT_##s = n, 69 #define foreach_ip_builtin_multicast_group \ 70 _ (1, all_hosts_on_subnet) \ 71 _ (2, all_routers_on_subnet) \ 73 _ (5, ospf_all_routers) \ 74 _ (6, ospf_designated_routers) \ 82 #define _(n,f) IP_MULTICAST_GROUP_##f = n, 124 u32 field_byte_offset,
u32 field_n_bytes)
128 if ((field_n_bytes % 2)
139 #define ip_csum_update(sum,old,new,type,field) \ 140 ip_csum_update_inline ((sum), (old), (new), \ 141 STRUCT_OFFSET_OF (type, field), \ 142 STRUCT_SIZE_OF (type, field)) 150 c = (c & 0xffff) + (c >> 16);
153 c = (c & 0xffff) + (c >> 16);
154 c = (c & 0xffff) + (c >> 16);
#define CLIB_ARCH_IS_LITTLE_ENDIAN
static ip_csum_t ip_csum_with_carry(ip_csum_t sum, ip_csum_t x)
static u16 ip_csum_and_memcpy_fold(ip_csum_t sum, void *dst)
static ip_csum_t ip_csum_update_inline(ip_csum_t sum, ip_csum_t old, ip_csum_t new, u32 field_byte_offset, u32 field_n_bytes)
enum ip_protocol ip_protocol_t
ip_csum_t ip_incremental_checksum(ip_csum_t sum, void *data, uword n_bytes)
static ip_csum_t ip_csum_sub_even(ip_csum_t c, ip_csum_t x)
ip_csum_t ip_csum_and_memcpy(ip_csum_t sum, void *dst, void *src, uword n_bytes)
#define foreach_ip_builtin_multicast_group
static u16 ip_csum_fold(ip_csum_t c)
static ip_csum_t ip_csum_add_even(ip_csum_t c, ip_csum_t x)