static const char *
arp_op_name(uint16_t arp_op)
{
- switch (arp_op ) {
- case ARP_OP_REQUEST:
+ switch (arp_op) {
+ case RTE_ARP_OP_REQUEST:
return "ARP Request";
- case ARP_OP_REPLY:
+ case RTE_ARP_OP_REPLY:
return "ARP Reply";
- case ARP_OP_REVREQUEST:
+ case RTE_ARP_OP_REVREQUEST:
return "Reverse ARP Request";
- case ARP_OP_REVREPLY:
+ case RTE_ARP_OP_REVREPLY:
return "Reverse ARP Reply";
- case ARP_OP_INVREQUEST:
+ case RTE_ARP_OP_INVREQUEST:
return "Peer Identify Request";
- case ARP_OP_INVREPLY:
+ case RTE_ARP_OP_INVREPLY:
return "Peer Identify Reply";
default:
break;
}
static void
-ether_addr_dump(const char *what, const struct ether_addr *ea)
+ether_addr_dump(const char *what, const struct rte_ether_addr *ea)
{
char buf[ETHER_ADDR_FMT_SIZE];
- ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, ea);
+ rte_ether_format_addr(buf, ETHER_ADDR_FMT_SIZE, ea);
if (what)
printf("%s", what);
printf("%s", buf);
{
struct rte_mbuf *pkts_burst[MAX_PKT_BURST];
struct rte_mbuf *pkt;
- struct ether_hdr *eth_h;
- struct vlan_hdr *vlan_h;
- struct arp_hdr *arp_h;
+ struct rte_ether_hdr *eth_h;
+ struct rte_vlan_hdr *vlan_h;
+ struct rte_arp_hdr *arp_h;
struct ipv4_hdr *ip_h;
struct icmp_hdr *icmp_h;
- struct ether_addr eth_addr;
+ struct rte_ether_addr eth_addr;
uint32_t retry;
uint32_t ip_addr;
uint16_t nb_rx;
rte_prefetch0(rte_pktmbuf_mtod(pkts_burst[i + 1],
void *));
pkt = pkts_burst[i];
- eth_h = rte_pktmbuf_mtod(pkt, struct ether_hdr *);
+ eth_h = rte_pktmbuf_mtod(pkt, struct rte_ether_hdr *);
eth_type = RTE_BE_TO_CPU_16(eth_h->ether_type);
- l2_len = sizeof(struct ether_hdr);
+ l2_len = sizeof(struct rte_ether_hdr);
if (verbose_level > 0) {
printf("\nPort %d pkt-len=%u nb-segs=%u\n",
fs->rx_port, pkt->pkt_len, pkt->nb_segs);
ether_addr_dump(" dst=", ð_h->d_addr);
}
if (eth_type == ETHER_TYPE_VLAN) {
- vlan_h = (struct vlan_hdr *)
- ((char *)eth_h + sizeof(struct ether_hdr));
- l2_len += sizeof(struct vlan_hdr);
+ vlan_h = (struct rte_vlan_hdr *)
+ ((char *)eth_h + sizeof(struct rte_ether_hdr));
+ l2_len += sizeof(struct rte_vlan_hdr);
eth_type = rte_be_to_cpu_16(vlan_h->eth_proto);
if (verbose_level > 0) {
vlan_id = rte_be_to_cpu_16(vlan_h->vlan_tci)
/* Reply to ARP requests */
if (eth_type == ETHER_TYPE_ARP) {
- arp_h = (struct arp_hdr *) ((char *)eth_h + l2_len);
- arp_op = RTE_BE_TO_CPU_16(arp_h->arp_op);
- arp_pro = RTE_BE_TO_CPU_16(arp_h->arp_pro);
+ arp_h = (struct rte_arp_hdr *) ((char *)eth_h + l2_len);
+ arp_op = RTE_BE_TO_CPU_16(arp_h->arp_opcode);
+ arp_pro = RTE_BE_TO_CPU_16(arp_h->arp_protocol);
if (verbose_level > 0) {
printf(" ARP: hrd=%d proto=0x%04x hln=%d "
"pln=%d op=%u (%s)\n",
- RTE_BE_TO_CPU_16(arp_h->arp_hrd),
- arp_pro, arp_h->arp_hln,
- arp_h->arp_pln, arp_op,
+ RTE_BE_TO_CPU_16(arp_h->arp_hardware),
+ arp_pro, arp_h->arp_hlen,
+ arp_h->arp_plen, arp_op,
arp_op_name(arp_op));
}
- if ((RTE_BE_TO_CPU_16(arp_h->arp_hrd) !=
- ARP_HRD_ETHER) ||
+ if ((RTE_BE_TO_CPU_16(arp_h->arp_hardware) !=
+ RTE_ARP_HRD_ETHER) ||
(arp_pro != ETHER_TYPE_IPv4) ||
- (arp_h->arp_hln != 6) ||
- (arp_h->arp_pln != 4)
+ (arp_h->arp_hlen != 6) ||
+ (arp_h->arp_plen != 4)
) {
rte_pktmbuf_free(pkt);
if (verbose_level > 0)
continue;
}
if (verbose_level > 0) {
- ether_addr_copy(&arp_h->arp_data.arp_sha, ð_addr);
+ rte_ether_addr_copy(&arp_h->arp_data.arp_sha,
+ ð_addr);
ether_addr_dump(" sha=", ð_addr);
ip_addr = arp_h->arp_data.arp_sip;
ipv4_addr_dump(" sip=", ip_addr);
printf("\n");
- ether_addr_copy(&arp_h->arp_data.arp_tha, ð_addr);
+ rte_ether_addr_copy(&arp_h->arp_data.arp_tha,
+ ð_addr);
ether_addr_dump(" tha=", ð_addr);
ip_addr = arp_h->arp_data.arp_tip;
ipv4_addr_dump(" tip=", ip_addr);
printf("\n");
}
- if (arp_op != ARP_OP_REQUEST) {
+ if (arp_op != RTE_ARP_OP_REQUEST) {
rte_pktmbuf_free(pkt);
continue;
}
*/
/* Use source MAC address as destination MAC address. */
- ether_addr_copy(ð_h->s_addr, ð_h->d_addr);
+ rte_ether_addr_copy(ð_h->s_addr, ð_h->d_addr);
/* Set source MAC address with MAC address of TX port */
- ether_addr_copy(&ports[fs->tx_port].eth_addr,
+ rte_ether_addr_copy(&ports[fs->tx_port].eth_addr,
ð_h->s_addr);
- arp_h->arp_op = rte_cpu_to_be_16(ARP_OP_REPLY);
- ether_addr_copy(&arp_h->arp_data.arp_tha, ð_addr);
- ether_addr_copy(&arp_h->arp_data.arp_sha, &arp_h->arp_data.arp_tha);
- ether_addr_copy(ð_h->s_addr, &arp_h->arp_data.arp_sha);
+ arp_h->arp_opcode = rte_cpu_to_be_16(RTE_ARP_OP_REPLY);
+ rte_ether_addr_copy(&arp_h->arp_data.arp_tha,
+ ð_addr);
+ rte_ether_addr_copy(&arp_h->arp_data.arp_sha,
+ &arp_h->arp_data.arp_tha);
+ rte_ether_addr_copy(ð_h->s_addr,
+ &arp_h->arp_data.arp_sha);
/* Swap IP addresses in ARP payload */
ip_addr = arp_h->arp_data.arp_sip;
* ICMP checksum is computed by assuming it is valid in the
* echo request and not verified.
*/
- ether_addr_copy(ð_h->s_addr, ð_addr);
- ether_addr_copy(ð_h->d_addr, ð_h->s_addr);
- ether_addr_copy(ð_addr, ð_h->d_addr);
+ rte_ether_addr_copy(ð_h->s_addr, ð_addr);
+ rte_ether_addr_copy(ð_h->d_addr, ð_h->s_addr);
+ rte_ether_addr_copy(ð_addr, ð_h->d_addr);
ip_addr = ip_h->src_addr;
if (is_multicast_ipv4_addr(ip_h->dst_addr)) {
uint32_t ip_src;