<div dir="ltr">Hi all,<div><br></div><div>Just would like to share a way to test Tricircle north-south L3 networking without requiring the third interface.</div><div><br></div><div>In the Tricircle readme, it is said that you need to add an interface in your host to br-ext bridge. One interface to access the host, one interface for east-west networking and one interface for north-south networking, so all together three interfaces are required.</div><div><br></div><div>What if your host only have two interfaces? Here is another deployment choice.</div><div><br></div><div>First, change your external network type to flat type. If you are using the DevStack script provided by Tricircle, do the following changes in node2 local.conf then run DevStack in node2.</div><div><br></div><div>    (1) change Q_ML2_PLUGIN_VLAN_TYPE_OPTIONS</div><div>        from (network_vlan_ranges=bridge:2001:3000,extern:3001:4000)</div><div>        to (network_vlan_ranges=bridge:2001:3000)</div><div>    (since we going to use flat external network, no need to configure VLAN range for extern)</div><div>    (2) add PHYSICAL_NETWORK=extern</div><div>    (3) keep OVS_BRIDGE_MAPPINGS=bridge:br-bridge,extern:br-ext</div><div><br></div><div>Second, specify flat type when creating external network.</div><div><div><br></div><div>    curl -X POST <a href="http://127.0.0.1:9696/v2.0/networks">http://127.0.0.1:9696/v2.0/networks</a></div><div>           -H "Content-Type: application/json" \</div><div>           -H "X-Auth-Token: $token" \</div><div>           -d '{"network": {"name": "ext-net", "admin_state_up": true, "router:external": true, "provider:network_type": "flat", "provider:physical_network": "extern", "availability_zone_hints": ["Pod2"]}}'</div></div><div><br></div><div>Third, configure IP address of br-ext.</div><div><br></div><div>    sudo ifconfig br-ext 163.3.124.1 netmask 255.255.255.0<br></div><div><br></div><div>    Here 163.3.124.1 is your external network gateway IP, set net mask according to your CIDR.</div><div><br></div><div>After the above steps, you can access your VM via floating IP in node2. Also your VM can ping the external gateway.</div><div><br></div><div>Would like your VM to access the Internet?(Of course node2 should be able to access the Internet) Two more steps to follow:</div><div>(1) Enable packet forward in node2 </div><div><br></div><div>    sudo bash</div><div>    echo 1 >/proc/sys/net/ipv4/ip_forward<br></div><div><br></div><div>(2) Configure SNAT in node2</div><div><br></div><div>    sudo iptables -t nat -I POSTROUTING -s <a href="http://163.3.124.0/24">163.3.124.0/24</a> -o eth1 -j SNAT --to-source 10.250.201.21</div><div><br></div><div>    <a href="http://163.3.124.0/24">163.3.124.0/24</a> is your external network CIDR, eth1 is the interface associated with your default route in node2 and 10.250.201.21 is the IP of eth1.</div><div><br></div><div>Hope this information helps.</div><div><br></div><div>BR<br>Zhiyuan</div></div>