Re: [ovs-discuss] Guidance Needed for GRE Tunnel

2019-10-02 Thread Orabuntu-LXC
This is what I use for example:

sudo ovs-vsctl add-port sw1 gre201 -- set interface gre201 type=gre
options:remote_ip=10.0.139.144
sudo ovs-vsctl add-port sw1 gre201 -- set interface gre201 type=gre
options:remote_ip=10.0.139.234

And from "sudo ovs-vsctl show"

I set the MTU to 1420 on one end of the tunnel so that ssh sessions can run
over the tunnel.  I attach LXC containers to the ovs switch sw1 and use the
GRE tunnel for ssh between containers on the two hosts.

orabuntu@ip-10-0-139-144:/etc/network/openvswitch$ ifconfig sw1
sw1   Link encap:Ethernet  HWaddr e6:92:cc:99:93:49
  inet addr:10.209.53.201  Bcast:0.0.0.0  Mask:255.255.255.0
  inet6 addr: fe80::e492:ccff:fe99:9349/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  *MTU:1420*  Metric:1
  RX packets:5445 errors:0 dropped:0 overruns:0 frame:0
  TX packets:358 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1
  RX bytes:356641 (356.6 KB)  TX bytes:70319 (70.3 KB)

ubuntu@ip-10-0-139-234:~$ ifconfig sw1
sw1   Link encap:Ethernet  HWaddr d2:d9:c4:bf:8b:43
  inet addr:10.209.53.1  Bcast:0.0.0.0  Mask:255.255.255.0
  inet6 addr: fe80::d0d9:c4ff:febf:8b43/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  *MTU:1500*  Metric:1
  RX packets:273222 errors:0 dropped:0 overruns:0 frame:0
  TX packets:230878 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1
  RX bytes:15256132 (15.2 MB)  TX bytes:16409194 (16.4 MB)

HTH

On Wed, Oct 2, 2019 at 2:22 PM SAMRAT PRAVIN PATEL 
wrote:

> Hi ,
>
>
> I am trying to connect two openvswitch on GENI. So for GRE tunnel we need
> to add the remote IP of the physical interfaces of the openvswitch ? Please
> guide me . Hoping for your response.
>
>
> *sudo **ovs-vsctl add-port br0 gre0 *-- set interface gre0 type=gre 
> options:remote_ip=10.10.1.3 ( These are the ip address of the host pcs)
>
>
> *sudo **ovs-vsctl add-port br0 gre0 -- set interface gre0 type=gre 
> options:remote_ip=**10.10.1.*
>
> *4 ( These remote are the ip address of the host pcs) *
>
>
>
> Regards
>
> Samrat Pravin Patel
> ___
> discuss mailing list
> disc...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>


-- 
Gilbert Standen
Creator Orabuntu-LXC
914-261-4594
gilb...@orabuntu-lxc.com
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
So this error about the missing files ovs-test and ovs-l3ping:

rm: cannot remove 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILDROOT/openvswitch-2.11.1-1.x86_64/usr/bin/ovs-test':
 No such file or directory
rm: cannot remove 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILDROOT/openvswitch-2.11.1-1.x86_64/usr/bin/ovs-l3ping':
 No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.ah3XN9 (%install)


had me stumped for most of the day.  I had gotten everything to build correctly 
and install on the dev box but on a fresh machine, as mentioned, I got this 
error, indicating I had still failed to capture some step that was required for 
the successful openvswitch build.  Finally I remembered that on the dev box I 
had done this step too:

if [ $Release -eq 8 ]
then
wget 
https://rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/python-six-1.9.0-2.el7.noarch.rpm
   <-- This step
sudo yum -y localinstall 
python-six-1.9.0-2.el7.noarch.rpm   
  <-- This step
sudo yum -y module install python36
sudo yum -y module install python27
sudo yum -y install python3-sphinx
sudo yum -y install python3-six
sudo yum -y install selinux-policy-devel 
unbound-devel
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
sed -i 's/BuildRequires: 
python-six/BuildRequires: python3-six/g'   openvswitch.spec
sed -i 's/BuildRequires: 
python-sphinx/BuildRequires: python3-sphinx/g' openvswitch.spec
sudo cat openvswitch.spec | grep python3
sleep 5
fi

