[ovs-discuss] About VXLAN connecting container and physical machine

2020-08-30 Thread i_j_e_...@yahoo.co.jp
Hi.

I tried to establish L2 network between a docker container and a physical 
machine by using
vxlan of OVS. The container host is different from the physical machine. So 
far, it is
not successful. I'd like to have comments on how to do this.

Here's the detail.

As shown in the figure and description below, there are five physical machines, 
machine1, machine2,
machine3, machine4, and machine5. On all of them are running linux. Each of 
machine1, machine2
and machine3 has a OVS bridge.

Connection between docker2 and docker3 works fine. Connection between machine4 
and machine5
also works fine. When ovsbr1 is down, machine4 and machine5 connection fails. 
Therefore, it is sure
that ovsbr1 is forwarding packets between machine4 and machine5.

However, connection between docker2 and machine4 is not established. Ping never 
reaches between
these. I dumped packets and found the following.

Docker2 ping to machine4 did not succeed, during which
  a) arp requests arriveed on machine1 via the vxlan channel.
  b) no arp request arrived on machine4.
Docker2 ping to docker3 succeeded, during which
  c) arp requests arrived on machine3 via the vxlan channel.
  d) arp requests arrived on docker3 and docker3 replied.

To summerize, OVS does not forward arp request comming from vxlan to its 
connected physical ports
in this configuration.

Please let me know how to establish connection between docker2 and machine4 in 
this configuration.

Regards,

   +---+ +---+
   |docker2| |docker3|
   +--++ +--++
  |eth2 |eth3
  | |
 ovsbr2+--+--+ ovsbr3+--+--+
  +-+ +-+   +-+
  | machine1| |   machine2  |   |   machine3  |
  +---+-+ +++   +++
 ovsbr1+-+--+ || |
 |  | || |
 enp1s0f0+  +enp1s0f1 |enp3s0enp0s3|   enp0s3|
 |   \++-+
 |\ physical switch
 | \
 |eth4  \eth5
   +-++  +--+
   | machine4 |  | machine5 |
   +--+  +--+


Machine1:
  Three physical ports, enp1s0f0, enp1s0f1 and enp3s0.
  A ovs switch named ovsbr1.
  Enp1s0f[01] are logically connected to ovsbr1.
  Enp1s0f0 is physically connected to machine4.
  Enp1s0f1 is physically connected to machine5.
  Enp3s0 is physically connected to the physical switch.

Machine2:
  One physical port, enp0s3 which is connected to the physical switch.
  One ovs switch named ovsbr2.
  One docker container, named Docker0 on the machine, is connected to ovsbr2.

Machine3:
  One physical port, enp0s3 which is connected to the physical switch.
  One ovs switch named ovsbr3.
  One docker container, named Docker1 on the machine, is connected to ovsbr3.

Machine4, Machine5:
  Each has one physical port, whose names are eth4 and eth5 respectivly.
  Eth4 is physically connect to enp1s0f0.
  Eth5 is physically connect to enp1s0f1.
  
Ovsbr1 has a VXLAN port whose remote is ovsbr2.
Ovsbr2 has two VXLAN ports whose remote are ovsbr1 and ovsbr3.
Ovsbr3 has a VXLAN port whose remote is ovsbr2.

   
IPv4:
  machine1:enp3s0  192.168.1.1/24
  machine2:enp0s3  192.168.1.2/24
  machine3:enp0s3  192.168.1.3/24
  docker0:eth2 172.20.0.2/24
  docker1:eth3 172.20.0.3/24
  machine4:eth4172.20.0.4/24
  machine5:eth5172.20.0.5/24

machine1# ovs-vsctl show
Bridge ovsbr0
Port vxlan1025.2
Interface vxlan1025.2
type: vxlan
options: {key="1025", remote_ip="192.168.1.2"}
Port ovsbr0
Interface ovsbr1
type: internal
Port enp1s0f1
Interface enp1s0f1
Port enp1s0f0
Interface enp1s0f0
ovs_version: "2.13.1"

machine2# ovs-vsctl show
Bridge ovsbr0
Port ovsbr0
Interface ovsbr0
type: internal
Port vxlan1025.1
Interface vxlan1025.1
type: vxlan
options: {key="1025", remote_ip="192.168.1.1"}
Port vxlan1025.3
Interface vxlan1025.3
type: vxlan
options: {key="1025", remote_ip="192.168.1.3"}
Port ba1e1f0927484_l
Interface ba1e1f0927484_l
ovs_version: "2.13.0"

machine3# ovs-vsctl show
Bridge ovsbr0
Port a2cedfb6beb34_l
Interface a2cedfb6beb34_l
Port vxlan1025
Interface vxlan1025.2
type: vxlan
options: {key="1025", remote_ip="192.168.1.2"}
Port ovsbr0
In

Re: [ovs-discuss] About VXLAN connecting container and physical machine

2020-08-30 Thread Heim, Dennis
When I have done VXLAN, I did it with a controller. Remember VXLAN defines the 
data plane, but not the control plane (Mac address, etc).

