From mboxrd@z Thu Jan 1 00:00:00 1970 From: Banashankar KV Subject: Re: pktgen offload checksum flag not able to make it work with pacp packets. Date: Mon, 27 Jan 2014 11:04:36 -0800 Message-ID: References: <4FE91E82-8097-451E-A36D-2F1254573A89@windriver.com> <7B58AC42-4409-4448-A748-BADA7F37E32C@windriver.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Cc: "" To: "Wiles, Roger Keith" Return-path: In-Reply-To: <7B58AC42-4409-4448-A748-BADA7F37E32C-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi, In pktgen.c, tx_conf have a flag txq_flags which is set to IXGBE_SIMPLE_FLAGS which inturn has value ETH_TXQ_FLAGS_NOOFFLOADS which is defined in rte_ethdev.h and has values which disables all kind of chksum offloads. So once I commented off that particular flag, offload started working. Yea I was also thinking same about the tcp checksum. Thanks Banashankar On Sat, Jan 25, 2014 at 6:46 PM, Wiles, Roger Keith < keith.wiles-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org> wrote: > Hi Banashankar, > > The tx_conf is used in the pktgen_config_ports() with the > rte_eth_tx_queue_setup() and I am not sure why it matters that tx_conf is > disable. The values are mostly zero, but some type of interaction must be > going on. It may be the txq_flags being set to IXGBE_SIMPLE_FLAGS and it > is overriding the the per packet flag later. You will need to look at the > driver to determine the real reason. > > The checksum should not be wrong unless the hardware registers are not > setup correctly, but I would not think that is the case. You may want to > verify the checksum is correct another way, because I can not see the > hardware doing the checksum wrong. > > Thanks > ++Keith > > > *Keith Wiles*, Principal Technologist for Networking member of the CTO > office, *Wind River* > mobile 940.213.5533 > [image: Powering 30 Years of Innovation] > > On Jan 25, 2014, at 4:53 PM, Banashankar KV wrote: > > Hi, > Thanks a lot for the reply ! > Yes I have checked those examples and had set all those flags. But IP > checksum started working after commenting off the txq_flags from > the pktgen.c file's tx_conf . > > And I added the following flag to calculate the tcp checksum. > > m->ol_flags |= PKT_TX_TCP_CKSUM > > its calculating the TCP checksum but turning out to be wrong checksum. > > Thanks > Banashankar > > > > On Fri, Jan 24, 2014 at 11:44 AM, Wiles, Roger Keith < > keith.wiles-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org> wrote: > >> I have not enabled that feature myself, but I would expect it to work as >> long as the hardware does. What does the docs say about enabling hardware >> offload support? Did you look at the following files: >> >> ip_reassembly/ipv4_rsmbl.h: m->ol_flags |= PKT_TX_IP_CKSUM; >> ipv4_frag/rte_ipv4_frag.h: out_pkt->ol_flags |= >> PKT_TX_IP_CKSUM; >> >> Thanks >> ++Keith >> >> *Keith Wiles*, Principal Technologist for Networking member of the >> CTO office, *Wind River* >> mobile 940.213.5533 >> [image: Powering 30 Years of Innovation] >> >> On Jan 24, 2014, at 12:54 PM, Banashankar KV >> wrote: >> >> I was modifying a packet in pktgen_pcap_mbuf_ctor() >> and after modifying I wanted to offload the checksum calculation to h/w >> so I am setting these flags in pktgen_pcap_mbuf_ctor function. >> >> m->pkt.vlan_macip.f.l2_len = sizeof(struct ether_hdr); >> m->pkt.vlan_macip.f.l3_len = sizeof(struct ipv4_hdr); >> >> m->ol_flags = PKT_TX_IP_CKSUM >> >> >> I even tried with setting .txq_flags = 0 in rte_eth_txconf struct in >> pktgen.c. >> >> But still not able to get the h/w checksum. Am I missing anything ? >> >> >> >> Thanks >> Banashankar >> >> >> > >