#include <dpdk/device/dpdk_priv.h>
+#define ETHER_MAX_LEN 1518 /**< Maximum frame len, including CRC. */
+
dpdk_main_t dpdk_main;
dpdk_config_main_t dpdk_config_main;
uword *p_hqos;
u32 next_hqos_cpu = 0;
- u8 af_packet_port_id = 0;
- u8 bond_ether_port_id = 0;
+ u8 af_packet_instance_num = 0;
+ u8 bond_ether_instance_num = 0;
last_pci_addr.as_u32 = ~0;
dm->hqos_cpu_first_index = 0;
case VNET_DPDK_PMD_AF_PACKET:
xd->port_type = VNET_DPDK_PORT_TYPE_AF_PACKET;
- xd->port_id = af_packet_port_id++;
+ xd->af_packet_instance_num = af_packet_instance_num++;
break;
case VNET_DPDK_PMD_BOND:
xd->port_type = VNET_DPDK_PORT_TYPE_ETH_BOND;
- xd->port_id = bond_ether_port_id++;
+ xd->bond_instance_num = bond_ether_instance_num++;
break;
case VNET_DPDK_PMD_VIRTIO_USER:
xd->port_type = VNET_DPDK_PORT_TYPE_VHOST_ETHER;
break;
+ case VNET_DPDK_PMD_LIOVF_ETHER:
+ xd->port_type = VNET_DPDK_PORT_TYPE_ETH_VF;
+ break;
+
default:
xd->port_type = VNET_DPDK_PORT_TYPE_UNKNOWN;
}
else
clib_warning ("hi NULL");
+ if (dm->conf->no_multi_seg)
+ mtu = mtu > ETHER_MAX_LEN ? ETHER_MAX_LEN : mtu;
+
rte_eth_dev_set_mtu (xd->device_index, mtu);
}
/* Amazen Elastic Network Adapter */
else if (d->vendor_id == 0x1d0f && d->device_id >= 0xec20 && d->device_id <= 0xec21)
;
+ /* Cavium Network Adapter */
+ else if (d->vendor_id == 0x177d && d->device_id == 0x9712)
+ ;
/* Mellanox */
else if (d->vendor_id == 0x15b3 && d->device_id >= 0x1013 && d->device_id <= 0x101a)
{
/* Set MAC of bounded interface to that of 1st slave link */
dpdk_log_info ("Set MAC for bond port %d BondEthernet%d",
- i, xd->port_id);
+ i, xd->bond_instance_num);
rv = rte_eth_bond_mac_address_set
(i, (struct ether_addr *) addr);
if (rv)