Skip to content

Commit

Permalink
docs: Clarify creation & bonding of DPDK enabled interfaces.
Browse files Browse the repository at this point in the history
Unlike system interfaces, DPDK enabled interfaces must have their interface
type explicitly set when used to create ports.  Mention this in relevant parts
of the documentation and add references to INTALL.DPDK.md, where there are many
examples.

Signed-off-by: Billy O'Mahony <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
Billy O'Mahony authored and blp committed May 7, 2015
1 parent 1c98db0 commit 77c180c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
23 changes: 23 additions & 0 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,25 @@ A: Yes. How you configure it depends on what you mean by "promiscuous
SPAN, see "How do I configure a port as a SPAN port, that is,
enable mirroring of all traffic to that port?"

### Q: How do I configure a DPDK port as an access port?

A: Firstly, you must have a DPDK-enabled version of Open vSwitch.

If your version is DPDK-enabled it will support the --dpdk
argument on the command line and will display lines with
"EAL:..." during startup when --dpdk is supplied.

Secondly, when adding a DPDK port, unlike a system port, the
type for the interface must be specified. For example;

ovs-vsctl add-br br0
ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk

Finally, it is required that DPDK port names begin with 'dpdk'.

See [INSTALL.DPDK.md] for more information on enabling and using DPDK with
Open vSwitch.

### Q: How do I configure a VLAN as an RSPAN VLAN, that is, enable mirroring of all traffic to that VLAN?

A: The following commands configure br0 with eth0 as a trunk port and
Expand Down Expand Up @@ -649,6 +668,9 @@ A: More than likely, you've looped your network. Probably, eth0 and
documentation on the Port table in ovs-vswitchd.conf.db(5)
for all the details.

Configuration for DPDK-enabled interfaces is slightly less
straightforward: see [INSTALL.DPDK.md].

- Perhaps you don't actually need eth0 and eth1 to be on the
same bridge. For example, if you simply want to be able to
connect each of them to virtual machines, then you can put
Expand Down Expand Up @@ -1897,3 +1919,4 @@ http://openvswitch.org/
[WHY-OVS.md]:WHY-OVS.md
[INSTALL.md]:INSTALL.md
[OPENFLOW-1.1+.md]:OPENFLOW-1.1+.md
[INSTALL.DPDK.md]:INSTALL.DPDK.md
8 changes: 8 additions & 0 deletions INSTALL.DPDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,14 @@ Using the DPDK with ovs-vswitchd:
polls dpdk device in continuous loop. Therefore CPU utilization
for that thread is always 100%.
Note: creating bonds of DPDK interfaces is slightly different to creating
bonds of system interfaces. For DPDK, the interface type must be explicitly
set, for example:
```
ovs-vsctl add-bond br0 dpdkbond dpdk0 dpdk1 -- set Interface dpdk0 type=dpdk -- set Interface dpdk1 type=dpdk
```
7. Add test flows
Test flow script across NICs (assuming ovs in /usr/src/ovs):
Expand Down
4 changes: 3 additions & 1 deletion utilities/ovs-vsctl.8.in
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,9 @@ is an error. With \fB\-\-may\-exist\fR, this command does nothing if
.IP "[\fB\-\-fake\-iface\fR] \fBadd\-bond \fIbridge port iface\fR\&... [\fIcolumn\fR[\fB:\fIkey\fR]\fR=\fIvalue\fR]\&...\fR"
Creates on \fIbridge\fR a new port named \fIport\fR that bonds
together the network devices given as each \fIiface\fR. At least two
interfaces must be named.
interfaces must be named. If the interfaces are DPDK enabled then
the transaction will need to include operations to explicitly set the
interface type to 'dpdk'.
.IP
Optional arguments set values of column in the Port record created by
the command. The syntax is the same as that for the \fBset\fR command
Expand Down

0 comments on commit 77c180c

Please sign in to comment.