diff options
author | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-06-08 10:07:22 +0300 |
---|---|---|
committer | Zoltan Kiss <zoltan.kiss@linaro.org> | 2015-06-09 19:34:50 +0100 |
commit | 19121fd26494c136b3ec5734dccd26abc0751335 (patch) | |
tree | b0c1a106c2b3ca8a35f2e714e6eb138efa6ac640 /platform/linux-dpdk/odp_packet_dpdk.c | |
parent | 3000df7d88b57af6ed2c1c2b383e1966818d556f (diff) |
dpdk: pktio implement promisc mode on vdevs
DPDK PMD vdev like pcap does not support switching promisc mode.
Use system calls for corresponding devices.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
Diffstat (limited to 'platform/linux-dpdk/odp_packet_dpdk.c')
-rw-r--r-- | platform/linux-dpdk/odp_packet_dpdk.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/platform/linux-dpdk/odp_packet_dpdk.c b/platform/linux-dpdk/odp_packet_dpdk.c index 472cb1b4a..2b6a8c8a3 100644 --- a/platform/linux-dpdk/odp_packet_dpdk.c +++ b/platform/linux-dpdk/odp_packet_dpdk.c @@ -171,6 +171,11 @@ int setup_pkt_dpdk(pkt_dpdk_t * const pkt_dpdk, const char *netdev, } rte_eth_promiscuous_enable(portid); + /* Some DPDK PMD vdev like pcap do not support promisc mode change. Use + * system call for them. */ + if (!rte_eth_promiscuous_get(portid)) + pkt_dpdk->vdev_sysc_promisc = 1; + rte_eth_allmulticast_enable(portid); return 0; } |