void bond_mode_alb_arp_recv(struct ether_hdr *eth_h, uint16_t offset,
struct bond_dev_private *internals) {
- struct arp_hdr *arp;
+ struct rte_arp_hdr *arp;
struct client_data *hash_table = internals->mode6.client_table;
struct client_data *client_info;
uint8_t hash_index;
- arp = (struct arp_hdr *) ((char *) (eth_h + 1) + offset);
+ arp = (struct rte_arp_hdr *)((char *)(eth_h + 1) + offset);
/* ARP Requests are forwarded to the application with no changes */
- if (arp->arp_op != rte_cpu_to_be_16(ARP_OP_REPLY))
+ if (arp->arp_opcode != rte_cpu_to_be_16(ARP_OP_REPLY))
return;
/* From now on, we analyze only ARP Reply packets */
bond_mode_alb_arp_xmit(struct ether_hdr *eth_h, uint16_t offset,
struct bond_dev_private *internals)
{
- struct arp_hdr *arp;
+ struct rte_arp_hdr *arp;
struct client_data *hash_table = internals->mode6.client_table;
struct client_data *client_info;
struct ether_addr bonding_mac;
- arp = (struct arp_hdr *)((char *)(eth_h + 1) + offset);
+ arp = (struct rte_arp_hdr *)((char *)(eth_h + 1) + offset);
/*
* Traffic with src MAC other than bonding should be sent on
client_info = &hash_table[hash_index];
rte_spinlock_lock(&internals->mode6.lock);
- if (arp->arp_op == rte_cpu_to_be_16(ARP_OP_REPLY)) {
+ if (arp->arp_opcode == rte_cpu_to_be_16(ARP_OP_REPLY)) {
if (client_info->in_use) {
if (client_info->app_ip == arp->arp_data.arp_sip &&
client_info->cli_ip == arp->arp_data.arp_tip) {
struct rte_mbuf *pkt, struct bond_dev_private *internals)
{
struct ether_hdr *eth_h;
- struct arp_hdr *arp_h;
+ struct rte_arp_hdr *arp_h;
uint16_t slave_idx;
rte_spinlock_lock(&internals->mode6.lock);
else
eth_h->ether_type = rte_cpu_to_be_16(ETHER_TYPE_ARP);
- arp_h = (struct arp_hdr *)((char *)eth_h + sizeof(struct ether_hdr)
+ arp_h = (struct rte_arp_hdr *)((char *)eth_h + sizeof(struct ether_hdr)
+ client_info->vlan_count * sizeof(struct vlan_hdr));
memcpy(eth_h + 1, client_info->vlan,
ether_addr_copy(&client_info->cli_mac, &arp_h->arp_data.arp_tha);
arp_h->arp_data.arp_tip = client_info->cli_ip;
- arp_h->arp_hrd = rte_cpu_to_be_16(ARP_HRD_ETHER);
- arp_h->arp_pro = rte_cpu_to_be_16(ETHER_TYPE_IPv4);
- arp_h->arp_hln = ETHER_ADDR_LEN;
- arp_h->arp_pln = sizeof(uint32_t);
- arp_h->arp_op = rte_cpu_to_be_16(ARP_OP_REPLY);
+ arp_h->arp_hardware = rte_cpu_to_be_16(ARP_HRD_ETHER);
+ arp_h->arp_protocol = rte_cpu_to_be_16(ETHER_TYPE_IPv4);
+ arp_h->arp_hlen = ETHER_ADDR_LEN;
+ arp_h->arp_plen = sizeof(uint32_t);
+ arp_h->arp_opcode = rte_cpu_to_be_16(ARP_OP_REPLY);
slave_idx = client_info->slave_idx;
rte_spinlock_unlock(&internals->mode6.lock);