On 1/13/21 9:59 PM, Myth Ren wrote:
Hi, all
is it possible we are mirror traffic from switch/router to PF, then a
program based on DPDK
read packet from a VF related to the PF, presume we are mirror the traffic
from PF to the VF (promiscuous),
while the PF device still managed by the kernel driver(if it's possible),
or managed by UIO driver.
at least, restart the DPDK based program will not influence the PF device
state.
You should be specific about the NIC/PMD you're using here. One use
case for PF/VF is that the PF will run in the host operating system and
the VF will be passed-through to a virtual machine. Because of this,
NICs will often support a feature to actively prevent a VF from snooping
on the traffic seen by the PF for security, limiting it to only
broadcast/multicast traffic and unicast traffic with a matching MAC
address. The ability for a VF to enable promiscuous mode and see PF
traffic, if it is supported on the NIC, is likely to be NIC/PMD specific
implementation.
And why the need for a VF in the first place? If the switch/router is
external to the box and forwarding traffic into the PF, why not just
catch the traffic from the PF? You'll need a second PF anyway to send
the traffic onward (like a bump-in-the-wire implementation), unless
you're mangling the packets for some reason to change their address,
adding a VLAN or other tag, etc. A drawing of what you're trying to
implement would be useful here.
Dave