On 6/11/2019 1:38 PM, Steinar H. Gunderson wrote:
On Tue, Jun 11, 2019 at 01:32:22PM -0700, Gregory Rose wrote:
I don't understand this.  The OVS internal port is a switch port. It does
not originate packets.  When you say you 'send TCP on an OVS internal
port', how are you doing that?
vlan1 is an OVS internal port:

   ifconfig vlan1 10.0.0.1 netmask 255.255.255.0
   ssh foo@10.0.0.2

Also, please provide the output of the following:

'ip -s link show <name of internal port>'
'ovs-vsctl show'

on the system where the OVS bridge and internal port you mention reside.
9: vlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state 
UNKNOWN mode DEFAULT group default qlen 1000
     link/ether 3e:29:2a:06:95:d3 brd ff:ff:ff:ff:ff:ff
     RX: bytes  packets  errors  dropped overrun mcast
     13904405117 30446263 0       0       0       0
     TX: bytes  packets  errors  dropped carrier collsns
     54370564514 24255974 0       0       0       0

root@kaze:~# ovs-vsctl show
826aeca2-2786-49da-8bf5-f5cae976abb3
     Bridge "ovsbr1"
         Port "vlan50"
             tag: 50
             Interface "vlan50"
                 type: internal
         Port "vlan100"
             tag: 100
             Interface "vlan100"
                 type: internal
         Port "vnet1"
             Interface "vnet1"
         Port "vlan1"
             tag: 1
             Interface "vlan1"
                 type: internal

I see the source of the confusion here.  The vlan1 interface is added to the OVS bridge and the port type
is internal.  Here's a better way to look at this:

      Net Device
<Can originate packets>              OVS switch
|------------------|             |-----------------|
|                  |             |                 |
|       vlan1      |<----------->|      ovsbr1     |
|                  |     ^       |                 |
|------------------|     |       |-----------------|
                         |
                         |
                   <internal port> <----------------- Think of that as a virtual Ethernet cable

When you ssh to a destination via the vlan1 interface then the vlan1 interface is generating the packets.  If it has a tcp checksum offload capability then it would use it but that will depend on the master device it is controlled by.  This port is in no way owned by OVS.  OVS has simply added it to the bridge using a virtual port which is by convention called an 'internal' port.  But think of it as the cable connecting your virtual device 'vlan1' to the OVS bridge
'ovsbr1'.

Does that help explain?


         Port "ovsbr1"
             Interface "ovsbr1"
                 type: internal
         Port "enp57s3"
             tag: 1
             Interface "enp57s3"
         Port "enp57s2"
             Interface "enp57s2"
     Bridge "ovsbr0"
         Port "ovsbr0"
             Interface "ovsbr0"
                 type: internal
         Port "vnet0"
             Interface "vnet0"
     ovs_version: "2.10.1"

So I need to understand what you mean when you 'send TCP  on an OVS internal
port'.  I have hard time
envisioning what you mean.
Maybe my nomenclature is somehow off here? I had assumed that if I gave an
OVS internal port an IP address and put it in my routing table, I'd be
sending TCP packets on it pretty fast. Isn't that what internal ports are
for?

No, the internal ports are the virtual interfaces between physical/virtual devices (vlan1) and the OVS bridge
(ovsbr1).

- Greg

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to