Print this page
%B
*** 50,64 ****
--- 50,66 ----
#ifdef _BIG_ENDIAN
#define IP_HDR_CSUM_TTL_ADJUST 256
#define IP_TCP_CSUM_COMP IPPROTO_TCP
#define IP_UDP_CSUM_COMP IPPROTO_UDP
#define IP_ICMPV6_CSUM_COMP IPPROTO_ICMPV6
+ #define IP_DCCP_CSUM_COMP IPPROTO_DCCP
#else
#define IP_HDR_CSUM_TTL_ADJUST 1
#define IP_TCP_CSUM_COMP (IPPROTO_TCP << 8)
#define IP_UDP_CSUM_COMP (IPPROTO_UDP << 8)
#define IP_ICMPV6_CSUM_COMP (IPPROTO_ICMPV6 << 8)
+ #define IP_DCCP_CSUM_COMP (IPPROTO_DCCP << 8)
#endif
#define TCP_CHECKSUM_OFFSET 16
#define TCP_CHECKSUM_SIZE 2
*** 66,84 ****
--- 68,92 ----
#define UDP_CHECKSUM_SIZE 2
#define ICMPV6_CHECKSUM_OFFSET 2
#define ICMPV6_CHECKSUM_SIZE 2
+ #define DCCP_CHECKSUM_OFFSET 6
+ #define DCCP_CHECKSUM_SIZE 2
+
#define IPH_TCPH_CHECKSUMP(ipha, hlen) \
((uint16_t *)(((uchar_t *)(ipha)) + ((hlen) + TCP_CHECKSUM_OFFSET)))
#define IPH_UDPH_CHECKSUMP(ipha, hlen) \
((uint16_t *)(((uchar_t *)(ipha)) + ((hlen) + UDP_CHECKSUM_OFFSET)))
#define IPH_ICMPV6_CHECKSUMP(ipha, hlen) \
((uint16_t *)(((uchar_t *)(ipha)) + ((hlen) + ICMPV6_CHECKSUM_OFFSET)))
+ #define IPH_DCCPH_CHECKSUMP(ipha, hlen) \
+ ((uint16_t *)(((uchar_t *)(ipha)) + ((hlen) + DCCP_CHECKSUM_OFFSET)))
+
#define ILL_HCKSUM_CAPABLE(ill) \
(((ill)->ill_capabilities & ILL_CAPAB_HCKSUM) != 0)
/*
* Macro to adjust a given checksum value depending on any prepended