[ovs-discuss] OpenVswitch

Chris Boley ilgtech75 at gmail.com
Fri Mar 2 04:04:10 UTC 2018


Scott, Grant. Sincerely, thanks for all your guidance.
I'm more of an network engineering guy with an inquisitive character and a
love for FOSS.
This one .. I have to tell you both has me stumped. Actually it's working.
Here's a couple of reasons why I'm stumped.
Kindly follow along.

OVS setup is minimal:
sudo ovs-vsctl add-br vbridge0
ovs-vsctl add-bond vbridge0 vbond0 eth0 eth1 lacp=active
other_config:lacp_time=fast

## I omitted the trunks=2,3    Scott your explanation made me feel it's
synonymous with (switchport trunk allowed vlan 2,3) -- Unnecessary for my
usage here.

>From my VM Host:
foobar at VMHOST:~$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
post-up modprobe 8021q          <<<< This is the fix BTW for whatever
reason >>>>
===================================================================================================
If you want to put your LibVirt Guest VM on an OVS interface similiar to
plugging into an edge port on a cisco switch in vlan 2 (switchport mode
access [Enter]  switchport access vlan 2 [Enter] )
You really must have to make the kernel pre load the 8021q module
beforehand, otherwise the OVS I'm guessing doesn't have the tools to handle
the job? (It's only a swag...I'm probably wrong. don't shoot ;D )

I can reproduce libvirt guest working on my setup again and again reboot
after reboot by only doing one thing to fix it. ( modprobe 8021q)
Just fyi on the software particulars of my platform just in case there's
questions:

foobar at VMHOST:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial
foobar at VMHOST:~$ uname -a
Linux VMHOST 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58
UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Could it be because of systemd related issues???

Anyways..... back to the head scratching
=====================================================================================================
#bond port info
auto eth1
iface eth1 inet manual
post-up ifconfig $IFACE up
post-up ifconfig $IFACE mtu 1520
post-up ifconfig $IFACE promisc
post-up ethtool -G $IFACE rx 4096
post-up ethtool -K $IFACE rx off tx off sg off tso off ufo off gso off gro
off lro off rxvlan off txvlan off ntuple off rxhash off
post-up ethtool -N $IFACE rx-flow-hash udp4 sdfn
post-up ethtool -N $IFACE rx-flow-hash udp6 sdfn
post-up ethtool -C $IFACE rx-usecs 1 rx-frames 0
post-up ethtool -C $IFACE adaptive-rx off
pre-down ifconfig $IFACE down

#Bond port info
auto eth2
iface eth2 inet manual
post-up ifconfig $IFACE up
post-up ifconfig $IFACE mtu 1520
post-up ifconfig $IFACE promisc
post-up ethtool -G $IFACE rx 4096
post-up ethtool -K $IFACE rx off tx off sg off tso off ufo off gso off gro
off lro off rxvlan off txvlan off ntuple off rxhash off
post-up ethtool -N $IFACE rx-flow-hash udp4 sdfn
post-up ethtool -N $IFACE rx-flow-hash udp6 sdfn
post-up ethtool -C $IFACE rx-usecs 1 rx-frames 0
post-up ethtool -C $IFACE adaptive-rx off
pre-down ifconfig $IFACE down

===========================================================================
Showing the OPENVSWITCH Prior to starting VM.
foobar at VMHOST:~$ sudo ovs-vsctl show
[sudo] password for foobar:
126a4b57-4837-42a9-95d6-d818b35e95bd
   Bridge "vbridge0"
       Port "vbridge0"
           Interface "vbridge0"
               type: internal
       Port "vbond0"
           Interface "eth2"
           Interface "eth1"
   ovs_version: "2.5.2"
=================================================================================================================
Now let's look at the vbridge0:
foobar at VMHOST:~$ sudo ovs-vsctl list interface vbridge0
_uuid               : 714594e9-101b-4854-a474-bf6125244df2
admin_state         : down    <<< According to OVS.. this bridge is down
--- I can tell you that the vbond0 is up however... Is it germain to the
situation? IDK?
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : []
error               : []
external_ids        : {}
ifindex             : 6
ingress_policing_burst: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : []
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "00:04:23:d7:bd:0c"
mtu                 : 1500
name                : "vbridge0"
ofport              : 65534
ofport_request      : []
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=0, rx_crc_err=0,
rx_dropped=229, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=0,
tx_bytes=0, tx_dropped=0, tx_errors=0, tx_packets=0}
status              : {driver_name=openvswitch}
type                : internal
========================================================================================================================
Let's kick on the VM for giggles:
foobar at VMHOST:~$ virsh start ubuntu14.04
Domain ubuntu14.04 started

