[NETVIRT-17] Make Gateway Arp resolve cluster aware Created: 11/May/16  Updated: 09/Mar/18  Resolved: 09/Mar/18

Status: Resolved
Project: netvirt
Component/s: None
Affects Version/s: Beryllium
Fix Version/s: None

Type: Bug Priority: Medium
Reporter: Anil Vishnoi Assignee: Anil Vishnoi
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: JPEG File br-ex_dumpflows.jpg    
External issue ID: 5872

 Description   

In 3-node cluster setup, all instances of net-virt runs the gateway mac resolver and send out ARP request for the external network gateway address. Although it's does not affect the functionality, but it generate x3 time ARP packets, which it should not do.



 Comments   
Comment by Arthi Bhattacharjee [ 30/May/16 ]

Anil,
To reproduce the bug, we've used 3 nodes cluster setup, a control and compute node.
Once the stack is up, we created an external network (external 192.164.1.1).

Following are the commands we have used:

  • source openrc admin admin
  • neutron net-create public --router:external
  • neutron subnet-create public 192.165.1.0/24 --name vlan --enable_dhcp=False --allocation_pool start=192.165.1.25,end=192.165.1.45 --gateway 192.165.1.1
  • neutron router-create router1
  • neutron router-gateway-set <router-id> <external sub-network-id>
  • neutron floatingip-create public

and we got the dump flows for br-ex

PFB dump flows:

[stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-ex
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=14247.554s, table=0, n_packets=0, n_bytes=0, dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x0, duration=14247.554s, table=0, n_packets=1968, n_bytes=118128, priority=0 actions=NORMAL
[stack@devstack-control devstack]$
[stack@devstack-control devstack]$
[stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-ex
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=14248.969s, table=0, n_packets=0, n_bytes=0, dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x0, duration=14248.969s, table=0, n_packets=1968, n_bytes=118128, priority=0 actions=NORMAL
[stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-ex
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=14249.906s, table=0, n_packets=0, n_bytes=0, dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x372, duration=0.748s, table=0, n_packets=1, n_bytes=60, priority=10000,arp,dl_dst=fa:16:3e:f0:84:92,arp_spa=192.164.1.6,arp_tpa=192.164.1.25,arp_op=2,arp_tha=fa:16:3e:f0:84:92 actions=CONTROLLER:65535
cookie=0x0, duration=14249.906s, table=0, n_packets=1968, n_bytes=118128, priority=0 actions=NORMAL
[stack@devstack-control devstack]$
[stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-ex
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=14254.949s, table=0, n_packets=0, n_bytes=0, dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x372, duration=5.791s, table=0, n_packets=2, n_bytes=120, priority=10000,arp,dl_dst=fa:16:3e:f0:84:92,arp_spa=192.164.1.6,arp_tpa=192.164.1.25,arp_op=2,arp_tha=fa:16:3e:f0:84:92 actions=CONTROLLER:65535
cookie=0x0, duration=14254.949s, table=0, n_packets=1969, n_bytes=118188, priority=0 actions=NORMAL
[stack@devstack-control devstack]$
[stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-ex
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=14298.204s, table=0, n_packets=0, n_bytes=0, dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x0, duration=14298.204s, table=0, n_packets=1976, n_bytes=118608, priority=0 actions=NORMAL

According to our observation, the packet count varies periodically in a particular time interval. Kindly let us know whether our observation is right.

Comment by Arthi Bhattacharjee [ 30/May/16 ]

Attachment br-ex_dumpflows.jpg has been added with description: br-ex dump-flows

Comment by Hari Prasidh [ 31/May/16 ]

(In reply to Arthi Bhattacharjee from comment #1)
> Created attachment 1010 [details]
> br-ex dump-flows
>
> Anil,
> To reproduce the bug, we've used 3 nodes cluster setup, a control and
> compute node.
> Once the stack is up, we created an external network (external 192.164.1.1).
>
> Following are the commands we have used:
>
> * source openrc admin admin
> * neutron net-create public --router:external
> * neutron subnet-create public 192.165.1.0/24 --name vlan
> --enable_dhcp=False --allocation_pool start=192.165.1.25,end=192.165.1.45
> --gateway 192.165.1.1
> * neutron router-create router1
> * neutron router-gateway-set <router-id> <external sub-network-id>
> * neutron floatingip-create public
>
> and we got the dump flows for br-ex
>
> PFB dump flows:
>
> [stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows
> br-ex
> OFPST_FLOW reply (OF1.3) (xid=0x2):
> cookie=0x0, duration=14247.554s, table=0, n_packets=0, n_bytes=0,
> dl_type=0x88cc actions=CONTROLLER:65535
> cookie=0x0, duration=14247.554s, table=0, n_packets=1968, n_bytes=118128,
> priority=0 actions=NORMAL
> [stack@devstack-control devstack]$
> [stack@devstack-control devstack]$
> [stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows
> br-ex
> OFPST_FLOW reply (OF1.3) (xid=0x2):
> cookie=0x0, duration=14248.969s, table=0, n_packets=0, n_bytes=0,
> dl_type=0x88cc actions=CONTROLLER:65535
> cookie=0x0, duration=14248.969s, table=0, n_packets=1968, n_bytes=118128,
> priority=0 actions=NORMAL
> [stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows
> br-ex
> OFPST_FLOW reply (OF1.3) (xid=0x2):
> cookie=0x0, duration=14249.906s, table=0, n_packets=0, n_bytes=0,
> dl_type=0x88cc actions=CONTROLLER:65535
> cookie=0x372, duration=0.748s, table=0, n_packets=1, n_bytes=60,
> priority=10000,arp,dl_dst=fa:16:3e:f0:84:92,arp_spa=192.164.1.6,arp_tpa=192.
> 164.1.25,arp_op=2,arp_tha=fa:16:3e:f0:84:92 actions=CONTROLLER:65535
> cookie=0x0, duration=14249.906s, table=0, n_packets=1968, n_bytes=118128,
> priority=0 actions=NORMAL
> [stack@devstack-control devstack]$
> [stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows
> br-ex
> OFPST_FLOW reply (OF1.3) (xid=0x2):
> cookie=0x0, duration=14254.949s, table=0, n_packets=0, n_bytes=0,
> dl_type=0x88cc actions=CONTROLLER:65535
> cookie=0x372, duration=5.791s, table=0, n_packets=2, n_bytes=120,
> priority=10000,arp,dl_dst=fa:16:3e:f0:84:92,arp_spa=192.164.1.6,arp_tpa=192.
> 164.1.25,arp_op=2,arp_tha=fa:16:3e:f0:84:92 actions=CONTROLLER:65535
> cookie=0x0, duration=14254.949s, table=0, n_packets=1969, n_bytes=118188,
> priority=0 actions=NORMAL
> [stack@devstack-control devstack]$
> [stack@devstack-control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows
> br-ex
> OFPST_FLOW reply (OF1.3) (xid=0x2):
> cookie=0x0, duration=14298.204s, table=0, n_packets=0, n_bytes=0,
> dl_type=0x88cc actions=CONTROLLER:65535
> cookie=0x0, duration=14298.204s, table=0, n_packets=1976, n_bytes=118608,
> priority=0 actions=NORMAL
>
>
> According to our observation, the packet count varies periodically in a
> particular time interval. Kindly let us know whether our observation is
> right.

Hi Anil,

In above test, we used external gateway address as 192.164.1.6.

Comment by Sam Hague [ 09/Mar/18 ]

Legacy NetVirt is deprecated.

Generated at Wed Feb 07 20:20:29 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.