return RTE_PTYPE_TUNNEL_GRE;
}
case IPPROTO_IPIP:
- *proto = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4);
+ *proto = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4);
return RTE_PTYPE_TUNNEL_IP;
case IPPROTO_IPV6:
- *proto = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv6);
+ *proto = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV6);
return RTE_PTYPE_TUNNEL_IP; /* IP is also valid for IPv6 */
default:
return 0;
/* get the ipv4 header length */
static uint8_t
-ip4_hlen(const struct ipv4_hdr *hdr)
+ip4_hlen(const struct rte_ipv4_hdr *hdr)
{
return (hdr->version_ihl & 0xf) * 4;
}
/* parse ipv6 extended headers, update offset and return next proto */
-int __rte_experimental
+int
rte_net_skip_ip6_ext(uint16_t proto, const struct rte_mbuf *m, uint32_t *off,
int *frag)
{
if ((layers & RTE_PTYPE_L2_MASK) == 0)
return 0;
- if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4))
+ if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4))
goto l3; /* fast path if packet is IPv4 */
if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN)) {
} else if ((proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_MPLS)) ||
(proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_MPLSM))) {
unsigned int i;
- const struct mpls_hdr *mh;
- struct mpls_hdr mh_copy;
+ const struct rte_mpls_hdr *mh;
+ struct rte_mpls_hdr mh_copy;
#define MAX_MPLS_HDR 5
for (i = 0; i < MAX_MPLS_HDR; i++) {
if ((layers & RTE_PTYPE_L3_MASK) == 0)
return pkt_type;
- if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4)) {
- const struct ipv4_hdr *ip4h;
- struct ipv4_hdr ip4h_copy;
+ if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4)) {
+ const struct rte_ipv4_hdr *ip4h;
+ struct rte_ipv4_hdr ip4h_copy;
ip4h = rte_pktmbuf_read(m, off, sizeof(*ip4h), &ip4h_copy);
if (unlikely(ip4h == NULL))
return pkt_type;
if (ip4h->fragment_offset & rte_cpu_to_be_16(
- IPV4_HDR_OFFSET_MASK | IPV4_HDR_MF_FLAG)) {
+ RTE_IPV4_HDR_OFFSET_MASK | RTE_IPV4_HDR_MF_FLAG)) {
pkt_type |= RTE_PTYPE_L4_FRAG;
hdr_lens->l4_len = 0;
return pkt_type;
}
proto = ip4h->next_proto_id;
pkt_type |= ptype_l4(proto);
- } else if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv6)) {
- const struct ipv6_hdr *ip6h;
- struct ipv6_hdr ip6h_copy;
+ } else if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV6)) {
+ const struct rte_ipv6_hdr *ip6h;
+ struct rte_ipv6_hdr ip6h_copy;
int frag = 0;
ip6h = rte_pktmbuf_read(m, off, sizeof(*ip6h), &ip6h_copy);
}
if ((pkt_type & RTE_PTYPE_L4_MASK) == RTE_PTYPE_L4_UDP) {
- hdr_lens->l4_len = sizeof(struct udp_hdr);
+ hdr_lens->l4_len = sizeof(struct rte_udp_hdr);
return pkt_type;
} else if ((pkt_type & RTE_PTYPE_L4_MASK) == RTE_PTYPE_L4_TCP) {
- const struct tcp_hdr *th;
- struct tcp_hdr th_copy;
+ const struct rte_tcp_hdr *th;
+ struct rte_tcp_hdr th_copy;
th = rte_pktmbuf_read(m, off, sizeof(*th), &th_copy);
if (unlikely(th == NULL))
hdr_lens->l4_len = (th->data_off & 0xf0) >> 2;
return pkt_type;
} else if ((pkt_type & RTE_PTYPE_L4_MASK) == RTE_PTYPE_L4_SCTP) {
- hdr_lens->l4_len = sizeof(struct sctp_hdr);
+ hdr_lens->l4_len = sizeof(struct rte_sctp_hdr);
return pkt_type;
} else {
uint32_t prev_off = off;
if ((layers & RTE_PTYPE_INNER_L3_MASK) == 0)
return pkt_type;
- if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4)) {
- const struct ipv4_hdr *ip4h;
- struct ipv4_hdr ip4h_copy;
+ if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4)) {
+ const struct rte_ipv4_hdr *ip4h;
+ struct rte_ipv4_hdr ip4h_copy;
ip4h = rte_pktmbuf_read(m, off, sizeof(*ip4h), &ip4h_copy);
if (unlikely(ip4h == NULL))
if ((layers & RTE_PTYPE_INNER_L4_MASK) == 0)
return pkt_type;
if (ip4h->fragment_offset &
- rte_cpu_to_be_16(IPV4_HDR_OFFSET_MASK |
- IPV4_HDR_MF_FLAG)) {
+ rte_cpu_to_be_16(RTE_IPV4_HDR_OFFSET_MASK |
+ RTE_IPV4_HDR_MF_FLAG)) {
pkt_type |= RTE_PTYPE_INNER_L4_FRAG;
hdr_lens->inner_l4_len = 0;
return pkt_type;
}
proto = ip4h->next_proto_id;
pkt_type |= ptype_inner_l4(proto);
- } else if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv6)) {
- const struct ipv6_hdr *ip6h;
- struct ipv6_hdr ip6h_copy;
+ } else if (proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV6)) {
+ const struct rte_ipv6_hdr *ip6h;
+ struct rte_ipv6_hdr ip6h_copy;
int frag = 0;
ip6h = rte_pktmbuf_read(m, off, sizeof(*ip6h), &ip6h_copy);
}
if ((pkt_type & RTE_PTYPE_INNER_L4_MASK) == RTE_PTYPE_INNER_L4_UDP) {
- hdr_lens->inner_l4_len = sizeof(struct udp_hdr);
+ hdr_lens->inner_l4_len = sizeof(struct rte_udp_hdr);
} else if ((pkt_type & RTE_PTYPE_INNER_L4_MASK) ==
RTE_PTYPE_INNER_L4_TCP) {
- const struct tcp_hdr *th;
- struct tcp_hdr th_copy;
+ const struct rte_tcp_hdr *th;
+ struct rte_tcp_hdr th_copy;
th = rte_pktmbuf_read(m, off, sizeof(*th), &th_copy);
if (unlikely(th == NULL))
hdr_lens->inner_l4_len = (th->data_off & 0xf0) >> 2;
} else if ((pkt_type & RTE_PTYPE_INNER_L4_MASK) ==
RTE_PTYPE_INNER_L4_SCTP) {
- hdr_lens->inner_l4_len = sizeof(struct sctp_hdr);
+ hdr_lens->inner_l4_len = sizeof(struct rte_sctp_hdr);
} else {
hdr_lens->inner_l4_len = 0;
}