clib_error_t *
dpdk_port_setup (dpdk_main_t * dm, dpdk_device_t * xd)
{
- vlib_main_t *vm = vlib_get_main ();
- vlib_buffer_main_t *bm = vm->buffer_main;
int rv;
int j;
rv = rte_eth_rx_queue_setup (xd->device_index, j, xd->nb_rx_desc,
xd->cpu_socket, 0,
- bm->
+ dm->
pktmbuf_pools[xd->cpu_socket_id_by_queue
[j]]);
if (rv < 0)
rv = rte_eth_rx_queue_setup (xd->device_index, j, xd->nb_rx_desc,
SOCKET_ID_ANY, 0,
- bm->
+ dm->
pktmbuf_pools[xd->cpu_socket_id_by_queue
[j]]);
if (rv < 0)
{
int rv;
rv = rte_eth_dev_start (xd->device_index);
+ if (!rv && xd->default_mac_address)
+ rv = rte_eth_dev_default_mac_addr_set (xd->device_index,
+ (struct ether_addr *)
+ xd->default_mac_address);
if (rv < 0)
clib_warning ("rte_eth_dev_start %d returned %d",
xd->device_index, rv);
if (xd->flags & DPDK_DEVICE_FLAG_ADMIN_UP)
{
int rv = rte_eth_dev_start (xd->device_index);
+ if (!rv && xd->default_mac_address)
+ rv = rte_eth_dev_default_mac_addr_set (xd->device_index,
+ (struct ether_addr *)
+ xd->default_mac_address);
if (rv < 0)
clib_warning ("rte_eth_dev_start %d returned %d",
xd->device_index, rv);
vec_reset_length (pci_addr);
pci_addr = format (pci_addr, "%U%c", format_vlib_pci_addr, &d->bus_address, 0);
- if (d->device_class != PCI_CLASS_NETWORK_ETHERNET)
+ if (d->device_class != PCI_CLASS_NETWORK_ETHERNET && d->device_class != PCI_CLASS_PROCESSOR_CO)
continue;
if (num_whitelisted)
else if (unformat (input, "no-multi-seg"))
conf->no_multi_seg = 1;
+ else if (unformat (input, "enable-cryptodev"))
+ conf->cryptodev = 1;
+
else if (unformat (input, "dev default %U", unformat_vlib_cli_sub_input,
&sub_input))
{
tmp = format (0, "--%s%c", #a, 0); \
vec_add1 (conf->eal_init_args, tmp); \
vec_add1 (s, 0); \
+ if (!strncmp(#a, "vdev", 4)) \
+ if (strstr((char*)s, "af_packet")) \
+ clib_warning ("af_packet obsoleted. Use CLI 'create host-interface'."); \
vec_add1 (conf->eal_init_args, s); \
}
foreach_eal_double_hyphen_arg
}
if (!conf->uio_driver_name)
- conf->uio_driver_name = format (0, "igb_uio%c", 0);
+ conf->uio_driver_name = format (0, "uio_pci_generic%c", 0);
/*
* Use 1G huge pages if available.
/* Default vlib_buffer_t flags, DISABLES tcp/udp checksumming... */
dm->buffer_flags_template =
- (VLIB_BUFFER_TOTAL_LENGTH_VALID | VNET_BUFFER_RTE_MBUF_VALID
+ (VLIB_BUFFER_TOTAL_LENGTH_VALID | VLIB_BUFFER_EXT_HDR_VALID
| IP_BUFFER_L4_CHECKSUM_COMPUTED | IP_BUFFER_L4_CHECKSUM_CORRECT);
dm->stat_poll_interval = DPDK_STATS_POLL_INTERVAL;