<div dir="ltr">Hello all,<div><br></div><div>I&#39;d like to verify if what I&#39;m trying to do is possible.</div><div><br></div><div>I&#39;m trying to use tunnels to perform load balancing, just as it&#39;s done with VLB. The idea is to send packets to an intermediary node which acts as proxy and deflects the packet to its intended destination.</div><div><br></div><div>As I understand, ovs does not support IP-in-IP, only GRE and VXLAN, is that correct?</div><div><br></div><div>So anyway, I&#39;ve attempted to create a GRE interface within an OVS switch which encapsulates a packet with an outer IPv4 header and sends it to a router (which owns that IP). The router, then, should decapsulate the packet and send it to the next-hop using the inner IPv4 header.</div><div><br></div><div>I&#39;m using the following topology on mininet:</div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">                (</font><span style="font-family:monospace,monospace">192.168.255.1)    </span><font face="monospace, monospace">(</font><span style="font-family:monospace,monospace">192.168.255.4)</span><br></div><div><font face="monospace, monospace">                              &lt; R1 &gt;</font><br></div><div><font face="monospace, monospace">                             /      \</font></div><div><font face="monospace, monospace">           &lt; X1 &gt; -- &lt; OVS 1 &gt; ----- &lt; OVS 2 &gt; -- &lt; X2 &gt;</font></div><div><div><font face="monospace, monospace">(</font><span style="font-family:monospace,monospace">192.168.255.2)                                    </span><font face="monospace, monospace">(</font><span style="font-family:monospace,monospace">192.168.255.3)</span><br></div><div><span style="font-family:monospace,monospace"><br></span></div><div>I first validated the topology and configs by running L2Learning on both switches. This checked and everyone found everyone.<br></div><div><br></div><div>Next, I created a GRE port pointing to R1&#39;s IP on the R1-to-OVS1 interface (<font face="monospace, monospace">r1-eth0 -- s1-eth1</font>) using:</div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">sh ovs-vsctl add-port s1 s1-gre0 -- set interface s1-gre0 type=gre option:remote_ip=192.168.255.1</span><br></div><div><br></div><div>and then reconfigure <font face="monospace, monospace">OVS1</font> to forward packets from <font face="monospace, monospace">X1</font> to the <font face="monospace, monospace">s1-gre0</font> interface. The result is a blackhole, packets never leave S1. Is this expected? Should I be connecting s1-gre0 to s1-eth1 or another switch port internally somehow?</div><div><br></div><div>Bellow, there is a dump of OVS1&#39;s flow table and ports. Ports 1, 2, and 3 connect to, respectively,  R1, S2, and X1. Port 4 is the GRE port.</div><div><br></div><div>The list of MAC addresses are:</div><div><font face="monospace, monospace">R1: c2:e7:ba:8e:c8:d8<br></font></div><div><font face="monospace, monospace">X1: 4a:cb:6a:d6:78:84</font></div><div><font face="monospace, monospace">X2: 7a:73:b3:8f:b0:bf</font></div><div><br></div><div><div><font face="monospace, monospace">mininet&gt; sh ovs-ofctl dump-flows s1</font></div><div><font face="monospace, monospace">NXST_FLOW reply (xid=0x4):</font></div><div><font face="monospace, monospace"> cookie=0x0, duration=1058.311s, table=0, n_packets=8, n_bytes=616, idle_age=1015, priority=2,in_port=3 actions=output:4</font></div><div><font face="monospace, monospace"> cookie=0x0, duration=1058.311s, table=0, n_packets=0, n_bytes=0, idle_age=1058, priority=1,dl_dst=c2:e7:ba:8e:c8:d8 actions=output:1</font></div><div><font face="monospace, monospace"> cookie=0x0, duration=1058.311s, table=0, n_packets=3, n_bytes=238, idle_age=1015, priority=1,dl_dst=4a:cb:6a:d6:78:84 actions=output:3</font></div><div><font face="monospace, monospace"> cookie=0x0, duration=1058.311s, table=0, n_packets=2, n_bytes=84, idle_age=1006, priority=1,dl_dst=7a:73:b3:8f:b0:bf actions=output:2</font></div><div><font face="monospace, monospace"> cookie=0x0, duration=1058.312s, table=0, n_packets=3, n_bytes=126, idle_age=1006, priority=3,dl_dst=ff:ff:ff:ff:ff:ff actions=ALL</font></div></div><div><br></div><div><div><font face="monospace, monospace">mininet&gt; sh ovs-ofctl show s1</font></div><div><font face="monospace, monospace">OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000000000001</font></div><div><font face="monospace, monospace">n_tables:254, n_buffers:256</font></div><div><font face="monospace, monospace">capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP</font></div><div><font face="monospace, monospace">actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE</font></div><div><font face="monospace, monospace"> 1(s1-eth1): addr:96:6e:1e:4e:d4:c3</font></div><div><font face="monospace, monospace">     config:     0</font></div><div><font face="monospace, monospace">     state:      0</font></div><div><font face="monospace, monospace">     current:    10GB-FD COPPER</font></div><div><font face="monospace, monospace">     speed: 10000 Mbps now, 0 Mbps max</font></div><div><font face="monospace, monospace"> 2(s1-eth2): addr:e6:06:80:f5:31:63</font></div><div><font face="monospace, monospace">     config:     0</font></div><div><font face="monospace, monospace">     state:      0</font></div><div><font face="monospace, monospace">     current:    10GB-FD COPPER</font></div><div><font face="monospace, monospace">     speed: 10000 Mbps now, 0 Mbps max</font></div><div><font face="monospace, monospace"> 3(s1-eth3): addr:ca:b1:3e:7d:f4:92</font></div><div><font face="monospace, monospace">     config:     0</font></div><div><font face="monospace, monospace">     state:      0</font></div><div><font face="monospace, monospace">     current:    10GB-FD COPPER</font></div><div><font face="monospace, monospace">     speed: 10000 Mbps now, 0 Mbps max</font></div><div><font face="monospace, monospace"> 4(s1-gre0): addr:de:10:c3:ae:d3:40</font></div><div><font face="monospace, monospace">     config:     0</font></div><div><font face="monospace, monospace">     state:      0</font></div><div><font face="monospace, monospace">     speed: 0 Mbps now, 0 Mbps max</font></div><div><font face="monospace, monospace"> LOCAL(s1): addr:da:9e:08:55:b7:45</font></div><div><font face="monospace, monospace">     config:     PORT_DOWN</font></div><div><font face="monospace, monospace">     state:      LINK_DOWN</font></div><div><font face="monospace, monospace">     speed: 0 Mbps now, 0 Mbps max</font></div><div><font face="monospace, monospace">OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0</font></div></div><div><br></div><div>-- Rodrigo<br></div></div><div><br></div></div>