-Original Message-
From: discuss  On Behalf Of 
i_j_e_...@yahoo.co.jp
Sent: Sunday, August 30, 2020 1:17 PM
To: ovs-discuss@openvswitch.org
Subject: [ovs-discuss] About VXLAN connecting container and physical machine

Hi.

I tried to establish L2 network between a docker container and a physical 
machine by using vxlan of OVS. The container host is different from the 
physical machine. So far, it is not successful. I'd like to have comments on 
how to do this.

Here's the detail.

As shown in the figure and description below, there are five physical machines, 
machine1, machine2, machine3, machine4, and machine5. On all of them are 
running linux. Each of machine1, machine2 and machine3 has a OVS bridge.

Connection between docker2 and docker3 works fine. Connection between machine4 
and machine5 also works fine. When ovsbr1 is down, machine4 and machine5 
connection fails. Therefore, it is sure that ovsbr1 is forwarding packets 
between machine4 and machine5.

However, connection between docker2 and machine4 is not established. Ping never 
reaches between these. I dumped packets and found the following.

Docker2 ping to machine4 did not succeed, during which
  a) arp requests arriveed on machine1 via the vxlan channel.
  b) no arp request arrived on machine4.
Docker2 ping to docker3 succeeded, during which
  c) arp requests arrived on machine3 via the vxlan channel.
  d) arp requests arrived on docker3 and docker3 replied.

To summerize, OVS does not forward arp request comming from vxlan to its 
connected physical ports in this configuration.

Please let me know how to establish connection between docker2 and machine4 in 
this configuration.

Regards,

   +---+ +---+
   |docker2| |docker3|
   +--++ +--++
  |eth2 |eth3
  | |
 ovsbr2+--+--+ ovsbr3+--+--+
  +-+ +-+   +-+
  | machine1| |   machine2  |   |   machine3  |
  +---+-+ +++   +++
 ovsbr1+-+--+ || |
 |  | || |
 enp1s0f0+  +enp1s0f1 |enp3s0enp0s3|   enp0s3|
 |   \++-+
 |\ physical switch
 | \
 |eth4  \eth5
   +-++  +--+
   | machine4 |  | machine5 |
   +--+  +--+


Machine1:
  Three physical ports, enp1s0f0, enp1s0f1 and enp3s0.
  A ovs switch named ovsbr1.
  Enp1s0f[01] are logically connected to ovsbr1.
  Enp1s0f0 is physically connected to machine4.
  Enp1s0f1 is physically connected to machine5.
  Enp3s0 is physically connected to the physical switch.

Machine2:
  One physical port, enp0s3 which is connected to the physical switch.
  One ovs switch named ovsbr2.
  One docker container, named Docker0 on the machine, is connected to ovsbr2.

Machine3:
  One physical port, enp0s3 which is connected to the physical switch.
  One ovs switch named ovsbr3.
  One docker container, named Docker1 on the machine, is connected to ovsbr3.

Machine4, Machine5:
  Each has one physical port, whose names are eth4 and eth5 respectivly.
  Eth4 is physically connect to enp1s0f0.
  Eth5 is physically connect to enp1s0f1.
  
Ovsbr1 has a VXLAN port whose remote is ovsbr2.
Ovsbr2 has two VXLAN ports whose remote are ovsbr1 and ovsbr3.
Ovsbr3 has a VXLAN port whose remote is ovsbr2.

   
IPv4:
  machine1:enp3s0  192.168.1.1/24
  machine2:enp0s3  192.168.1.2/24
  machine3:enp0s3  192.168.1.3/24
  docker0:eth2 172.20.0.2/24
  docker1:eth3 172.20.0.3/24
  machine4:eth4172.20.0.4/24
  machine5:eth5172.20.0.5/24

machine1# ovs-vsctl show
Bridge ovsbr0
Port vxlan1025.2
Interface vxlan1025.2
type: vxlan
options: {key="1025", remote_ip="192.168.1.2"}
Port ovsbr0
Interface ovsbr1
type: internal
Port enp1s0f1
Interface enp1s0f1
Port enp1s0f0
Interface enp1s0f0
ovs_version: "2.13.1"

machine2# ovs-vsctl show
Bridge ovsbr0
Port ovsbr0
Interface ovsbr0
type: internal
Port vxlan1025.1
Interface vxlan1025.1
type: vxlan
options: {key="1025", remote_ip="192.168.1.1"}
Port vxlan1025.3
Interface vxlan1025.3
type: vxlan
options: {key="1025", remote_ip="192.168.1.3"}
Port ba1e1f

[ovs-discuss] [OVN] Gateway router scale

2020-08-30 Thread Tony Liu
Hi,

Could anyone share experiences in gateway routers scaling?
How many gateway routers on a chassis have be tested, hundreds,
thousands?
What may be the bottleneck for gateway router scaling, resources
like memory, CPU, or ovn-controller, OVSDB?

BTW, the link in ovn-architecture.7 is not valid anymore.
https://github.com/ovn-org/ovn/blob/master/ovn-architecture.7.xml#L1758
Could anyone fix it?

Thanks!
Tony

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