Hi

With Scapy we are sending UDP Packets to ‘P0’ of DPDK - VM -1 as below

>>>sendp(Ether(src="52:00:00:00:00:4a",dst="50:00:00:00:00:8F")/IP(dst="20.20.20.20",proto=17)/UDP(sport=4009,dport=4019)/Raw(load=('Helllo
>>> Basha')), iface="ens9", loop=1, count=10, inter=1.0002)


I'm modifying MAC address in l2fwd_simple_forward (52:00:00:00:AB:CD)
and calling the below API after mac updation, in the ‘l2fwd’ DPDK
Sample application.

But I'm unable to receive the ‘Appended Data’ on the Destination Port.
P0 itself is dropping our packets...

Without Appending the Payload/Data we are able to see our packets on
the Destination Port.

Please let me know whether this issue is with respect to appending or
buffering or checksum related...

static void

pkt_modify(struct rte_mbuf *m, unsigned dest_portid)

{

struct ether_hdr *eth;

struct ipv4_hdr *ipv4;

struct udp_hdr *udp;

char *udpData;

int len = 0;

const char *mess = "Eureka";

char *newData = NULL;

eth = rte_pktmbuf_mtod(m, struct ether_hdr *);

ipv4 = rte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,sizeof(struct ether_hdr));

udp = rte_pktmbuf_mtod_offset(m, struct udp_hdr *, sizeof(struct
ether_hdr)+sizeof(struct ipv4_hdr));

len = m->data_len;

udpData = rte_pktmbuf_mtod_offset(m, char *, len);

newData = rte_pktmbuf_append(m, 6);

if (newData != NULL)

rte_memcpy(newData, mess, 6);


len = m->data_len;

udpData = rte_pktmbuf_mtod_offset(m, char *, sizeof(struct
ether_hdr)+sizeof(struct ipv4_hdr)+

sizeof(struct udp_hdr));

return ;

}


Please help me on figuring out this....

Thanks,

Satya Valli.

Reply via email to