From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: Olivier Matz <olivier.matz@6wind.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "jigsaw@gmail.com" <jigsaw@gmail.com>
Subject: Re: [dpdk-dev] [PATCH v3 07/13] testpmd: fix use of offload flags in testpmd
Date: Tue, 25 Nov 2014 11:52:12 +0000 [thread overview]
Message-ID: <2601191342CEEE43887BDE71AB977258213B9691@IRSMSX105.ger.corp.intel.com> (raw)
In-Reply-To: <1416524335-22753-8-git-send-email-olivier.matz@6wind.com>
> -----Original Message-----
> From: Olivier Matz [mailto:olivier.matz@6wind.com]
> Sent: Thursday, November 20, 2014 10:59 PM
> To: dev@dpdk.org
> Cc: olivier.matz@6wind.com; Walukiewicz, Miroslaw; Liu, Jijiang; Liu, Yong; jigsaw@gmail.com; Richardson, Bruce; Ananyev, Konstantin
> Subject: [PATCH v3 07/13] testpmd: fix use of offload flags in testpmd
>
> In testpmd the rte_port->tx_ol_flags flag was used in 2 incompatible
> manners:
> - sometimes used with testpmd specific flags (0xff for checksums, and
> bit 11 for vlan)
> - sometimes assigned to m->ol_flags directly, which is wrong in case
> of checksum flags
>
> This commit replaces the hardcoded values by named definitions, which
> are not compatible with mbuf flags. The testpmd forward engines are
> fixed to use the flags properly.
>
> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> ---
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> app/test-pmd/config.c | 4 ++--
> app/test-pmd/csumonly.c | 40 +++++++++++++++++++++++-----------------
> app/test-pmd/macfwd.c | 5 ++++-
> app/test-pmd/macswap.c | 5 ++++-
> app/test-pmd/testpmd.h | 28 +++++++++++++++++++++-------
> app/test-pmd/txonly.c | 9 ++++++---
> 6 files changed, 60 insertions(+), 31 deletions(-)
>
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index b102b72..34b6fdb 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1670,7 +1670,7 @@ tx_vlan_set(portid_t port_id, uint16_t vlan_id)
> return;
> if (vlan_id_is_invalid(vlan_id))
> return;
> - ports[port_id].tx_ol_flags |= PKT_TX_VLAN_PKT;
> + ports[port_id].tx_ol_flags |= TESTPMD_TX_OFFLOAD_INSERT_VLAN;
> ports[port_id].tx_vlan_id = vlan_id;
> }
>
> @@ -1679,7 +1679,7 @@ tx_vlan_reset(portid_t port_id)
> {
> if (port_id_is_invalid(port_id))
> return;
> - ports[port_id].tx_ol_flags &= ~PKT_TX_VLAN_PKT;
> + ports[port_id].tx_ol_flags &= ~TESTPMD_TX_OFFLOAD_INSERT_VLAN;
> }
>
> void
> diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
> index 8d10bfd..743094a 100644
> --- a/app/test-pmd/csumonly.c
> +++ b/app/test-pmd/csumonly.c
> @@ -322,7 +322,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> /* Do not delete, this is required by HW*/
> ipv4_hdr->hdr_checksum = 0;
>
> - if (tx_ol_flags & 0x1) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_IP_CKSUM) {
> /* HW checksum */
> ol_flags |= PKT_TX_IP_CKSUM;
> }
> @@ -336,7 +336,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> if (l4_proto == IPPROTO_UDP) {
> udp_hdr = (struct udp_hdr*) (rte_pktmbuf_mtod(mb,
> unsigned char *) + l2_len + l3_len);
> - if (tx_ol_flags & 0x2) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_UDP_CKSUM) {
> /* HW Offload */
> ol_flags |= PKT_TX_UDP_CKSUM;
> if (ipv4_tunnel)
> @@ -358,7 +358,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> uint16_t len;
>
> /* Check if inner L3/L4 checkum flag is set */
> - if (tx_ol_flags & 0xF0)
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_CKSUM_MASK)
> ol_flags |= PKT_TX_VXLAN_CKSUM;
>
> inner_l2_len = sizeof(struct ether_hdr);
> @@ -381,7 +381,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> unsigned char *) + len);
> inner_l4_proto = inner_ipv4_hdr->next_proto_id;
>
> - if (tx_ol_flags & 0x10) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_IP_CKSUM) {
>
> /* Do not delete, this is required by HW*/
> inner_ipv4_hdr->hdr_checksum = 0;
> @@ -394,7 +394,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> unsigned char *) + len);
> inner_l4_proto = inner_ipv6_hdr->proto;
> }
> - if ((inner_l4_proto == IPPROTO_UDP) && (tx_ol_flags & 0x20)) {
> + if ((inner_l4_proto == IPPROTO_UDP) &&
> + (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_UDP_CKSUM)) {
>
> /* HW Offload */
> ol_flags |= PKT_TX_UDP_CKSUM;
> @@ -405,7 +406,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> else if (eth_type == ETHER_TYPE_IPv6)
> inner_udp_hdr->dgram_cksum = get_ipv6_psd_sum(inner_ipv6_hdr);
>
> - } else if ((inner_l4_proto == IPPROTO_TCP) && (tx_ol_flags & 0x40)) {
> + } else if ((inner_l4_proto == IPPROTO_TCP) &&
> + (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_TCP_CKSUM)) {
> /* HW Offload */
> ol_flags |= PKT_TX_TCP_CKSUM;
> inner_tcp_hdr = (struct tcp_hdr *) (rte_pktmbuf_mtod(mb,
> @@ -414,7 +416,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> inner_tcp_hdr->cksum = get_ipv4_psd_sum(inner_ipv4_hdr);
> else if (eth_type == ETHER_TYPE_IPv6)
> inner_tcp_hdr->cksum = get_ipv6_psd_sum(inner_ipv6_hdr);
> - } else if ((inner_l4_proto == IPPROTO_SCTP) && (tx_ol_flags & 0x80)) {
> + } else if ((inner_l4_proto == IPPROTO_SCTP) &&
> + (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_SCTP_CKSUM)) {
> /* HW Offload */
> ol_flags |= PKT_TX_SCTP_CKSUM;
> inner_sctp_hdr = (struct sctp_hdr *) (rte_pktmbuf_mtod(mb,
> @@ -427,7 +430,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> } else if (l4_proto == IPPROTO_TCP) {
> tcp_hdr = (struct tcp_hdr*) (rte_pktmbuf_mtod(mb,
> unsigned char *) + l2_len + l3_len);
> - if (tx_ol_flags & 0x4) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_TCP_CKSUM) {
> ol_flags |= PKT_TX_TCP_CKSUM;
> tcp_hdr->cksum = get_ipv4_psd_sum(ipv4_hdr);
> }
> @@ -440,7 +443,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> sctp_hdr = (struct sctp_hdr*) (rte_pktmbuf_mtod(mb,
> unsigned char *) + l2_len + l3_len);
>
> - if (tx_ol_flags & 0x8) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_SCTP_CKSUM) {
> ol_flags |= PKT_TX_SCTP_CKSUM;
> sctp_hdr->cksum = 0;
>
> @@ -465,7 +468,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> if (l4_proto == IPPROTO_UDP) {
> udp_hdr = (struct udp_hdr*) (rte_pktmbuf_mtod(mb,
> unsigned char *) + l2_len + l3_len);
> - if (tx_ol_flags & 0x2) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_UDP_CKSUM) {
> /* HW Offload */
> ol_flags |= PKT_TX_UDP_CKSUM;
> if (ipv6_tunnel)
> @@ -487,7 +490,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> uint16_t len;
>
> /* Check if inner L3/L4 checksum flag is set */
> - if (tx_ol_flags & 0xF0)
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_CKSUM_MASK)
> ol_flags |= PKT_TX_VXLAN_CKSUM;
>
> inner_l2_len = sizeof(struct ether_hdr);
> @@ -511,7 +514,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> inner_l4_proto = inner_ipv4_hdr->next_proto_id;
>
> /* HW offload */
> - if (tx_ol_flags & 0x10) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_IP_CKSUM) {
>
> /* Do not delete, this is required by HW*/
> inner_ipv4_hdr->hdr_checksum = 0;
> @@ -524,7 +527,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> inner_l4_proto = inner_ipv6_hdr->proto;
> }
>
> - if ((inner_l4_proto == IPPROTO_UDP) && (tx_ol_flags & 0x20)) {
> + if ((inner_l4_proto == IPPROTO_UDP) &&
> + (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_UDP_CKSUM)) {
> inner_udp_hdr = (struct udp_hdr *) (rte_pktmbuf_mtod(mb,
> unsigned char *) + len + inner_l3_len);
> /* HW offload */
> @@ -534,7 +538,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> inner_udp_hdr->dgram_cksum = get_ipv4_psd_sum(inner_ipv4_hdr);
> else if (eth_type == ETHER_TYPE_IPv6)
> inner_udp_hdr->dgram_cksum = get_ipv6_psd_sum(inner_ipv6_hdr);
> - } else if ((inner_l4_proto == IPPROTO_TCP) && (tx_ol_flags & 0x40)) {
> + } else if ((inner_l4_proto == IPPROTO_TCP) &&
> + (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_TCP_CKSUM)) {
> /* HW offload */
> ol_flags |= PKT_TX_TCP_CKSUM;
> inner_tcp_hdr = (struct tcp_hdr *) (rte_pktmbuf_mtod(mb,
> @@ -545,7 +550,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> else if (eth_type == ETHER_TYPE_IPv6)
> inner_tcp_hdr->cksum = get_ipv6_psd_sum(inner_ipv6_hdr);
>
> - } else if ((inner_l4_proto == IPPROTO_SCTP) && (tx_ol_flags & 0x80)) {
> + } else if ((inner_l4_proto == IPPROTO_SCTP) &&
> + (tx_ol_flags & TESTPMD_TX_OFFLOAD_INNER_SCTP_CKSUM)) {
> /* HW offload */
> ol_flags |= PKT_TX_SCTP_CKSUM;
> inner_sctp_hdr = (struct sctp_hdr *) (rte_pktmbuf_mtod(mb,
> @@ -559,7 +565,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> else if (l4_proto == IPPROTO_TCP) {
> tcp_hdr = (struct tcp_hdr*) (rte_pktmbuf_mtod(mb,
> unsigned char *) + l2_len + l3_len);
> - if (tx_ol_flags & 0x4) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_TCP_CKSUM) {
> ol_flags |= PKT_TX_TCP_CKSUM;
> tcp_hdr->cksum = get_ipv6_psd_sum(ipv6_hdr);
> }
> @@ -573,7 +579,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> sctp_hdr = (struct sctp_hdr*) (rte_pktmbuf_mtod(mb,
> unsigned char *) + l2_len + l3_len);
>
> - if (tx_ol_flags & 0x8) {
> + if (tx_ol_flags & TESTPMD_TX_OFFLOAD_SCTP_CKSUM) {
> ol_flags |= PKT_TX_SCTP_CKSUM;
> sctp_hdr->cksum = 0;
> /* Sanity check, only number of 4 bytes supported by HW */
> diff --git a/app/test-pmd/macfwd.c b/app/test-pmd/macfwd.c
> index 38bae23..aa3d705 100644
> --- a/app/test-pmd/macfwd.c
> +++ b/app/test-pmd/macfwd.c
> @@ -85,6 +85,7 @@ pkt_burst_mac_forward(struct fwd_stream *fs)
> uint16_t nb_rx;
> uint16_t nb_tx;
> uint16_t i;
> + uint64_t ol_flags = 0;
> #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
> uint64_t start_tsc;
> uint64_t end_tsc;
> @@ -108,6 +109,8 @@ pkt_burst_mac_forward(struct fwd_stream *fs)
> #endif
> fs->rx_packets += nb_rx;
> txp = &ports[fs->tx_port];
> + if (txp->tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_VLAN)
> + ol_flags = PKT_TX_VLAN_PKT;
> for (i = 0; i < nb_rx; i++) {
> mb = pkts_burst[i];
> eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *);
> @@ -115,7 +118,7 @@ pkt_burst_mac_forward(struct fwd_stream *fs)
> ð_hdr->d_addr);
> ether_addr_copy(&ports[fs->tx_port].eth_addr,
> ð_hdr->s_addr);
> - mb->ol_flags = txp->tx_ol_flags;
> + mb->ol_flags = ol_flags;
> mb->l2_len = sizeof(struct ether_hdr);
> mb->l3_len = sizeof(struct ipv4_hdr);
> mb->vlan_tci = txp->tx_vlan_id;
> diff --git a/app/test-pmd/macswap.c b/app/test-pmd/macswap.c
> index 1786095..ec61657 100644
> --- a/app/test-pmd/macswap.c
> +++ b/app/test-pmd/macswap.c
> @@ -85,6 +85,7 @@ pkt_burst_mac_swap(struct fwd_stream *fs)
> uint16_t nb_rx;
> uint16_t nb_tx;
> uint16_t i;
> + uint64_t ol_flags = 0;
> #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
> uint64_t start_tsc;
> uint64_t end_tsc;
> @@ -108,6 +109,8 @@ pkt_burst_mac_swap(struct fwd_stream *fs)
> #endif
> fs->rx_packets += nb_rx;
> txp = &ports[fs->tx_port];
> + if (txp->tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_VLAN)
> + ol_flags = PKT_TX_VLAN_PKT;
> for (i = 0; i < nb_rx; i++) {
> mb = pkts_burst[i];
> eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *);
> @@ -117,7 +120,7 @@ pkt_burst_mac_swap(struct fwd_stream *fs)
> ether_addr_copy(ð_hdr->s_addr, ð_hdr->d_addr);
> ether_addr_copy(&addr, ð_hdr->s_addr);
>
> - mb->ol_flags = txp->tx_ol_flags;
> + mb->ol_flags = ol_flags;
> mb->l2_len = sizeof(struct ether_hdr);
> mb->l3_len = sizeof(struct ipv4_hdr);
> mb->vlan_tci = txp->tx_vlan_id;
> diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
> index 9cbfeac..82af2bd 100644
> --- a/app/test-pmd/testpmd.h
> +++ b/app/test-pmd/testpmd.h
> @@ -123,14 +123,28 @@ struct fwd_stream {
> #endif
> };
>
> +/** Offload IP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_IP_CKSUM 0x0001
> +/** Offload UDP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_UDP_CKSUM 0x0002
> +/** Offload TCP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_TCP_CKSUM 0x0004
> +/** Offload SCTP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_SCTP_CKSUM 0x0008
> +/** Offload inner IP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_INNER_IP_CKSUM 0x0010
> +/** Offload inner UDP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_INNER_UDP_CKSUM 0x0020
> +/** Offload inner TCP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_INNER_TCP_CKSUM 0x0040
> +/** Offload inner SCTP checksum in csum forward engine */
> +#define TESTPMD_TX_OFFLOAD_INNER_SCTP_CKSUM 0x0080
> +/** Offload inner IP checksum mask */
> +#define TESTPMD_TX_OFFLOAD_INNER_CKSUM_MASK 0x00F0
> +/** Insert VLAN header in forward engine */
> +#define TESTPMD_TX_OFFLOAD_INSERT_VLAN 0x0100
> /**
> * The data structure associated with each port.
> - * tx_ol_flags is slightly different from ol_flags of rte_mbuf.
> - * Bit 0: Insert IP checksum
> - * Bit 1: Insert UDP checksum
> - * Bit 2: Insert TCP checksum
> - * Bit 3: Insert SCTP checksum
> - * Bit 11: Insert VLAN Label
> */
> struct rte_port {
> struct rte_eth_dev_info dev_info; /**< PCI info + driver name */
> @@ -141,7 +155,7 @@ struct rte_port {
> struct fwd_stream *rx_stream; /**< Port RX stream, if unique */
> struct fwd_stream *tx_stream; /**< Port TX stream, if unique */
> unsigned int socket_id; /**< For NUMA support */
> - uint64_t tx_ol_flags;/**< Offload Flags of TX packets. */
> + uint16_t tx_ol_flags;/**< TX Offload Flags (TESTPMD_TX_OFFLOAD...). */
> uint16_t tx_vlan_id; /**< Tag Id. in TX VLAN packets. */
> void *fwd_ctx; /**< Forwarding mode context */
> uint64_t rx_bad_ip_csum; /**< rx pkts with bad ip checksum */
> diff --git a/app/test-pmd/txonly.c b/app/test-pmd/txonly.c
> index 3d08005..c984670 100644
> --- a/app/test-pmd/txonly.c
> +++ b/app/test-pmd/txonly.c
> @@ -196,6 +196,7 @@ static void
> pkt_burst_transmit(struct fwd_stream *fs)
> {
> struct rte_mbuf *pkts_burst[MAX_PKT_BURST];
> + struct rte_port *txp;
> struct rte_mbuf *pkt;
> struct rte_mbuf *pkt_seg;
> struct rte_mempool *mbp;
> @@ -203,7 +204,7 @@ pkt_burst_transmit(struct fwd_stream *fs)
> uint16_t nb_tx;
> uint16_t nb_pkt;
> uint16_t vlan_tci;
> - uint64_t ol_flags;
> + uint64_t ol_flags = 0;
> uint8_t i;
> #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
> uint64_t start_tsc;
> @@ -216,8 +217,10 @@ pkt_burst_transmit(struct fwd_stream *fs)
> #endif
>
> mbp = current_fwd_lcore()->mbp;
> - vlan_tci = ports[fs->tx_port].tx_vlan_id;
> - ol_flags = ports[fs->tx_port].tx_ol_flags;
> + txp = &ports[fs->tx_port];
> + vlan_tci = txp->tx_vlan_id;
> + if (txp->tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_VLAN)
> + ol_flags = PKT_TX_VLAN_PKT;
> for (nb_pkt = 0; nb_pkt < nb_pkt_per_burst; nb_pkt++) {
> pkt = tx_mbuf_alloc(mbp);
> if (pkt == NULL) {
> --
> 2.1.0
next prev parent reply other threads:[~2014-11-25 11:41 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-10 15:59 [dpdk-dev] [PATCH 00/12] add TSO support Olivier Matz
2014-11-10 15:59 ` [dpdk-dev] [PATCH 01/12] igb/ixgbe: fix IP checksum calculation Olivier Matz
2014-11-10 15:59 ` [dpdk-dev] [PATCH 02/12] ixgbe: fix remaining pkt_flags variable size to 64 bits Olivier Matz
2014-11-10 16:59 ` Bruce Richardson
2014-11-10 15:59 ` [dpdk-dev] [PATCH 03/12] mbuf: move vxlan_cksum flag definition at the proper place Olivier Matz
2014-11-10 17:09 ` Bruce Richardson
2014-11-10 15:59 ` [dpdk-dev] [PATCH 04/12] mbuf: add help about TX checksum flags Olivier Matz
2014-11-10 17:10 ` Bruce Richardson
2014-11-10 15:59 ` [dpdk-dev] [PATCH 05/12] mbuf: remove too specific PKT_TX_OFFLOAD_MASK definition Olivier Matz
2014-11-10 17:14 ` Bruce Richardson
2014-11-10 20:59 ` Olivier MATZ
2014-11-10 15:59 ` [dpdk-dev] [PATCH 06/12] mbuf: add functions to get the name of an ol_flag Olivier Matz
2014-11-10 17:29 ` Bruce Richardson
2014-11-10 20:54 ` Olivier MATZ
2014-11-12 17:21 ` Ananyev, Konstantin
2014-11-12 17:44 ` Olivier MATZ
2014-11-10 15:59 ` [dpdk-dev] [PATCH 07/12] mbuf: generic support for TCP segmentation offload Olivier Matz
2014-11-11 3:17 ` Liu, Jijiang
2014-11-12 13:09 ` Ananyev, Konstantin
2014-11-10 15:59 ` [dpdk-dev] [PATCH 08/12] ixgbe: support " Olivier Matz
2014-11-10 15:59 ` [dpdk-dev] [PATCH 09/12] testpmd: fix use of offload flags in testpmd Olivier Matz
2014-11-10 15:59 ` [dpdk-dev] [PATCH 10/12] testpmd: rework csum forward engine Olivier Matz
2014-11-11 8:35 ` Liu, Jijiang
2014-11-11 9:55 ` Olivier MATZ
2014-11-10 15:59 ` [dpdk-dev] [PATCH 11/12] testpmd: support TSO in " Olivier Matz
2014-11-10 15:59 ` [dpdk-dev] [PATCH 12/12] testpmd: add a verbose mode " Olivier Matz
2014-11-11 9:21 ` [dpdk-dev] [PATCH 00/12] add TSO support Olivier MATZ
2014-11-11 9:48 ` Olivier MATZ
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 00/13] " Olivier Matz
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 01/13] igb/ixgbe: fix IP checksum calculation Olivier Matz
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 02/13] ixgbe: fix remaining pkt_flags variable size to 64 bits Olivier Matz
2014-11-17 16:47 ` Walukiewicz, Miroslaw
2014-11-17 17:03 ` Olivier MATZ
2014-11-17 17:40 ` Thomas Monjalon
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 03/13] mbuf: move vxlan_cksum flag definition at the proper place Olivier Matz
2014-11-17 22:05 ` Thomas Monjalon
2014-11-18 14:10 ` Olivier MATZ
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 04/13] mbuf: add help about TX checksum flags Olivier Matz
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 05/13] mbuf: remove too specific PKT_TX_OFFLOAD_MASK definition Olivier Matz
2014-11-17 10:35 ` Bruce Richardson
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 06/13] mbuf: add functions to get the name of an ol_flag Olivier Matz
2014-11-17 10:39 ` Bruce Richardson
2014-11-17 12:51 ` Olivier MATZ
2014-11-17 19:00 ` Ananyev, Konstantin
2014-11-18 9:29 ` Olivier MATZ
2014-11-19 11:06 ` Ananyev, Konstantin
2014-11-25 10:37 ` Ananyev, Konstantin
2014-11-25 12:15 ` Zhang, Helin
2014-11-25 12:37 ` Olivier MATZ
2014-11-25 13:31 ` Zhang, Helin
2014-11-25 13:49 ` Ananyev, Konstantin
2014-11-26 0:58 ` Zhang, Helin
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 07/13] testpmd: fix use of offload flags in testpmd Olivier Matz
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 08/13] testpmd: rework csum forward engine Olivier Matz
2014-11-17 8:11 ` Liu, Jijiang
2014-11-17 13:00 ` Olivier MATZ
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 09/13] mbuf: introduce new checksum API Olivier Matz
2014-11-17 18:15 ` Ananyev, Konstantin
2014-11-18 9:10 ` Olivier MATZ
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 10/13] mbuf: generic support for TCP segmentation offload Olivier Matz
2014-11-17 23:33 ` Ananyev, Konstantin
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 11/13] ixgbe: support " Olivier Matz
2014-11-17 18:26 ` Ananyev, Konstantin
2014-11-18 9:11 ` Olivier MATZ
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 12/13] testpmd: support TSO in csum forward engine Olivier Matz
2014-11-14 17:03 ` [dpdk-dev] [PATCH v2 13/13] testpmd: add a verbose mode " Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 00/13] add TSO support Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 01/13] igb/ixgbe: fix IP checksum calculation Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 02/13] ixgbe: fix remaining pkt_flags variable size to 64 bits Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 03/13] mbuf: reorder tx ol_flags Olivier Matz
2014-11-25 10:22 ` Thomas Monjalon
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 04/13] mbuf: add help about TX checksum flags Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 05/13] mbuf: remove too specific PKT_TX_OFFLOAD_MASK definition Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 06/13] mbuf: add functions to get the name of an ol_flag Olivier Matz
2014-11-25 10:23 ` Thomas Monjalon
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 07/13] testpmd: fix use of offload flags in testpmd Olivier Matz
2014-11-25 11:52 ` Ananyev, Konstantin [this message]
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 08/13] testpmd: rework csum forward engine Olivier Matz
2014-11-26 10:10 ` Ananyev, Konstantin
2014-11-26 11:14 ` Olivier MATZ
2014-11-26 12:25 ` Ananyev, Konstantin
2014-11-26 14:55 ` Olivier MATZ
2014-11-26 16:34 ` Ananyev, Konstantin
2014-11-27 8:34 ` Liu, Jijiang
2014-11-26 13:59 ` Liu, Jijiang
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 09/13] mbuf: introduce new checksum API Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 10/13] mbuf: generic support for TCP segmentation offload Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 11/13] ixgbe: support " Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 12/13] testpmd: support TSO in csum forward engine Olivier Matz
2014-11-20 22:58 ` [dpdk-dev] [PATCH v3 13/13] testpmd: add a verbose mode " Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 00/13] add TSO support Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 01/13] igb/ixgbe: fix IP checksum calculation Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 02/13] ixgbe: fix remaining pkt_flags variable size to 64 bits Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 03/13] mbuf: reorder tx ol_flags Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 04/13] mbuf: add help about TX checksum flags Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 05/13] mbuf: remove too specific PKT_TX_OFFLOAD_MASK definition Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 06/13] mbuf: add functions to get the name of an ol_flag Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 07/13] testpmd: fix use of offload flags in testpmd Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 08/13] testpmd: rework csum forward engine Olivier Matz
2014-11-26 20:02 ` Ananyev, Konstantin
2014-11-27 8:26 ` Liu, Jijiang
2014-11-27 9:10 ` Olivier MATZ
2014-11-27 11:02 ` Ananyev, Konstantin
2014-11-28 8:54 ` Liu, Jijiang
2014-11-28 9:54 ` Olivier MATZ
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 09/13] mbuf: introduce new checksum API Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 10/13] mbuf: generic support for TCP segmentation offload Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 11/13] ixgbe: support " Olivier Matz
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 12/13] testpmd: support TSO in csum forward engine Olivier Matz
2014-11-26 21:23 ` Ananyev, Konstantin
2014-11-26 15:04 ` [dpdk-dev] [PATCH v4 13/13] testpmd: add a verbose mode " Olivier Matz
2014-11-26 18:30 ` [dpdk-dev] [PATCH v4 00/13] add TSO support Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2601191342CEEE43887BDE71AB977258213B9691@IRSMSX105.ger.corp.intel.com \
--to=konstantin.ananyev@intel.com \
--cc=dev@dpdk.org \
--cc=jigsaw@gmail.com \
--cc=olivier.matz@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).