From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vladimir Medvedkin Subject: Re: Crafting a packet for transmission. Date: Thu, 13 Mar 2014 16:51:48 +0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Cc: "dev-VfR2kkLFssw@public.gmane.org" To: Aravind Return-path: In-Reply-To: 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" Cast pointer to required struct pointer, for example for ipv4 struct ipv4_hdr *iph; iph = (struct ipv4_hdr *)rte_pktmbuf_append(m, sizeof(struct ipv4_hdr)); and fill in fields. Look in lib/librte_net/ directory. Regards, Vladimir 2014-03-13 16:04 GMT+04:00 Aravind : > Thank you for your reply Vladimir. > > I just went through the api reference for Intel DPDK. 'rte_pktmbuf_append' > funcion append len bytes to an mbuf and return a pointer to the start > address of the added data. But how am I suppose to fill in the packet > headers...? It would be great if you could guide me on this. > > > > > > The information contained in this communication is intended solely for the > use of the individual(individuals) or entity to whom it is addressed and > others authorized to receive it. It may contain confidential or legally > privileged information. If you are not the intended recipient, you are > hereby notified that any disclosure, copying, distribution or taking any > action in reliance on the contents of this information is strictly > prohibited and may be unlawful. If you have received this communication in > error, please notify me immediately by responding to this email and then > delete it from your system. Me myself is neither liable for the proper and > complete transmission of the information contained in this communication > nor for any delay in its receipt. > > > On Thu, Mar 13, 2014 at 5:18 PM, Vladimir Medvedkin wrote: > >> Hi, >> >> At first look at https://github.com/Pktgen/Pktgen-DPDK >> >> If you need your custom app: >> - alloc mbuf with rte_pktmbuf_alloc >> - fill up L2-4 headers fields (look at rte_pktmbuf_append func for >> example) >> - send packet via rte_eth_tx_burst >> >> Regards, >> Vladimir >> >> >> 2014-03-13 15:15 GMT+04:00 sabu kurian : >> >> > Hai friends, >> > >> > My requirement is to create a packet generator. So I could use >> > >> > struct rte_mbuf * m; >> > >> > to create a single packet holder. So how am I suppose to fill in the >> packet >> > details like the MAC source , destination and also the IP source , >> > destination (in case of IPv4 packets). >> > >> > Following the l2fwd example, which has got the TAP interface to write >> the >> > data to and read the data from. >> > >> > using the ether_hdr , one could read the MAC address from the packet >> > >> > eth = rte_pktmbuf_mtod(m, struct ether_hdr *); >> > tmp = ð->s_addr.addr_bytes[0]; >> > >> > But how am I suppose to craft a packet and supply in all these details >> , so >> > that I could sent the packet via rte_eth_tx_burst >> > >> > >> > Thanks in advance >> > >> > >