Hi ALex,
On 21/12/2017 14:51, Alex Rosenbaum wrote:
Declan, Mohammad,
The submission [1] of steering action between switch ports clearly
requires a switch model in DPDK.
The Port Representor based on a virtual PMD broker on NIC ops
(rte_dev_ops) does not provide the required functionality. Using NIC
terminology and not Switch API's will lead to a dead-end. Moreover, it
does not fit the Kernel design. We need to be careful from this ending
up as two different deployment models for users, which is very bad.
There was a long discussion about this in netdev ML [2], including the
VEPA mode support.
As described in the links Alejandro referenced earlier, each of the
switch ports should be a real PMD, and switch operations should be
applied on these PMD ports.
This includes the steering redirection of traffic between switch ports
[1], port ACL's to block/allow traffic, VST/VGT modes and anti
spoofing, link trust mode [3] for promiscuous configuration, mirroring
of switch port traffic, and Tx and Rx of switch port traffic to/from
VF's port.
I agree that we need a switch_domain parameter. At the moment we do not
have APIs implemented for all the switch operations you have mentioned
above. So, we are planning separate RFC with switch _domain and related
APIs.
More over, building this as real PMD ports of a switch device removes
the need to add a new broker framework all together.
Each vendor just needs to map additional PMD ports during the probing
stage.
That is very much possible as well. If we agree to probe all the ports
during the initialization phase, we can have all the representors ready
without any interaction from application and broker. On the other hand,
we may require a broker structure to enable hotplug support.
By adding a switchdev_id we can define these are ports
associated to the same switching device, and can allow new port and
inter-port actions.
[1] http://dpdk.org/dev/patchwork/patch/32550/
[2] https://www.spinics.net/lists/netdev/msg467375.html
[2] https://www.systutorials.com/docs/linux/man/8-ip-link/
Alex
Regards,
Awal.