[dpdk-dev,v3,2/4] mbuf:change PKT_TX_IPV4 and PKT_TX_IPV6 definition
Commit Message
It will avoid to send a packet with a bad info:
- we receive a Ether/IP6/IP4/L4/data packet
- the driver sets PKT_RX_IPV6_HDR
- the stack decapsulates IP6
- the stack sends the packet, it has the PKT_TX_IPV6 flag but it's an IPv4 packet.
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
---
lib/librte_mbuf/rte_mbuf.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Comments
On 11/27/2014 06:03 PM, Jijiang Liu wrote:
> It will avoid to send a packet with a bad info:
> - we receive a Ether/IP6/IP4/L4/data packet
> - the driver sets PKT_RX_IPV6_HDR
> - the stack decapsulates IP6
> - the stack sends the packet, it has the PKT_TX_IPV6 flag but it's an IPv4 packet.
>
> Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
> ---
> lib/librte_mbuf/rte_mbuf.h | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
> index 22ee555..f6b3185 100644
> --- a/lib/librte_mbuf/rte_mbuf.h
> +++ b/lib/librte_mbuf/rte_mbuf.h
> @@ -127,10 +127,10 @@ extern "C" {
> #define PKT_TX_VLAN_PKT (1ULL << 55) /**< TX packet is a 802.1q VLAN packet. */
>
> /** Tell the NIC it's an IPv4 packet. Required for L4 checksum offload or TSO. */
> -#define PKT_TX_IPV4 PKT_RX_IPV4_HDR
> +#define PKT_TX_IPV4 (1ULL << 56)
>
> /** Tell the NIC it's an IPv6 packet. Required for L4 checksum offload or TSO. */
> -#define PKT_TX_IPV6 PKT_RX_IPV6_HDR
> +#define PKT_TX_IPV6 (1ULL << 57)
>
> /** Outer IP cksum of TX pkt. computed by NIC for tunneling packet */
> #define PKT_TX_OUTER_IP_CKSUM (1ULL << 58)
>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
@@ -127,10 +127,10 @@ extern "C" {
#define PKT_TX_VLAN_PKT (1ULL << 55) /**< TX packet is a 802.1q VLAN packet. */
/** Tell the NIC it's an IPv4 packet. Required for L4 checksum offload or TSO. */
-#define PKT_TX_IPV4 PKT_RX_IPV4_HDR
+#define PKT_TX_IPV4 (1ULL << 56)
/** Tell the NIC it's an IPv6 packet. Required for L4 checksum offload or TSO. */
-#define PKT_TX_IPV6 PKT_RX_IPV6_HDR
+#define PKT_TX_IPV6 (1ULL << 57)
/** Outer IP cksum of TX pkt. computed by NIC for tunneling packet */
#define PKT_TX_OUTER_IP_CKSUM (1ULL << 58)