examples/ipsec-secgw: set and use packet type
Set mbuf ptype in prepare_one_packet() after parsing ether_type. Use mbuf ptype after to recognize packet's address family. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
parent
2cf67788ae
commit
1291e11e95
@ -323,6 +323,7 @@ prepare_one_packet(struct rte_mbuf *pkt, struct ipsec_traffic *t)
|
||||
}
|
||||
pkt->l2_len = 0;
|
||||
pkt->l3_len = sizeof(*iph4);
|
||||
pkt->packet_type |= RTE_PTYPE_L3_IPV4;
|
||||
} else if (eth->ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV6)) {
|
||||
int next_proto;
|
||||
size_t l3len, ext_len;
|
||||
@ -357,6 +358,7 @@ prepare_one_packet(struct rte_mbuf *pkt, struct ipsec_traffic *t)
|
||||
}
|
||||
pkt->l2_len = 0;
|
||||
pkt->l3_len = l3len;
|
||||
pkt->packet_type |= RTE_PTYPE_L3_IPV6;
|
||||
} else {
|
||||
/* Unknown/Unsupported type, drop the packet */
|
||||
RTE_LOG(ERR, IPSEC, "Unsupported packet type 0x%x\n",
|
||||
|
@ -93,7 +93,7 @@ sad_lookup(struct ipsec_sad *sad, struct rte_mbuf *pkts[],
|
||||
esp = rte_pktmbuf_mtod_offset(pkts[i], struct rte_esp_hdr *,
|
||||
pkts[i]->l3_len);
|
||||
|
||||
is_ipv4 = ((ipv4->version_ihl >> 4) == IPVERSION);
|
||||
is_ipv4 = pkts[i]->packet_type & RTE_PTYPE_L3_IPV4;
|
||||
spi = rte_be_to_cpu_32(esp->spi);
|
||||
cache_idx = SPI2IDX(spi, cache->mask);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user