That step had been done early on when I was looking for some already-built rpm 
for python-six to just jerry-rig it into building successfully.  That 
python-six comes from a CentOS7 repo and it installs with no issues on Oracle 
Linux 8.  I think a better solution is needed such as building it from source 
on Oracle Linux 8.  But it does work and it gets rid of the error about the 
missing ovs-test and ovs-l3ping during the build.

I think it has to do with this part of the spec file:

Requires: logrotate, hostname, python >= 2.7, python-six
BuildRequires: python-six
BuildRequires: openssl-devel
BuildRequires: checkpolicy, selinux-policy-devel
BuildRequires: autoconf, automake, libtool
BuildRequires: python-sphinx
BuildRequires: unbound-devel

I can get around the "BuildRequires" as previously discussed by changing them 
to "python3-six" and "python3-sphinx" but I guess (?) that the "Requires" which 
includes "python-six" really does require "python-six" and not "python3-six" 
because when I change the Requires to "python3-six" and don't install the 
python-six from the CentOS7 repo, I get the error about the missing ovs-test 
and ovs-l3ping.

So it is building OK now with no problems perfectly, and all the test suite is 
passed 100% successfully, but I will work on a better solution than just using 
the CentOS7 python-six.

From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 5:00 PM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Nothing is easy it seems ... it is working ok on my hacked up dev box ... but 
when I try to run it on a fresh machine the build seems to be running OK, and 
then I get this:

rm: cannot remove 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILDROOT/openvswitch-2.11.1-1.x86_64/usr/bin/ovs-test':
 No such file or directory
rm: cannot remove 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILDROOT/openvswitch-2.11.1-1.x86_64/usr/bin/ovs-l3ping':
 No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.ah3XN9 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.ah3XN9 (%install)

so it seems I still have at least this issue to solve ...

From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 1:47 PM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Ok the build and install of the RPM's for OpenvSwi

Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
Also need "sudo yum -y install python27" which I had left out ... and that 
should be everything finally for this build of openvswitch 2.11.1 on Oracle 
Linux 8

if [ $Release -eq 8 ]
then
sudo yum -y install python27
  <--this is also needed
sudo yum -y install python3-sphinx
sudo yum -y install python3-six
sudo yum -y install selinux-policy-devel 
unbound-devel <--this is also needed
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
sed -i 's/python-six/python3-six/g'   
openvswitch.spec
sed -i 's/python-sphinx/python3-sphinx/g' 
openvswitch.spec
sleep 5
fi

sed -i 's/python >= 2.7/python27/g'   
openvswitch.spec <--this is also needed

rpmbuild --define "_topdir 
/opt/olxc/"$DistDir"/uekulele/openvswitch/rpmbuild" -ba openvswitch.spec


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 5:00 PM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Nothing is easy it seems ... it is working ok on my hacked up dev box ... but 
when I try to run it on a fresh machine the build seems to be running OK, and 
then I get this:

rm: cannot remove 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILDROOT/openvswitch-2.11.1-1.x86_64/usr/bin/ovs-test':
 No such file or directory
rm: cannot remove 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILDROOT/openvswitch-2.11.1-1.x86_64/usr/bin/ovs-l3ping':
 No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.ah3XN9 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.ah3XN9 (%install)

so it seems I still have at least this issue to solve ...

From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 1:47 PM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Ok the build and install of the RPM's for OpenvSwitch 2.11.1 was successful.  
There were a few additional lines needed for the recipe as shown below this is 
the scripting that worked completely successfully.  There could possible be 
some things in here that are not absolutely needed, but I haven't had a chance 
to do that kind of testing yet.  Below will work albeit possibly with more 
steps than minimally needed.

if [ $Release -eq 8 ]
then
sudo yum -y install python3-sphinx
sudo yum -y install python3-six
sudo yum -y install selinux-policy-devel 
unbound-devel <--this is also needed
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
sed -i 's/python-six/python3-six/g'   
openvswitch.spec
sed -i 's/python-sphinx/python3-sphinx/g' 
openvswitch.spec
sleep 5
fi

sed -i 's/python >= 2.7/python27/g'   
openvswitch.spec <--this is also needed

