Set new pktio capability supported set operations flags (promisc_mode) for pktio devices.
Configuring promiscuous mode is not supported for virtual netmap VALE/pipe devices. Reviewed-by: Petri Savolainen <petri.savolai...@nokia.com> Signed-off-by: Matias Elo <matias....@nokia.com> --- platform/linux-generic/odp_packet_io.c | 1 + platform/linux-generic/pktio/dpdk.c | 1 + platform/linux-generic/pktio/netmap.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index e3827ae..14191df 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -1282,6 +1282,7 @@ int single_capability(odp_pktio_capability_t *capa) memset(capa, 0, sizeof(odp_pktio_capability_t)); capa->max_input_queues = 1; capa->max_output_queues = 1; + capa->set_op.op.promisc_mode = 1; return 0; } diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c index c81bb43..83a8666 100644 --- a/platform/linux-generic/pktio/dpdk.c +++ b/platform/linux-generic/pktio/dpdk.c @@ -445,6 +445,7 @@ static int dpdk_open(odp_pktio_t id ODP_UNUSED, PKTIO_MAX_QUEUES); pkt_dpdk->capa.max_output_queues = RTE_MIN(dev_info.max_tx_queues, PKTIO_MAX_QUEUES); + pkt_dpdk->capa.set_op.op.promisc_mode = 1; if (rte_eth_dev_get_mtu(pktio_entry->s.pkt_dpdk.port_id, &mtu) != 0) { ODP_ERR("Failed to read interface MTU\n"); diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index 5828669..19a4d9e 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -345,6 +345,8 @@ static int netmap_open(odp_pktio_t id ODP_UNUSED, pktio_entry_t *pktio_entry, if (desc->nifp->ni_tx_rings < PKTIO_MAX_QUEUES) pkt_nm->capa.max_output_queues = desc->nifp->ni_tx_rings; + pkt_nm->capa.set_op.op.promisc_mode = 1; + ring = NETMAP_RXRING(desc->nifp, desc->cur_rx_ring); buf_size = ring->nr_buf_size; nm_close(desc); @@ -358,6 +360,7 @@ static int netmap_open(odp_pktio_t id ODP_UNUSED, pktio_entry_t *pktio_entry, static unsigned mac; pkt_nm->capa.max_input_queues = 1; + pkt_nm->capa.set_op.op.promisc_mode = 0; pkt_nm->mtu = buf_size; pktio_entry->s.stats_type = STATS_UNSUPPORTED; /* Set MAC address for virtual interface */ -- 1.9.1 _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp