"PIM", /**< Protocol Independent Mcast */
};
- if (ip_proto < sizeof(ip_proto_names) / sizeof(ip_proto_names[0]))
+ if (ip_proto < RTE_DIM(ip_proto_names))
return ip_proto_names[ip_proto];
switch (ip_proto) {
#ifdef IPPROTO_PGM
}
static uint16_t
-ipv4_hdr_cksum(struct ipv4_hdr *ip_h)
+ipv4_hdr_cksum(struct rte_ipv4_hdr *ip_h)
{
uint16_t *v16_h;
uint32_t ip_cksum;
struct rte_ether_hdr *eth_h;
struct rte_vlan_hdr *vlan_h;
struct rte_arp_hdr *arp_h;
- struct ipv4_hdr *ip_h;
+ struct rte_ipv4_hdr *ip_h;
struct rte_icmp_hdr *icmp_h;
struct rte_ether_addr eth_addr;
uint32_t retry;
uint32_t cksum;
uint8_t i;
int l2_len;
-#ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
- uint64_t start_tsc;
- uint64_t end_tsc;
- uint64_t core_cycles;
-#endif
+ uint64_t start_tsc = 0;
-#ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
- start_tsc = rte_rdtsc();
-#endif
+ get_start_cycles(&start_tsc);
/*
* First, receive a burst of packets.
*/
nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, pkts_burst,
nb_pkt_per_burst);
+ inc_rx_burst_stats(fs, nb_rx);
if (unlikely(nb_rx == 0))
return;
-#ifdef RTE_TEST_PMD_RECORD_BURST_STATS
- fs->rx_burst_stats.pkt_burst_spread[nb_rx]++;
-#endif
fs->rx_packets += nb_rx;
nb_replies = 0;
for (i = 0; i < nb_rx; i++) {
}
if ((RTE_BE_TO_CPU_16(arp_h->arp_hardware) !=
RTE_ARP_HRD_ETHER) ||
- (arp_pro != RTE_ETHER_TYPE_IPv4) ||
+ (arp_pro != RTE_ETHER_TYPE_IPV4) ||
(arp_h->arp_hlen != 6) ||
(arp_h->arp_plen != 4)
) {
continue;
}
- if (eth_type != RTE_ETHER_TYPE_IPv4) {
+ if (eth_type != RTE_ETHER_TYPE_IPV4) {
rte_pktmbuf_free(pkt);
continue;
}
- ip_h = (struct ipv4_hdr *) ((char *)eth_h + l2_len);
+ ip_h = (struct rte_ipv4_hdr *) ((char *)eth_h + l2_len);
if (verbose_level > 0) {
ipv4_addr_dump(" IPV4: src=", ip_h->src_addr);
ipv4_addr_dump(" dst=", ip_h->dst_addr);
* Check if packet is a ICMP echo request.
*/
icmp_h = (struct rte_icmp_hdr *) ((char *)ip_h +
- sizeof(struct ipv4_hdr));
+ sizeof(struct rte_ipv4_hdr));
if (! ((ip_h->next_proto_id == IPPROTO_ICMP) &&
- (icmp_h->icmp_type == IP_ICMP_ECHO_REQUEST) &&
+ (icmp_h->icmp_type == RTE_IP_ICMP_ECHO_REQUEST) &&
(icmp_h->icmp_code == 0))) {
rte_pktmbuf_free(pkt);
continue;
* - switch the request IP source and destination
* addresses in the reply IP header,
* - keep the IP header checksum unchanged.
- * - set IP_ICMP_ECHO_REPLY in ICMP header.
+ * - set RTE_IP_ICMP_ECHO_REPLY in ICMP header.
* ICMP checksum is computed by assuming it is valid in the
* echo request and not verified.
*/
ip_h->src_addr = ip_h->dst_addr;
ip_h->dst_addr = ip_addr;
}
- icmp_h->icmp_type = IP_ICMP_ECHO_REPLY;
+ icmp_h->icmp_type = RTE_IP_ICMP_ECHO_REPLY;
cksum = ~icmp_h->icmp_cksum & 0xffff;
- cksum += ~htons(IP_ICMP_ECHO_REQUEST << 8) & 0xffff;
- cksum += htons(IP_ICMP_ECHO_REPLY << 8);
+ cksum += ~htons(RTE_IP_ICMP_ECHO_REQUEST << 8) & 0xffff;
+ cksum += htons(RTE_IP_ICMP_ECHO_REPLY << 8);
cksum = (cksum & 0xffff) + (cksum >> 16);
cksum = (cksum & 0xffff) + (cksum >> 16);
icmp_h->icmp_cksum = ~cksum;
}
}
fs->tx_packets += nb_tx;
-#ifdef RTE_TEST_PMD_RECORD_BURST_STATS
- fs->tx_burst_stats.pkt_burst_spread[nb_tx]++;
-#endif
+ inc_tx_burst_stats(fs, nb_tx);
if (unlikely(nb_tx < nb_replies)) {
fs->fwd_dropped += (nb_replies - nb_tx);
do {
}
}
-#ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
- end_tsc = rte_rdtsc();
- core_cycles = (end_tsc - start_tsc);
- fs->core_cycles = (uint64_t) (fs->core_cycles + core_cycles);
-#endif
+ get_end_cycles(fs, start_tsc);
}
struct fwd_engine icmp_echo_engine = {