rpmbuild --define "_topdir 
/opt/olxc/"$DistDir"/uekulele/openvswitch/rpmbuild" -ba openvswitch.spec


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:40 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

And also for completeness noting that these are needed for this build on Oracle8

sudo yum -y install python3-sphinx
sudo yum -y install python3-six


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:36 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Ok I think I've got it - it's running the openvswitch 2.11.1 test s

[ovs-discuss] Guidance Needed for GRE Tunnel

2019-10-02 Thread SAMRAT PRAVIN PATEL
Hi ,


I am trying to connect two openvswitch on GENI. So for GRE tunnel we need to 
add the remote IP of the physical interfaces of the openvswitch ? Please guide 
me . Hoping for your response.


sudo ovs-vsctl add-port br0 gre0 -- set interface gre0 type=gre 
options:remote_ip=10.10.1.3 ( These are the ip address of the host pcs)


sudo ovs-vsctl add-port br0 gre0 -- set interface gre0 type=gre 
options:remote_ip=10.10.1.4

( These remote are the ip address of the host pcs)



Regards

Samrat Pravin Patel
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
Ok the build and install of the RPM's for OpenvSwitch 2.11.1 was successful.  
There were a few additional lines needed for the recipe as shown below this is 
the scripting that worked completely successfully.  There could possible be 
some things in here that are not absolutely needed, but I haven't had a chance 
to do that kind of testing yet.  Below will work albeit possibly with more 
steps than minimally needed.

if [ $Release -eq 8 ]
then
sudo yum -y install python3-sphinx
sudo yum -y install python3-six
sudo yum -y install selinux-policy-devel 
unbound-devel <--this is also needed
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
sed -i 's/python-six/python3-six/g'   
openvswitch.spec
sed -i 's/python-sphinx/python3-sphinx/g' 
openvswitch.spec
sleep 5
fi

sed -i 's/python >= 2.7/python27/g'   
openvswitch.spec <--this is also needed

rpmbuild --define "_topdir 
/opt/olxc/"$DistDir"/uekulele/openvswitch/rpmbuild" -ba openvswitch.spec


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:40 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

And also for completeness noting that these are needed for this build on Oracle8

sudo yum -y install python3-sphinx
sudo yum -y install python3-six


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:36 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Ok I think I've got it - it's running the openvswitch 2.11.1 test suite atm - 
here is the solution that is working.

   if [ $Release -eq 8 ]
then
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
fi
sed -i 's/python-six/python3-six/g'   
openvswitch.spec
sed -i 's/python-sphinx/python3-sphinx/g' 
openvswitch.spec
fi
rpmbuild --define "_topdir 
/opt/olxc/"$DistDir"/uekulele/openvswitch/rpmbuild" -ba openvswitch.spec


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:21 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Thanks Ben.  Progress ... I got past the Requires, but there's still issues 
later on related to Sphinx and Six.  Any thoughts on solving this ?  TIA

sphinx-build  -b html -W -n -d ./Documentation/_build/doctrees  ./Documentation 
./Documentation/_build/html && touch docs-check
Traceback (most recent call last):
  File "/usr/local/bin/sphinx-build", line 11, in 
sys.exit(main())
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 38, in main
return build_main(argv)
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 22, in 
build_main
from sphinx import cmdline
  File "/usr/lib/python3.6/site-packages/sphinx/cmdline.py", line 20, in 

