DPDK usage discussions
 help / color / mirror / Atom feed
From: Andriy Berestovskyy <aber@semihalf.com>
To: Upendra Pathrikar <uspathrikar@gmail.com>
Cc: users <users@dpdk.org>
Subject: Re: [dpdk-users] Unable to transmit custom built packet in dpdk
Date: Mon, 17 Oct 2016 12:48:53 +0200	[thread overview]
Message-ID: <CAOysbxryvd9VSwuvSoZs3ebo8EmqAEU-u3fyEnpnwQLNK98KAQ@mail.gmail.com> (raw)
In-Reply-To: <CAGSHHKetLQcij+5GveEZcPss_4V--PGZ0efzBrRoYAG2k36NMA@mail.gmail.com>

Hey,
In rte_eth_rx_burst() you are passing just a pointer to rte_mbuf,
while the functions expects a pointer to an array.

Andriy


On Sun, Oct 16, 2016 at 5:19 PM, Upendra Pathrikar
<uspathrikar@gmail.com> wrote:
> hi,
>
> I am trying to build packet generator like application in dpdk. I have
> custom built packet as unsigned char array(used to store hex values) I have
> allocated mbuf and extract unsigned char pointer for data field from mbuf
> and now I am filling the mbuf with unsigned char array packet. Then  trying
> to transmit the  packet using rte_eth_tx_burst function. It reteurns as the
> packet is sent but I don't receive the same packet or any garbage packet
> either on wireshark or using custom application with rte_eth_rx_burst.
>
> I am working on ubuntu 14.04 with kernel 3.13
> I am using Intel Gigabit ET dual port server adapter (82576) with igb_uio
> driver binding
> one port to transmit packet and other to receive packet
>
> the custom packet defined is arp packet without crc i.e 60bytes
> application should not exit unless it receives packet.
> But it is exiting at first execution of rte_eth_rx_burst() without
> indicating any error or executing further. I am clueless now.
>
> Your help will be appreciated
>
> static int txmt_pkts(void)
> {
>     uint8_t port_id;
>     struct rte_mbuf *mpkt, *rxpkt;
>     unsigned char
> packet[]="ffffffffffff3417ebc76473080600010800060400013417ebc764730ad042700000000000000ad04201000000000000000000000000000000000000\0";
>     unsigned char pkt[strlen(packet)/2];
>     int ret,i;
>     int nb_tx, nb_rx;
>     unsigned char *ptr;
>
>     /* Function convert char array into cooresponding actual hex values*/
>     ret = hexstring2hexchar(packet,pkt,strlen(packet));
>     if(ret < 0)
>         return -3;
>     /* Allocate mbuf to add packet data */
>     mpkt = rte_pktmbuf_alloc(mbuf_pool);
>     if(mpkt == NULL)
>         return -2;
>     rte_mbuf_sanity_check(mpkt,1);
>     ptr = rte_pktmbuf_mtod(mpkt,unsigned char *);
>     for(i = 0; i< (strlen(packet)/2); i++){
>         *(ptr+i) = *(pkt+i);
>         mpkt->data_len++;
>         mpkt->pkt_len++;
>     }
>     rte_mbuf_sanity_check(mpkt,1);
>     nb_tx = rte_eth_tx_burst(1, 0, &mpkt, 1);
>     printf("\npackets sent till this time - %d",nb_tx);
>
>     while(1){
>         nb_rx = rte_eth_rx_burst(0,0,rxpkt,1);
>         if(nb_rx != 0){
>             printf("\nFinally recived a packet - %d\n",nb_rx);
>             break;
>         }
>     }
>     printf("\nEnd of transmission\n");
>     return 0;
> }
>
>
>
> Thanks...
>
> --
>
>
>
>
>
>
> *Regards,Upendra Sunil PathrikarResearch ScholarBharti School of Telecom
> Technology and Management,Indian Institute of Technology, Delhi.*



-- 
Andriy Berestovskyy

      reply	other threads:[~2016-10-17 10:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-16 15:19 Upendra Pathrikar
2016-10-17 10:48 ` Andriy Berestovskyy [this message]

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=CAOysbxryvd9VSwuvSoZs3ebo8EmqAEU-u3fyEnpnwQLNK98KAQ@mail.gmail.com \
    --to=aber@semihalf.com \
    --cc=users@dpdk.org \
    --cc=uspathrikar@gmail.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).