#include <rte_byteorder.h>
#include <rte_mbuf.h>
#include <rte_ip.h>
+#include <rte_os_shim.h>
#include "packet_burst_generator.h"
struct rte_ether_addr *dst_mac, uint16_t ether_type,
uint8_t vlan_enabled, uint16_t van_id)
{
- rte_ether_addr_copy(dst_mac, ð_hdr->d_addr);
- rte_ether_addr_copy(src_mac, ð_hdr->s_addr);
+ rte_ether_addr_copy(dst_mac, ð_hdr->dst_addr);
+ rte_ether_addr_copy(src_mac, ð_hdr->src_addr);
if (vlan_enabled) {
struct rte_vlan_hdr *vhdr = (struct rte_vlan_hdr *)(
memset(tcp_hdr, 0, sizeof(struct rte_tcp_hdr));
tcp_hdr->src_port = rte_cpu_to_be_16(src_port);
tcp_hdr->dst_port = rte_cpu_to_be_16(dst_port);
+ tcp_hdr->data_off = (sizeof(struct rte_tcp_hdr) << 2) & 0xF0;
return pkt_len;
}
initialize_ipv6_header(struct rte_ipv6_hdr *ip_hdr, uint8_t *src_addr,
uint8_t *dst_addr, uint16_t pkt_data_len)
{
- ip_hdr->vtc_flow = 0;
- ip_hdr->payload_len = pkt_data_len;
+ ip_hdr->vtc_flow = rte_cpu_to_be_32(0x60000000); /* Set version to 6. */
+ ip_hdr->payload_len = rte_cpu_to_be_16(pkt_data_len);
ip_hdr->proto = IPPROTO_UDP;
ip_hdr->hop_limits = IP_DEFTTL;