from six import text_type, binary_type
ModuleNotFoundError: No module named 'six'
make[2]: *** [Makefile:7107: docs-check] Error 1
make[2]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make[1]: *** [Makefile:6016: all-recursive] Error 1
make[1]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make: *** [Makefile:3594: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


From: Ben Pfaff 
Sent: Wednesday, October 2, 2019 9:45 AM
To: Gilbert Standen 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

On Wed, Oct 02, 2019 at 02:53:23PM +,

Re: [ovs-discuss] Too many resubmits in the OVS pipeline for scaled OVN topologies due to multicast_group implementation

2019-10-02 Thread Han Zhou
On Wed, Oct 2, 2019 at 9:11 AM Dumitru Ceara  wrote:
>
> On Tue, Oct 1, 2019 at 8:41 PM Han Zhou  wrote:
> >
> >
> >
> > On Tue, Oct 1, 2019 at 3:34 AM Dumitru Ceara  wrote:
> > >
> > > Hi,
> > >
> > > We've hit a scaling issue recently [1] in the following topology:
> > >
> > > - External network connected to public logical switch "LS-pub"
> > > - ~300 logical networks (LR-i <--> LS-i <--> VMi) connected to LS-pub
> > > with dnat_and_snat rules.
> > >
> > > While trying to ping the VMs from outside the ARP request packet from
> > > the external host doesn't reach all the LR-i pipelines because it gets
> > > dropped due to "Too many resubmits".
> > >
> > > This happens because the MC_FLOOD group for LS-pub installs openflow
> > > entries that resubmit the packet:
> > > - through the patch ports towards all LR-i (one entry in table 32 with
> > > 300 resubmit actions).
> > > - to the egress pipeline for each VIF that's local to LS-pub (one
> > > entry in table 33).
> > >
> > > This means that for the ARP broadcast packet we'll execute the LR-i
> > > ingress/egress pipeline 300 times. For each execution we do a fair
> > > amount of resubmits through the different tables of the pipeline
> > > leading to a total number of resubmits for the single initial
> > > broadcast packet of more than 4K, the maximum allowed by OVS.
> > >
> > > After looking at the implementation I couldn't figure out a way to
> > > avoid running the full pipelines for each potential logical output
> > > port (patch or local VIF) because we might have flows later in the
> > > pipelines that perform actions based on the value of the logical
> > > output port (e.g., out ACL, qos).
> > >
> > > Do you think there's a different approach that we could use to
> > > implement flooding of broadcast/unknown unicast packets that would
> > > require less resubmit actions?
> > >
> > > This issue could also appear in a flat topology with a single logical
> > > switch and multiple VIFs (>300). In this case the resubmits would be
> > > part of the the openflow entry in table 33 but the result would be the
> > > same: too many resubmits due to the egress pipeline resubmits for each
> > > logical output port.
> > >
> > > Thanks,
> > > Dumitru
> > >
> > > [1] https://bugzilla.redhat.com/show_bug.cgi?id=1756945
> >
> > Thanks Dumitru for reporting this interesting problem.
>
> Hi Han,
>
> Thanks for the reply.
>
> > In theory, I don't think we can avoid this because different datapath
can have different actions for the same packet, so when a packet need to be
sent to multiple datapaths, we will have to let it go through each steps
following each datapath.
> > In practice, the number of stages to go through depends on the number
of output ports in the broadcast domain and the number of stages in each
output port. To alleviate the problem, we should try our best to handle
broadcast packets at the earliest stages of each datapath, and terminate
the packet pipeline as early as possible, e.g. ARP reponse, to reduce the
total number of resubmits.
> >
> > So I think what we can do are (although I hope there are better ways):
> > - Increase the limit in OVS for the maximum allowed resubmit,
considering the value for worst case reasonable real world deployment
>
> I'm afraid that increasing the limit will just postpone the problem
> for later. Also I'm worried about the time the packet would spend in
> the pipeline and the fact that potentially there will be high jitter
> between delivery times to different ports.
>

It should not be a big concern if fast-path flows are generated. But I am
not sure if that's the case for ARPing different IPs. Did you observe high
jitter with large number of ports in same L2?

> > - Try to avoid large broadcast domain in deployment (of course, only
when we have a choice)
>
> Agreed, but I guess this is outside the scope of OVN.
>
> > - See if there is optimization opportunity to move broadcast related
processing earlier in pipeline and complete as early as possible for the
processing for the packet.
> >
>
> I don't think the problem is broadcast specific. It should be the same
> for unknown unicast, right?
>
For unknown unicast, the packet will only be sent to the ports with
"unknown" address, which is usually the "localnet" port, which exists on
external logical switches and only one per LS, so I think that's not a
problem. (remember there is no flooding for "unknown" unicast in OVN,
unless someone configures multiple ports with "unknown". I am not aware of
such use case yet)

> > Thanks,
> > Han
>
> Thanks,
> Dumitru
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
And also for completeness noting that these are needed for this build on Oracle8

sudo yum -y install python3-sphinx
sudo yum -y install python3-six


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:36 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Ok I think I've got it - it's running the openvswitch 2.11.1 test suite atm - 
here is the solution that is working.

   if [ $Release -eq 8 ]
