[spp] Proposal - spp_vf(SR-IOV like feature) addition to SPP

Nakamura Hioryuki nakamura.hiroyuki at po.ntt-tx.co.jp
Mon Dec 25 05:41:48 CET 2017


Hi everyone,

As announced in DPDK Summit, we would like to introduce a SR-IOV like network 
functionality to SPP on DPDK17.08[1].

To support such functionality, we have developed new 
controller(spp_vf.py) and secondary process(spp_vf).

spp_vf process has three kinds of component, classifier, forwarder and merger.
These components communicate each other via ring-pmd, 
and provides SR-IOV like packet classification function according to virtual 
MAC address.

Classifier:
This component provides packet forwarding function from one port to one port.
Classifier has table of virtual MAC address.
According to this table, classifier lookups L2 destination MAC address
and determines which port to be transferred to incoming packets.
L2 Multicast feature is also supported. 

Forwarder:
This provides function for packet processing from one port to one port.
Incoming packets from port are to be transferred to specific one port.
The direction of this transferring is specified by `port` command.

Merger:
This component provides packet forwarding function from multiple ports to one port.
Incoming packets from multiple ports are to be transferred to one specific port.
The flow of this merging process is specified by `port` command.

By the combination of these component, following SR-IOV like function can be configured.

                   +----------+           +-----------+
                   |Classifier|->ringPMD->|Forwarder#1|->vhost->VM#1 --------+
Packet(dstMAC:A/B) |          |           +-----------+         (vMAC:A)     |
------phy--------> |          |           +-----------+                      |
                   |          |->ringPMD->|Forwarder#2|->vhost->VM#2 ---+    |
                   |          |           +-----------+         (vMAC:B)|    |
                   +----------+                                         |    |
                                                                        |    |
                   +----------+           +-----------+                 |    |
                   |Merger    |<-ringPMD<-|Forwarder#3|<-vhost --==----------+
                   |          |           +-----------+                 |
 <------phy--------|          |           +-----------+                 |
                   |          |<-ringPMD<-|Forwarder#4|<-vhost ---------+
                   +----------+           +-----------+ 

Limitaion#1: vlan support is not yet, this feature is in still our backlogs.
Limitaion#2: Support DPDK17.11 is not yet.
                   
Code changes will be posted in the following emails.

Regard,


-- Hiroyuki Nakamura
NTT TechnoCross Corporation




More information about the spp mailing list