<div dir="ltr">Hi,<div><br></div><div>It's Interesting! I have three points for you here.</div><div>a.Support packet tracking which show the path of a packet traveled on the host, even on the source/destination host. </div><div>b.Given a communication type and packet characteristic to find out the fault point. For example, if you want VM1 talk with VM2 via DVR but failed. The tool should tell you that the packet is sent to the snat router and the DVR router on the host VM1 residents is created with a wrong route[dest=xx,nexthop=yy], and the right route should be dest=xx,nexthop=zz.</div><div>c.As a tool, I think if it should be simple. The best is no installation. Copy and use it. Can you simple it? One of the possible method may implement it using C/C++ and publish executable file. </div><div><br></div><div>BR,</div><div>Germy</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 28, 2015 at 6:05 PM, Baohua Yang <span dir="ltr"><<a href="mailto:yangbaohua@gmail.com" target="_blank">yangbaohua@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi , all<div><br></div><div>When using neutron (especially with DVR), I find it difficult to debug problems with lots of ovs rules, complicated iptables rules, network namespaces, routing tables, ... </div><div><br></div><div>So I create <a href="https://github.com/yeasy/easyOVS" target="_blank"></a><a href="https://github.com/yeasy/easyOVS" target="_blank"></a><a href="https://github.com/yeasy/easyOVS" target="_blank">easyOVS</a>, in summary, it can</div><div><br></div><div><ul style="padding:0px 0px 0px 2em;margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;line-height:25.6000003814697px"><li>Format the output and use color to make it clear and easy to compare.</li><li>Associate the OpenStack information (e.g., vm ip) on the virtual port or rule</li><li>Query openvswitch,iptables,namespace information in smart way.</li><li>Check if the DVR configuration is correct.</li><li>Smart command completion, try tab everywhere.</li><li>Support runing local system commands.</li></ul></div><div>In latest 0.5 version, it supports checking your dvr configuration and running states, e.g., on a compute node, I run 'dvr check' command, then it will automatically check the configuration files, bridges, ports, network spaces, iptables rules,... like</div><div><br></div><div><div> No type given, guessing...compute node</div><div>=== Checking DVR on compute node ===</div><div>>>> Checking config files...</div><div># Checking file = /etc/sysctl.conf...</div><div># Checking file = /etc/neutron/neutron.conf...</div><div># Checking file = /etc/neutron/plugins/ml2/ml2_conf.ini...</div><div>file /etc/neutron/plugins/ml2/ml2_conf.ini Not has [agent]</div><div>file /etc/neutron/plugins/ml2/ml2_conf.ini Not has l2_population = True</div><div>file /etc/neutron/plugins/ml2/ml2_conf.ini Not has enable_distributed_routing = True</div><div>file /etc/neutron/plugins/ml2/ml2_conf.ini Not has arp_responder = True</div><div># Checking file = /etc/neutron/l3_agent.ini...</div><div><<< Checking config files has warnings</div><div><br></div><div>>>> Checking bridges...</div><div># Existing bridges are br-tun, br-int, br-eno1, br-ex</div><div># Vlan bridge is at br-tun, br-int, br-eno1, br-ex</div><div><<< Checking bridges passed</div><div><br></div><div>>>> Checking vports ...</div><div>## Checking router port = qr-b0142af2-12</div><div>### Checking rfp port rfp-f046c591-7</div><div>Found associated floating ips : <a href="http://172.29.161.127/32" target="_blank">172.29.161.127/32</a>, <a href="http://172.29.161.126/32" target="_blank">172.29.161.126/32</a></div><div>### Checking associated fpr port fpr-f046c591-7</div><div>### Check related fip_ns=fip-9e1c850d-e424-4379-8ebd-278ae995d5c3</div><div>Bridging in the same subnet</div><div>fg port is attached to br-ex</div><div>floating ip 172.29.161.127 match fg subnet</div><div>floating ip 172.29.161.126 match fg subnet</div><div>Checking chain rule number: neutron-postrouting-bottom...Passed</div><div>Checking chain rule number: OUTPUT...Passed</div><div>Checking chain rule number: neutron-l3-agent-snat...Passed</div><div>Checking chain rules: neutron-postrouting-bottom...Passed</div><div>Checking chain rules: PREROUTING...Passed</div><div>Checking chain rules: OUTPUT...Passed</div><div>Checking chain rules: POSTROUTING...Passed</div><div>Checking chain rules: POSTROUTING...Passed</div><div>Checking chain rules: neutron-l3-agent-POSTROUTING...Passed</div><div>Checking chain rules: neutron-l3-agent-PREROUTING...Passed</div><div>Checking chain rules: neutron-l3-agent-OUTPUT...Passed</div><div>DNAT for incoming: 172.29.161.127 --> 10.0.0.3 passed</div><div>Checking chain rules: neutron-l3-agent-float-snat...Passed</div><div>SNAT for outgoing: 10.0.0.3 --> 172.29.161.127 passed</div><div>Checking chain rules: neutron-l3-agent-OUTPUT...Passed</div><div>DNAT for incoming: 172.29.161.126 --> 10.0.0.216 passed</div><div>Checking chain rules: neutron-l3-agent-float-snat...Passed</div><div>SNAT for outgoing: 10.0.0.216 --> 172.29.161.126 passed</div><div>## Checking router port = qr-8c41bfc7-56</div><div>Checking passed already</div><div><<< Checking vports passed</div></div><div><br></div><div><br></div><div>Welcome for any feedback, and welcome for any contribution!</div><div><br></div><div>I am trying to put this project into stackforge to let more people can use and improve it, any thoughts if it is suitable?</div><div><br></div><div><a href="https://review.openstack.org/#/c/212396/" target="_blank">https://review.openstack.org/#/c/212396/</a><br></div><div><br></div><div>Thanks for any help or suggestion!</div><span class="HOEnZb"><font color="#888888"><div><br clear="all"><div><br></div>-- <br><div><font color="#999999">Best wishes!<br>Baohua<br></font></div>
</div></font></span></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>