And now:
foobar at VMHOST:~$ sudo ovs-vsctl show
126a4b57-4837-42a9-95d6-d818b35e95bd
   Bridge "vbridge0"
       Port "vbridge0"
           Interface "vbridge0"
               type: internal
       Port "vbond0"
           Interface "eth2"
           Interface "eth1"
       Port "vnet0"
           tag: 2
           Interface "vnet0"    <<< There's our libvirt guest
   ovs_version: "2.5.2"
=========================================================================================================================
Checking vbridge0 again...
foobar at VMHOST:~$ sudo ovs-vsctl list interface vbridge0
_uuid               : 714594e9-101b-4854-a474-bf6125244df2
admin_state         : down <<< YEP we're still down!! But wait lets try and
ping the Guest VM......
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : []
error               : []
external_ids        : {}
ifindex             : 6
ingress_policing_burst: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : []
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "00:04:23:d7:bd:0c"
mtu                 : 1500
name                : "vbridge0"
ofport              : 65534
ofport_request      : []
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=0, rx_crc_err=0,
rx_dropped=407, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=0,
tx_bytes=0, tx_dropped=0, tx_errors=0, tx_packets=0}
status              : {driver_name=openvswitch}
type                : internal
=========================================================================================================================
foobar at VMHOST:~$ ping xx.xx.xx.160
PING xx.xx.xx.160 (xx.xx.xx.160) 56(84) bytes of data.
64 bytes from xx.xx.xx.160: icmp_seq=1 ttl=64 time=0.978 ms
64 bytes from xx.xx.xx.160: icmp_seq=2 ttl=64 time=0.372 ms

WHAATT?? I thought my OVS bridge vbridge0 was down? Evidently not?

foobar at VMHOST:~$ ssh foobar at xx.xx.xx.160
         << First time SSH login of my guest.
The authenticity of host 'xx.xx.xx.160 (xx.xx.xx.160)' can't be established.
ECDSA key fingerprint is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'xx.xx.xx.160' (ECDSA) to the list of known
hosts.
foobar at xx.xx.xx.160's password:
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 4.4.0-98-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Thu Mar  1 22:11:52 EST 2018

  System load: 0.56              Memory usage: 4%   Processes:       111
  Usage of /:  13.4% of 8.16GB   Swap usage:   0%   Users logged in: 0

  Graph this data and manage this system at:
    https://landscape.canonical.com/

New release '16.04.3 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Mar  1 21:59:58 2018 from xx.xx.xx.152
foobar at 1404Base:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:71:b1:b6
                                    <<<  KVM based MAC address.
          inet addr:xx.xx.xx.160  Bcast:xx.xx.xx.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe71:b1b6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:354 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:53305 (53.3 KB)  TX bytes:8199 (8.1 KB)


Being picky...
I was hoping to tune my bridge to use a 1520 byte global MTU for some
specific reasons but when I checked the bridge it said 1500 via the (sudo
ovs-vsctl list interface vbridge0) command but it also shows "down" sooo....

A quick adjustment on my eth0 interface of my guest VM to set MTU to 1520
and then a quick:
foobar at 1404Base:~$ tracepath -n 8.8.8.8                            <<<when
I had the MTU set at 1500 on the guest eth0 the tracepath worked normally.
 1?: [LOCALHOST]                                         pmtu 1520
 1:  no reply
 2:  no reply
 3:  no reply

This confirms (unless I've totally missed the mark) that my OVS bridge is
only set to run at 1500.

I know the vbond0 port by default will run at the smallest mtu of all the
bonded interfaces included in the bond.
In my above interfaces file you'll see I have those ports set to 1520 for
MTU. I also have the system MTU in the cisco switch set to 1520
I confirmed everything in the bond is running at 1520 MTU

So that leaves the OVS bridge. How can I make the bridge adjust MTU size
with an ovs-vsctl command?
I have searched around and cant find syntax to set this.

Finally I had set my lacp to "fast" with my ovs-vsctl command

when running show etherchannel 1 detail..
The Cisco switch says it's negotiating in SA mode. (Slow Active).... So
there's that too... Hmmmmmm.....

Those are my final ramblings on this subject. Thanks all for letting me
burn some of your time.

Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20180301/9e31f26e/attachment-0001.html>


More information about the discuss mailing list