then
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
fi
sed -i 's/python-six/python3-six/g'   
openvswitch.spec
sed -i 's/python-sphinx/python3-sphinx/g' 
openvswitch.spec
fi
rpmbuild --define "_topdir 
/opt/olxc/"$DistDir"/uekulele/openvswitch/rpmbuild" -ba openvswitch.spec


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:21 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Thanks Ben.  Progress ... I got past the Requires, but there's still issues 
later on related to Sphinx and Six.  Any thoughts on solving this ?  TIA

sphinx-build  -b html -W -n -d ./Documentation/_build/doctrees  ./Documentation 
./Documentation/_build/html && touch docs-check
Traceback (most recent call last):
  File "/usr/local/bin/sphinx-build", line 11, in 
sys.exit(main())
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 38, in main
return build_main(argv)
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 22, in 
build_main
from sphinx import cmdline
  File "/usr/lib/python3.6/site-packages/sphinx/cmdline.py", line 20, in 

from six import text_type, binary_type
ModuleNotFoundError: No module named 'six'
make[2]: *** [Makefile:7107: docs-check] Error 1
make[2]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make[1]: *** [Makefile:6016: all-recursive] Error 1
make[1]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make: *** [Makefile:3594: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


From: Ben Pfaff 
Sent: Wednesday, October 2, 2019 9:45 AM
To: Gilbert Standen 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

On Wed, Oct 02, 2019 at 02:53:23PM +, Gilbert Standen wrote:
> SO THE ABOVE DID NOT WORK:  I still got:
>
> error: Failed build dependencies:
> python-six is needed by openvswitch-2.11.1-1.x86_64
> python-sphinx is needed by openvswitch-2.11.1-1.x86_64

It looks like the packages are named python2-six and python2-sphinx on
Oracle Linux.  If so, then you can update the spec file to use those
names, and then build.
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
Ok I think I've got it - it's running the openvswitch 2.11.1 test suite atm - 
here is the solution that is working.

   if [ $Release -eq 8 ]
then
sudo alternatives --set python /usr/bin/python3
python3 -m venv py36env
source py36env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install six
python3 -m pip install sphinx
fi
sed -i 's/python-six/python3-six/g'   
openvswitch.spec
sed -i 's/python-sphinx/python3-sphinx/g' 
openvswitch.spec
fi
rpmbuild --define "_topdir 
/opt/olxc/"$DistDir"/uekulele/openvswitch/rpmbuild" -ba openvswitch.spec


From: Gilbert Standen 
Sent: Wednesday, October 2, 2019 11:21 AM
To: Ben Pfaff 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

Thanks Ben.  Progress ... I got past the Requires, but there's still issues 
later on related to Sphinx and Six.  Any thoughts on solving this ?  TIA

sphinx-build  -b html -W -n -d ./Documentation/_build/doctrees  ./Documentation 
./Documentation/_build/html && touch docs-check
Traceback (most recent call last):
  File "/usr/local/bin/sphinx-build", line 11, in 
sys.exit(main())
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 38, in main
return build_main(argv)
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 22, in 
build_main
from sphinx import cmdline
  File "/usr/lib/python3.6/site-packages/sphinx/cmdline.py", line 20, in 

from six import text_type, binary_type
ModuleNotFoundError: No module named 'six'
make[2]: *** [Makefile:7107: docs-check] Error 1
make[2]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make[1]: *** [Makefile:6016: all-recursive] Error 1
make[1]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make: *** [Makefile:3594: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


From: Ben Pfaff 
Sent: Wednesday, October 2, 2019 9:45 AM
To: Gilbert Standen 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

On Wed, Oct 02, 2019 at 02:53:23PM +, Gilbert Standen wrote:
> SO THE ABOVE DID NOT WORK:  I still got:
>
> error: Failed build dependencies:
> python-six is needed by openvswitch-2.11.1-1.x86_64
> python-sphinx is needed by openvswitch-2.11.1-1.x86_64

It looks like the packages are named python2-six and python2-sphinx on
Oracle Linux.  If so, then you can update the spec file to use those
names, and then build.
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
Thanks Ben.  Progress ... I got past the Requires, but there's still issues 
later on related to Sphinx and Six.  Any thoughts on solving this ?  TIA

sphinx-build  -b html -W -n -d ./Documentation/_build/doctrees  ./Documentation 
./Documentation/_build/html && touch docs-check
Traceback (most recent call last):
  File "/usr/local/bin/sphinx-build", line 11, in 
sys.exit(main())
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 38, in main
return build_main(argv)
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 22, in 
build_main
from sphinx import cmdline
  File "/usr/lib/python3.6/site-packages/sphinx/cmdline.py", line 20, in 

from six import text_type, binary_type
ModuleNotFoundError: No module named 'six'
make[2]: *** [Makefile:7107: docs-check] Error 1
make[2]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make[1]: *** [Makefile:6016: all-recursive] Error 1
make[1]: Leaving directory 
'/opt/olxc/home/ubuntu/Downloads/orabuntu-lxc-6.12.13-beta/uekulele/openvswitch/rpmbuild/BUILD/openvswitch-2.11.1'
make: *** [Makefile:3594: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.XEARO1 (%build)


From: Ben Pfaff 
Sent: Wednesday, October 2, 2019 9:45 AM
To: Gilbert Standen 
Cc: Orabuntu-LXC ; ovs-discuss@openvswitch.org 

Subject: Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

On Wed, Oct 02, 2019 at 02:53:23PM +, Gilbert Standen wrote:
> SO THE ABOVE DID NOT WORK:  I still got:
>
> error: Failed build dependencies:
> python-six is needed by openvswitch-2.11.1-1.x86_64
> python-sphinx is needed by openvswitch-2.11.1-1.x86_64

It looks like the packages are named python2-six and python2-sphinx on
Oracle Linux.  If so, then you can update the spec file to use those
names, and then build.
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


[ovs-discuss] Guidance Needed For GENI

2019-10-02 Thread SAMRAT PRAVIN PATEL
Hi ,

This is Sam . I am a GENI newbie and learning to use OpenVSwitch on GENI.

I have tried the OpenVSwitch Tutorial on GENI Tutorial and has worked with the 
RYU controller . I am seeking guidance for a similar setup as described in 
tutorial with 2 or more switches a RYU controller and host attached to each 
switch which are able to ping each other once the network is established . 
Hoping for your guidance on how do I go about doing this experiment.

Shouls I make 3 diffent slices of OVSwitch tutorial and give IP address in the 
range say 10.10.1.0/24 on each slice and a controller slice . Please guide me 
if I am correct on my approach.

Hoping for your response and guidance.

Regards
Samrat Patel

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


Re: [ovs-discuss] Too many resubmits in the OVS pipeline for scaled OVN topologies due to multicast_group implementation

2019-10-02 Thread Dumitru Ceara
On Tue, Oct 1, 2019 at 8:41 PM Han Zhou  wrote:
>
>
>
> On Tue, Oct 1, 2019 at 3:34 AM Dumitru Ceara  wrote:
> >
> > Hi,
> >
> > We've hit a scaling issue recently [1] in the following topology:
> >
> > - External network connected to public logical switch "LS-pub"
> > - ~300 logical networks (LR-i <--> LS-i <--> VMi) connected to LS-pub
> > with dnat_and_snat rules.
> >
> > While trying to ping the VMs from outside the ARP request packet from
> > the external host doesn't reach all the LR-i pipelines because it gets
> > dropped due to "Too many resubmits".
> >
> > This happens because the MC_FLOOD group for LS-pub installs openflow
> > entries that resubmit the packet:
> > - through the patch ports towards all LR-i (one entry in table 32 with
> > 300 resubmit actions).
> > - to the egress pipeline for each VIF that's local to LS-pub (one
> > entry in table 33).
> >
> > This means that for the ARP broadcast packet we'll execute the LR-i
> > ingress/egress pipeline 300 times. For each execution we do a fair
> > amount of resubmits through the different tables of the pipeline
> > leading to a total number of resubmits for the single initial
> > broadcast packet of more than 4K, the maximum allowed by OVS.
> >
> > After looking at the implementation I couldn't figure out a way to
> > avoid running the full pipelines for each potential logical output
> > port (patch or local VIF) because we might have flows later in the
> > pipelines that perform actions based on the value of the logical
> > output port (e.g., out ACL, qos).
> >
> > Do you think there's a different approach that we could use to
> > implement flooding of broadcast/unknown unicast packets that would
> > require less resubmit actions?
> >
> > This issue could also appear in a flat topology with a single logical
> > switch and multiple VIFs (>300). In this case the resubmits would be
> > part of the the openflow entry in table 33 but the result would be the
> > same: too many resubmits due to the egress pipeline resubmits for each
> > logical output port.
> >
> > Thanks,
> > Dumitru
> >
> > [1] https://bugzilla.redhat.com/show_bug.cgi?id=1756945
>
> Thanks Dumitru for reporting this interesting problem.

Hi Han,

Thanks for the reply.

> In theory, I don't think we can avoid this because different datapath can 
> have different actions for the same packet, so when a packet need to be sent 
> to multiple datapaths, we will have to let it go through each steps following 
> each datapath.
> In practice, the number of stages to go through depends on the number of 
> output ports in the broadcast domain and the number of stages in each output 
> port. To alleviate the problem, we should try our best to handle broadcast 
> packets at the earliest stages of each datapath, and terminate the packet 
> pipeline as early as possible, e.g. ARP reponse, to reduce the total number 
> of resubmits.
>
> So I think what we can do are (although I hope there are better ways):
> - Increase the limit in OVS for the maximum allowed resubmit, considering the 
> value for worst case reasonable real world deployment

I'm afraid that increasing the limit will just postpone the problem
for later. Also I'm worried about the time the packet would spend in
the pipeline and the fact that potentially there will be high jitter
between delivery times to different ports.

> - Try to avoid large broadcast domain in deployment (of course, only when we 
> have a choice)

Agreed, but I guess this is outside the scope of OVN.

> - See if there is optimization opportunity to move broadcast related 
> processing earlier in pipeline and complete as early as possible for the 
> processing for the packet.
>

I don't think the problem is broadcast specific. It should be the same
for unknown unicast, right?

> Thanks,
> Han

Thanks,
Dumitru
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] 答复: upgrade ovs kernel module from 2.9 to 2.10, the performance decrease

2019-10-02 Thread Gregory Rose

On 9/24/2019 7:22 PM, djliu wrote:

Hi,
  

On Mon, Sep 23, 2019 at 4:25 PM Ben Pfaff  wrote:

On Mon, Sep 16, 2019 at 07:51:08PM +0800, djliu wrote:

When I upgrade ovs kernel module from 2.9.0 to 2.10.0, then use
iperf3 send packets from a vpc vm to a vlan vm, the bandwidth
decrease from 3Gbits/sec download to 1Gbits/sec. I

reset the commit to the first commit of erspan, then the bandwidth
will normal. Also, when the ovs module is 2.9.0, I can capture
packet in
geneve_sys_6081 port use tcpdump . When upgrade to 2.10.0,

The erspan feature in kernel module shouldn't impact performance if you're
not using it. Do you mind doing a bi-sect to find out which commit degrades
the performance?

I found the commit(e1ededf45f072c41295f1b441a6f106159ff191b) degrade the 
performance, when
use the commit, the iperf3 result is about 1Gibts/sec, when use 
commit(c5b38fa1919035f25deb66e1d31fab2cb043dba7) which before it,
the iperf3 result is 3.9Gbits/s.  In addition, my linux kernel version is 
3.10.0-693.el7.x86_64, I found in the version, ovs kernel module can't
use the upstream geneve tunnel, will it affect?


The commit you mention, "e1ededf4 rhel: Enable ERSPAN features for RHEL 
7.x" , is required to get branch 2.10 to compile and work on RHEL 7.x 
systems.  If you want to use branch 2.10 on RHEL 7 systems you'll need it.

the tcpdump can't capture any packet in the port. Does anyone know

why.

Can you run
'make check-kmod' or 'make check-kernel'
to see whether the geneve testcase passes on your system?

I find the ovs kernel module not use the upstream geneve tunnel result in the 
problem. when use the upstream tunnel, the geneve packet will direct submit to 
dev_queue_xmit, at the time, the skb's associated netdev is type of geneve, 
then the packet can be captured in geneve_sys_6081. when not use the upstream 
tunnel, the packet was direct submit to the tcp/ip stack, it won't go through 
geneve netdev, so we can't capture the packet in the geneve_sys_6081 device.


Yes, there are a number of changes there to enable ERSPAN and may have 
unintended side effects - in this case the tunneling
model is changed to use the older, probably less efficient, compat 
geneve kernel module rather than the upstream one as in

branch 2.9.

There might be some opportunities for optimization but your best bet is 
to use upstream kernels > 4.15 for best results.


- Greg

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


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Ben Pfaff
On Wed, Oct 02, 2019 at 02:53:23PM +, Gilbert Standen wrote:
> SO THE ABOVE DID NOT WORK:  I still got:
> 
> error: Failed build dependencies:
> python-six is needed by openvswitch-2.11.1-1.x86_64
> python-sphinx is needed by openvswitch-2.11.1-1.x86_64

It looks like the packages are named python2-six and python2-sphinx on
Oracle Linux.  If so, then you can update the spec file to use those
names, and then build.
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] Build OpenvSwitch on Oracle Linux 8

