5#ifndef _RTE_NET_PTYPE_H_
6#define _RTE_NET_PTYPE_H_
25 uint16_t inner_l3_len;
53rte_net_skip_ip6_ext(uint16_t proto,
const struct rte_mbuf *m, uint32_t *off,
87uint32_t rte_net_get_ptype(
const struct rte_mbuf *m,
111rte_net_intel_cksum_flags_prepare(
struct rte_mbuf *m, uint64_t ol_flags)
118 struct rte_ipv4_hdr *ipv4_hdr = NULL;
119 struct rte_ipv6_hdr *ipv6_hdr;
122 uint64_t inner_l3_offset = m->
l2_len;
129 if (!(ol_flags & (inner_requests | outer_requests)))
141 ipv4_hdr->hdr_checksum = 0;
147 udp_hdr = (
struct rte_udp_hdr *)((
char *)ipv4_hdr +
152 else if (ipv4_hdr->next_proto_id == IPPROTO_UDP)
162 else if (ipv6_hdr->proto == IPPROTO_UDP)
182 ipv4_hdr->hdr_checksum = 0;
188 udp_hdr = (
struct rte_udp_hdr *)((
char *)ipv4_hdr +
194 struct rte_ipv6_hdr *, inner_l3_offset);
198 inner_l3_offset + m->
l3_len);
206 tcp_hdr = (
struct rte_tcp_hdr *)((
char *)ipv4_hdr +
212 struct rte_ipv6_hdr *, inner_l3_offset);
216 inner_l3_offset + m->
l3_len);
244rte_net_intel_cksum_prepare(
struct rte_mbuf *m)
246 return rte_net_intel_cksum_flags_prepare(m, m->
ol_flags);
static uint16_t rte_ipv4_phdr_cksum(const struct rte_ipv4_hdr *ipv4_hdr, uint64_t ol_flags)
static uint16_t rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr *ipv6_hdr, uint64_t ol_flags)
#define rte_pktmbuf_data_len(m)
#define RTE_MBUF_F_TX_OUTER_UDP_CKSUM
#define RTE_MBUF_F_TX_OUTER_IP_CKSUM
#define RTE_MBUF_F_TX_UDP_SEG
#define RTE_MBUF_F_TX_IP_CKSUM
#define RTE_MBUF_F_TX_OUTER_IPV6
#define RTE_MBUF_F_TX_TCP_SEG
#define RTE_MBUF_F_TX_L4_MASK
#define RTE_MBUF_F_TX_OUTER_IPV4
#define RTE_MBUF_F_TX_TCP_CKSUM
#define RTE_MBUF_F_TX_IPV4
#define rte_pktmbuf_mtod_offset(m, t, o)
#define RTE_MBUF_F_TX_UDP_CKSUM