X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Fpacket_burst_generator.c;h=f203f9d09efc7eecc75a36348973e5550cab99d8;hb=1cf65e4341a74abc3977f27b2042fc3ab390af99;hp=ba94e6193d78f12232c5f1aa61d8aa166eb41a90;hpb=538da7a1cad25fbdffe298c8ca76fc4dbd262d1b;p=dpdk.git diff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c index ba94e6193d..f203f9d09e 100644 --- a/app/test/packet_burst_generator.c +++ b/app/test/packet_burst_generator.c @@ -4,6 +4,7 @@ #include #include +#include #include "packet_burst_generator.h" @@ -12,9 +13,6 @@ #define IP_DEFTTL 64 /* from RFC 1340. */ -#define IP_VERSION 0x40 -#define IP_HDRLEN 0x05 /* default IP header length == five 32-bits words. */ -#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN) static void copy_buf_to_pkt_segs(void *buf, unsigned len, struct rte_mbuf *pkt, @@ -65,7 +63,7 @@ initialize_eth_header(struct rte_ether_hdr *eth_hdr, struct rte_vlan_hdr *vhdr = (struct rte_vlan_hdr *)( (uint8_t *)eth_hdr + sizeof(struct rte_ether_hdr)); - eth_hdr->ether_type = rte_cpu_to_be_16(ETHER_TYPE_VLAN); + eth_hdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN); vhdr->eth_proto = rte_cpu_to_be_16(ether_type); vhdr->vlan_tci = van_id; @@ -82,8 +80,8 @@ initialize_arp_header(struct rte_arp_hdr *arp_hdr, uint32_t opcode) { arp_hdr->arp_hardware = rte_cpu_to_be_16(RTE_ARP_HRD_ETHER); - arp_hdr->arp_protocol = rte_cpu_to_be_16(ETHER_TYPE_IPv4); - arp_hdr->arp_hlen = ETHER_ADDR_LEN; + arp_hdr->arp_protocol = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4); + arp_hdr->arp_hlen = RTE_ETHER_ADDR_LEN; arp_hdr->arp_plen = sizeof(uint32_t); arp_hdr->arp_opcode = rte_cpu_to_be_16(opcode); rte_ether_addr_copy(src_mac, &arp_hdr->arp_data.arp_sha); @@ -93,12 +91,12 @@ initialize_arp_header(struct rte_arp_hdr *arp_hdr, } uint16_t -initialize_udp_header(struct udp_hdr *udp_hdr, uint16_t src_port, +initialize_udp_header(struct rte_udp_hdr *udp_hdr, uint16_t src_port, uint16_t dst_port, uint16_t pkt_data_len) { uint16_t pkt_len; - pkt_len = (uint16_t) (pkt_data_len + sizeof(struct udp_hdr)); + pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_udp_hdr)); udp_hdr->src_port = rte_cpu_to_be_16(src_port); udp_hdr->dst_port = rte_cpu_to_be_16(dst_port); @@ -109,14 +107,14 @@ initialize_udp_header(struct udp_hdr *udp_hdr, uint16_t src_port, } uint16_t -initialize_tcp_header(struct tcp_hdr *tcp_hdr, uint16_t src_port, +initialize_tcp_header(struct rte_tcp_hdr *tcp_hdr, uint16_t src_port, uint16_t dst_port, uint16_t pkt_data_len) { uint16_t pkt_len; - pkt_len = (uint16_t) (pkt_data_len + sizeof(struct tcp_hdr)); + pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_tcp_hdr)); - memset(tcp_hdr, 0, sizeof(struct tcp_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); @@ -124,12 +122,12 @@ initialize_tcp_header(struct tcp_hdr *tcp_hdr, uint16_t src_port, } uint16_t -initialize_sctp_header(struct sctp_hdr *sctp_hdr, uint16_t src_port, +initialize_sctp_header(struct rte_sctp_hdr *sctp_hdr, uint16_t src_port, uint16_t dst_port, uint16_t pkt_data_len) { uint16_t pkt_len; - pkt_len = (uint16_t) (pkt_data_len + sizeof(struct udp_hdr)); + pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_udp_hdr)); sctp_hdr->src_port = rte_cpu_to_be_16(src_port); sctp_hdr->dst_port = rte_cpu_to_be_16(dst_port); @@ -140,7 +138,7 @@ initialize_sctp_header(struct sctp_hdr *sctp_hdr, uint16_t src_port, } uint16_t -initialize_ipv6_header(struct ipv6_hdr *ip_hdr, uint8_t *src_addr, +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; @@ -151,11 +149,11 @@ initialize_ipv6_header(struct ipv6_hdr *ip_hdr, uint8_t *src_addr, rte_memcpy(ip_hdr->src_addr, src_addr, sizeof(ip_hdr->src_addr)); rte_memcpy(ip_hdr->dst_addr, dst_addr, sizeof(ip_hdr->dst_addr)); - return (uint16_t) (pkt_data_len + sizeof(struct ipv6_hdr)); + return (uint16_t) (pkt_data_len + sizeof(struct rte_ipv6_hdr)); } uint16_t -initialize_ipv4_header(struct ipv4_hdr *ip_hdr, uint32_t src_addr, +initialize_ipv4_header(struct rte_ipv4_hdr *ip_hdr, uint32_t src_addr, uint32_t dst_addr, uint16_t pkt_data_len) { uint16_t pkt_len; @@ -165,9 +163,9 @@ initialize_ipv4_header(struct ipv4_hdr *ip_hdr, uint32_t src_addr, /* * Initialize IP header. */ - pkt_len = (uint16_t) (pkt_data_len + sizeof(struct ipv4_hdr)); + pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_ipv4_hdr)); - ip_hdr->version_ihl = IP_VHL_DEF; + ip_hdr->version_ihl = RTE_IPV4_VHL_DEF; ip_hdr->type_of_service = 0; ip_hdr->fragment_offset = 0; ip_hdr->time_to_live = IP_DEFTTL; @@ -203,7 +201,7 @@ initialize_ipv4_header(struct ipv4_hdr *ip_hdr, uint32_t src_addr, } uint16_t -initialize_ipv4_header_proto(struct ipv4_hdr *ip_hdr, uint32_t src_addr, +initialize_ipv4_header_proto(struct rte_ipv4_hdr *ip_hdr, uint32_t src_addr, uint32_t dst_addr, uint16_t pkt_data_len, uint8_t proto) { uint16_t pkt_len; @@ -213,9 +211,9 @@ initialize_ipv4_header_proto(struct ipv4_hdr *ip_hdr, uint32_t src_addr, /* * Initialize IP header. */ - pkt_len = (uint16_t) (pkt_data_len + sizeof(struct ipv4_hdr)); + pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_ipv4_hdr)); - ip_hdr->version_ihl = IP_VHL_DEF; + ip_hdr->version_ihl = RTE_IPV4_VHL_DEF; ip_hdr->type_of_service = 0; ip_hdr->fragment_offset = 0; ip_hdr->time_to_live = IP_DEFTTL; @@ -260,7 +258,7 @@ initialize_ipv4_header_proto(struct ipv4_hdr *ip_hdr, uint32_t src_addr, int generate_packet_burst(struct rte_mempool *mp, struct rte_mbuf **pkts_burst, struct rte_ether_hdr *eth_hdr, uint8_t vlan_enabled, - void *ip_hdr, uint8_t ipv4, struct udp_hdr *udp_hdr, + void *ip_hdr, uint8_t ipv4, struct rte_udp_hdr *udp_hdr, int nb_pkt_per_burst, uint8_t pkt_len, uint8_t nb_pkt_segs) { int i, nb_pkt = 0; @@ -304,13 +302,15 @@ nomore_mbuf: copy_buf_to_pkt(eth_hdr, eth_hdr_size, pkt, 0); if (ipv4) { - copy_buf_to_pkt(ip_hdr, sizeof(struct ipv4_hdr), pkt, eth_hdr_size); - copy_buf_to_pkt(udp_hdr, sizeof(*udp_hdr), pkt, eth_hdr_size + - sizeof(struct ipv4_hdr)); + copy_buf_to_pkt(ip_hdr, sizeof(struct rte_ipv4_hdr), + pkt, eth_hdr_size); + copy_buf_to_pkt(udp_hdr, sizeof(*udp_hdr), pkt, + eth_hdr_size + sizeof(struct rte_ipv4_hdr)); } else { - copy_buf_to_pkt(ip_hdr, sizeof(struct ipv6_hdr), pkt, eth_hdr_size); - copy_buf_to_pkt(udp_hdr, sizeof(*udp_hdr), pkt, eth_hdr_size + - sizeof(struct ipv6_hdr)); + copy_buf_to_pkt(ip_hdr, sizeof(struct rte_ipv6_hdr), + pkt, eth_hdr_size); + copy_buf_to_pkt(udp_hdr, sizeof(*udp_hdr), pkt, + eth_hdr_size + sizeof(struct rte_ipv6_hdr)); } /* @@ -322,11 +322,11 @@ nomore_mbuf: pkt->l2_len = eth_hdr_size; if (ipv4) { - pkt->vlan_tci = ETHER_TYPE_IPv4; - pkt->l3_len = sizeof(struct ipv4_hdr); + pkt->vlan_tci = RTE_ETHER_TYPE_IPV4; + pkt->l3_len = sizeof(struct rte_ipv4_hdr); } else { - pkt->vlan_tci = ETHER_TYPE_IPv6; - pkt->l3_len = sizeof(struct ipv6_hdr); + pkt->vlan_tci = RTE_ETHER_TYPE_IPV6; + pkt->l3_len = sizeof(struct rte_ipv6_hdr); } pkts_burst[nb_pkt] = pkt; @@ -383,45 +383,51 @@ nomore_mbuf: copy_buf_to_pkt(eth_hdr, eth_hdr_size, pkt, 0); if (ipv4) { - copy_buf_to_pkt(ip_hdr, sizeof(struct ipv4_hdr), pkt, - eth_hdr_size); + copy_buf_to_pkt(ip_hdr, sizeof(struct rte_ipv4_hdr), + pkt, eth_hdr_size); switch (proto) { case IPPROTO_UDP: copy_buf_to_pkt(proto_hdr, - sizeof(struct udp_hdr), pkt, - eth_hdr_size + sizeof(struct ipv4_hdr)); + sizeof(struct rte_udp_hdr), pkt, + eth_hdr_size + + sizeof(struct rte_ipv4_hdr)); break; case IPPROTO_TCP: copy_buf_to_pkt(proto_hdr, - sizeof(struct tcp_hdr), pkt, - eth_hdr_size + sizeof(struct ipv4_hdr)); + sizeof(struct rte_tcp_hdr), pkt, + eth_hdr_size + + sizeof(struct rte_ipv4_hdr)); break; case IPPROTO_SCTP: copy_buf_to_pkt(proto_hdr, - sizeof(struct sctp_hdr), pkt, - eth_hdr_size + sizeof(struct ipv4_hdr)); + sizeof(struct rte_sctp_hdr), pkt, + eth_hdr_size + + sizeof(struct rte_ipv4_hdr)); break; default: break; } } else { - copy_buf_to_pkt(ip_hdr, sizeof(struct ipv6_hdr), pkt, - eth_hdr_size); + copy_buf_to_pkt(ip_hdr, sizeof(struct rte_ipv6_hdr), + pkt, eth_hdr_size); switch (proto) { case IPPROTO_UDP: copy_buf_to_pkt(proto_hdr, - sizeof(struct udp_hdr), pkt, - eth_hdr_size + sizeof(struct ipv6_hdr)); + sizeof(struct rte_udp_hdr), pkt, + eth_hdr_size + + sizeof(struct rte_ipv6_hdr)); break; case IPPROTO_TCP: copy_buf_to_pkt(proto_hdr, - sizeof(struct tcp_hdr), pkt, - eth_hdr_size + sizeof(struct ipv6_hdr)); + sizeof(struct rte_tcp_hdr), pkt, + eth_hdr_size + + sizeof(struct rte_ipv6_hdr)); break; case IPPROTO_SCTP: copy_buf_to_pkt(proto_hdr, - sizeof(struct sctp_hdr), pkt, - eth_hdr_size + sizeof(struct ipv6_hdr)); + sizeof(struct rte_sctp_hdr), pkt, + eth_hdr_size + + sizeof(struct rte_ipv6_hdr)); break; default: break; @@ -437,11 +443,11 @@ nomore_mbuf: pkt->l2_len = eth_hdr_size; if (ipv4) { - pkt->vlan_tci = ETHER_TYPE_IPv4; - pkt->l3_len = sizeof(struct ipv4_hdr); + pkt->vlan_tci = RTE_ETHER_TYPE_IPV4; + pkt->l3_len = sizeof(struct rte_ipv4_hdr); } else { - pkt->vlan_tci = ETHER_TYPE_IPv6; - pkt->l3_len = sizeof(struct ipv6_hdr); + pkt->vlan_tci = RTE_ETHER_TYPE_IPV6; + pkt->l3_len = sizeof(struct rte_ipv6_hdr); } pkts_burst[nb_pkt] = pkt;