← Back to team overview

openstack team mailing list archive

openflow FLOOD data can not go through br-int to br-tun

 

hi all:

I have set up quantum+floodlight, there are a compute node and a
controller, so I create a VM in the compute node, but the VM(100.0.0.4) can
not ping its gateway(100.0.0.1) in the controller node.

When the VM send a ARP request to OVS of the compute node, a packet_in
request is sent to the controller, then the controller send a packet_out
response to the OVS, telling it to flood the ARP request.

I run tcpdump at both br-int and br-tun interface, packets are captured at
br-int, but no packets are captured at br-tun:

root@node1:/var/log/openvswitch# tcpdump -i br-int -nn
tcpdump: WARNING: br-int: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br-int, link-type EN10MB (Ethernet), capture size 65535 bytes
14:26:45.485978 ARP, Request who-has 100.0.0.1 tell 100.0.0.4, length 28
14:26:46.482442 ARP, Request who-has 100.0.0.1 tell 100.0.0.4, length 28
14:26:47.482416 ARP, Request who-has 100.0.0.1 tell 100.0.0.4, length 28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
root@node1:/var/log/openvswitch# tcpdump -i br-tun -nn
tcpdump: WARNING: br-tun: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br-tun, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

root@node1:/var/log/openvswitch# ovs-ofctl snoop br-int
OFPT_PACKET_IN (xid=0x0): total_len=42 in_port=6 data_len=42
buffer=0x0000044d
priority0:tunnel0:in_port0006:tci(0)
macfa:16:3e:9f:5b:2c->ff:ff:ff:ff:ff:ff type0806 proto1 tos0 ttl0
ip100.0.0.4->100.0.0.1 arp_hafa:16:3e:9f:5b:2c->00:00:00:00:00:00
fa:16:3e:9f:5b:2c > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42:
Request who-has 100.0.0.1 tell 100.0.0.4, length 28
OFPT_PACKET_OUT (xid=0x0): in_port=6 actions_len=8 actions=FLOOD data_len=42
fa:16:3e:9f:5b:2c > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42:
Request who-has 100.0.0.1 tell 100.0.0.4, length 28

I guess it is because the gateway is on another node, so ARP request should
go through br-int->br-tun->eth2[compute node side]---------------------->
[controller side]eth2->br-tun->br-int, but the ARP request seems to be
blocked between br-int and br-tun.

I don't know why the ARP request is not sent to br-tun. it seems that ARP
request is sent to normal port of the OVS because VM 100.0.0.4 can ping
other VMs(100.0.0.2) on the same OVS.




root@node1:/var/log/openvswitch# ovs-vsctl show
afaf59ee-48cc-4f5b-9a1d-4311b509a6c5
    *Bridge br-int*
        Controller "tcp:30.0.0.1:6633"
            is_connected: true
        Port "qvoe06ea8d8-d7"
            tag: 1
            Interface "qvoe06ea8d8-d7"
        Port "qvoa96762cb-f3"
            tag: 4095
            Interface "qvoa96762cb-f3"
        Port "qvo38f23ca0-59"
            tag: 1
            Interface "qvo38f23ca0-59"
        Port "qvofc3fe9ed-fb"
            tag: 4095
            Interface "qvofc3fe9ed-fb"
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "eth3"
            Interface "eth3"
        Port "qvo1021fd99-eb"
            tag: 4095
            Interface "qvo1021fd99-eb"
        Port "qvo329db52d-81"
            tag: 4095
            Interface "qvo329db52d-81"
    Bridge "qbre06ea8d8-d7"
        Port "qbre06ea8d8-d7"
            Interface "qbre06ea8d8-d7"
                type: internal
        Port "qvbe06ea8d8-d7"
            Interface "qvbe06ea8d8-d7"
        Port "tape06ea8d8-d7"
            Interface "tape06ea8d8-d7"
    Bridge "qbr329db52d-81"
        Port "qbr329db52d-81"
            Interface "qbr329db52d-81"
                type: internal
        Port "qvb329db52d-81"
            Interface "qvb329db52d-81"
    Bridge "qbrc8ec86f4-3a"
        Port "qbrc8ec86f4-3a"
            Interface "qbrc8ec86f4-3a"
                type: internal
        Port "qvbc8ec86f4-3a"
            Interface "qvbc8ec86f4-3a"
    *Bridge br-tun*
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port br-tun
            Interface br-tun
                type: internal
        Port "gre-1"
            Interface "gre-1"
                type: gre
                options: {in_key=flow, out_key=flow, remote_ip="30.0.0.1"}
    Bridge "qbr31c6e35b-81"
        Port "qbr31c6e35b-81"
            Interface "qbr31c6e35b-81"
                type: internal
        Port "qvb31c6e35b-81"
            Interface "qvb31c6e35b-81"
    Bridge "qbr38f23ca0-59"
        Port "qbr38f23ca0-59"
            Interface "qbr38f23ca0-59"
                type: internal
        Port "tap38f23ca0-59"
            Interface "tap38f23ca0-59"
        Port "qvb38f23ca0-59"
            Interface "qvb38f23ca0-59"
    Bridge "qbr28117358-50"
        Port "qvb28117358-50"
            Interface "qvb28117358-50"
        Port "qbr28117358-50"
            Interface "qbr28117358-50"
                type: internal
    Bridge "qbr1021fd99-eb"
        Port "qvb1021fd99-eb"
            Interface "qvb1021fd99-eb"
        Port "qbr1021fd99-eb"
            Interface "qbr1021fd99-eb"
                type: internal
    Bridge "qbr054163ed-d1"
        Port "qvb054163ed-d1"
            Interface "qvb054163ed-d1"
        Port "qbr054163ed-d1"
            Interface "qbr054163ed-d1"
                type: internal
    Bridge "qbr5c2a6893-3c"
        Port "qvb5c2a6893-3c"
            Interface "qvb5c2a6893-3c"
        Port "qbr5c2a6893-3c"
            Interface "qbr5c2a6893-3c"
                type: internal
    Bridge "qbra96762cb-f3"
        Port "qvba96762cb-f3"
            Interface "qvba96762cb-f3"
        Port "qbra96762cb-f3"
            Interface "qbra96762cb-f3"
                type: internal
    Bridge "qbrfc3fe9ed-fb"
        Port "qvbfc3fe9ed-fb"
            Interface "qvbfc3fe9ed-fb"
        Port "qbrfc3fe9ed-fb"
            Interface "qbrfc3fe9ed-fb"
                type: internal
    Bridge "br0"
        Port "eth0"
            Interface "eth0"
        Port "br0"
            Interface "br0"
                type: internal
    Bridge "qbr42d41f3f-e8"
        Port "qbr42d41f3f-e8"
            Interface "qbr42d41f3f-e8"
                type: internal
        Port "qvb42d41f3f-e8"
            Interface "qvb42d41f3f-e8"
    Bridge "qbr4881e5be-2f"
        Port "qbr4881e5be-2f"
            Interface "qbr4881e5be-2f"
                type: internal
        Port "qvb4881e5be-2f"
            Interface "qvb4881e5be-2f"
    ovs_version: "1.4.0+build0"

Follow ups