2019-10-02 Thread Gilbert Standen
Hi Ben.  Thanks again for bouncing some ideas back and forth.  I think I may 
have this solved.  Pretty simple really, and a bit embarrassing, but it might 
help others to post it here to save others some time.  In my defense this whole 
python/python2/python3 thing can be a maze especially when you have other 
issues to attend to as well - many - which are all even more boggy swamps ...

[ubuntu@oracle8 uekulele]$ sudo alternatives --config python

There are 3 programs which provide 'python'.

  SelectionCommand
---
*  1   /usr/libexec/no-python
   2   /usr/bin/python2
 + 3   /usr/bin/python3

Enter to keep the current selection[+], or type selection number:

Note that this can also be done in a script using the command:

sudo alternatives --set python /usr/bin/python3

Then once that is done get sphinx being sure to use the "3" postfix:

sudo yum -y install python3-sphinx

sudo yum -y install python3-six

Then verify they are there:

[ubuntu@oracle8 uekulele]$ sudo rpm -qa | egrep 'six|sphinx'

lua-posix-33.3.1-9.el8.x86_64
python3-sphinx_rtd_theme-0.3.1-3.el8.noarch
python3-six-1.11.0-8.el8.noarch
python3-sphinxcontrib-websupport-1.0.1-10.20180316git.el8.noarch
python3-sphinx-theme-alabaster-0.7.9-7.el8.noarch
python-sphinx-locale-1.7.6-1.el8.noarch
python3-sphinx-1.7.6-1.el8.noarch
[ubuntu@oracle8 uekulele]$

Then run the openvswitch build on Oracle Linux 8.

some gory details below ...

[ubuntu@oracle8 uekulele]$ sudo yum -y install python3-sphinx
Last metadata expiration check: 0:00:04 ago on Wed 02 Oct 2019 09:34:46 AM CDT.
Dependencies resolved.
==
 Package  Arch  
 Version
  Repository Size
==
Installing:
 python3-sphinx   noarch
 1:1.7.6-1.el8  
  ol8_codeready_builder 1.7 M
Installing dependencies:
 Lmod x86_64
 8.1.17-3.epel8.playground  
  epel-playground   234 k
 lua-term x86_64
 0.07-9.el8 
  epel   16 k
 fontawesome-fontsnoarch
 4.7.0-4.el8
  ol8_appstream 203 k
 python3-docutils noarch
 0.14-12.module+el8.0.0+5333+22a49f57   
  ol8_appstream 1.6 M
 python3-sqlalchemy   x86_64
 1.3.2-1.module+el8.0.0+5333+22a49f57   
  ol8_appstream 1.9 M
 python3-pygments noarch
 2.2.0-20.module+el8.0.0+5333+22a49f57  
  ol8_appstream 1.9 M
 lato-fonts   noarch
 2.015-5.el8
  ol8_appstream 3.3 M
 tcl  x86_64
 1:8.6.8-2.el8  
  ol8_baseos_latest 1.1 M
 python3-whoosh   noarch
 2.7.4-9.el8
  ol8_codeready_builder 1.1 M
 python3-mock noarch
 2.0.0-11.el8   
  ol8_coderead