Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

linux bridge not forwarding packets to tap interface

I have installed Liberty version of openstack. I get problem when a dhcp request i send form the instance . I create a FLAT network and i boot the instance, the problem is that the DHCPDISCOVER reaches the DHCP server on the controller, the DHCP server generates DHCPOFFER and the DHCPOFFER is propagated to the compute node. When the packet is at the linux bridge of the COMPUTE NODE, the packet is sent towards eth0 and not the Tap interface on which the instance is .

Can somebody help me how to make the linux bridge forward the packet towards TAP interface...

I can see the DHCPOFFER packet on eth0 interface , then i can see it in the linux bridge and then again in the eth0.. the packet is sent back

Here is my configuration on compute node:

ifconfig on the compute node:

root@compute:/home/opencontrolnode01# ifconfig
brqa7ecec51-b9 Link encap:Ethernet  HWaddr 00:0c:29:a0:61:0a
          inet addr:10.70.70.7  Bcast:10.70.70.255  Mask:255.255.255.0
          inet6 addr: fe80::508b:a1ff:fe44:c9c3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1442 (1.4 KB)  TX bytes:1564 (1.5 KB)

eth0      Link encap:Ethernet  HWaddr 00:0c:29:a0:61:0a
          inet6 addr: fe80::20c:29ff:fea0:610a/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:285454 errors:0 dropped:2 overruns:0 frame:0
          TX packets:298 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:261167472 (261.1 MB)  TX bytes:47022 (47.0 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:a0:61:14
          inet addr:10.71.71.7  Bcast:10.71.71.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea0:6114/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1814 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1959 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:587718 (587.7 KB)  TX bytes:693827 (693.8 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:168800 (168.8 KB)  TX bytes:168800 (168.8 KB)

tap236bac56-51 Link encap:Ethernet  HWaddr fe:16:3e:4d:41:d6
          inet6 addr: fe80::fc16:3eff:fe4d:41d6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:f7:a7:15
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

brctl show:

root@compute:/home/opencontrolnode01# brctl show
bridge name     bridge id               STP enabled     interfaces
brqa7ecec51-b9          8000.000c29a0610a       no              eth0
                                                        tap236bac56-51
virbr0          8000.525400f7a715       yes             virbr0-nic

brctl showmacs :

root@compute:/home/opencontrolnode01# brctl showmacs brqa7ecec51-b9
port no mac addr                is local?       ageing timer
  2     00:0c:29:20:e2:d5       no                61.24
  2     00:0c:29:2c:fe:0a       no                39.18
  2     00:0c:29:48:f6:10       no                53.72
  2     00:0c:29:54:df:78       no                36.75
  2     00:0c:29:57:58:90       no                86.90
  2     00:0c:29:a0:61:0a       yes                0.00
  2     00:0c:29:a0:61:0a       yes                0.00
  2     00:0c:29:a2:48:19       no                32.83
  2     00:0c:29:a2:48:23       no                32.83
  2     00:0c:29:ab:1f:90       no               143.45
  2     00:0c:29:d1:14:92       no               135.29
  2     00:0c:29:dc:e0:3c       no                39.18
  2     00:0c:29:e5:8e:9c       no               205.20
  2     00:19:56:be:2d:aa       no                 1.82
  2     00:19:56:be:2d:ac       no                 1.82
  2     60:73:5c:68:b6:fe       no                 0.46
  2     64:9e:f3:35:b0:37       no                 0.00
  2     fa:16:3e:39:5e:4f       no               125.29
  2     fa:16:3e:4d:41:d6       no               132.30
  1     fe:16:3e:4d:41:d6       yes                0.00
  1     fe:16:3e:4d:41:d6       yes                0.00

brctl showstp:

root@compute:/home/opencontrolnode01# brctl showstp brqa7ecec51-b9
brqa7ecec51-b9
 bridge id              8000.000c29a0610a
 designated root        8000.000c29a0610a
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay             0.00                 bridge forward delay       0.00
 ageing time             300.00
 hello timer               1.18                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  29.25
 flags


eth0 (2)
 port id                8002                    state                forwarding
 designated root        8000.000c29a0610a       path cost                  2
 designated bridge      8000.000c29a0610a       message age timer          0.00
 designated port        8002                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.18
 flags

tap236bac56-51 (1)
 port id                8001                    state                forwarding
 designated root        8000.000c29a0610a       path cost                100
 designated bridge      8000.000c29a0610a       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.18
 flags

linux bridge not forwarding packets to tap interface

I have installed Liberty version of openstack. I get problem when a dhcp request i send form the instance . I create a FLAT network and i boot the instance, the problem is that the DHCPDISCOVER reaches the DHCP server on the controller, the DHCP server generates DHCPOFFER and the DHCPOFFER is propagated to the compute node. When the packet is at the linux bridge of the COMPUTE NODE, the packet is sent towards eth0 and not the Tap interface on which the instance is .

As you can notice in the $brctl showmacs command there are three entries for the instance:

  2     fa:16:3e:4d:41:d6       no               132.30
  1     fe:16:3e:4d:41:d6       yes                0.00
  1     fe:16:3e:4d:41:d6       yes                0.00

the first one is saying that is not local and he is sending the packet to PORT 2 on which is eth0... how do i fix this in the linux bridge ?

Can somebody help me how to make the linux bridge forward the packet towards TAP interface...

I can see the DHCPOFFER packet on eth0 interface , then i can see it in the linux bridge and then again in the eth0.. the packet is sent back

Here is my configuration on compute node:

ifconfig on the compute node:

root@compute:/home/opencontrolnode01# ifconfig
brqa7ecec51-b9 Link encap:Ethernet  HWaddr 00:0c:29:a0:61:0a
          inet addr:10.70.70.7  Bcast:10.70.70.255  Mask:255.255.255.0
          inet6 addr: fe80::508b:a1ff:fe44:c9c3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1442 (1.4 KB)  TX bytes:1564 (1.5 KB)

eth0      Link encap:Ethernet  HWaddr 00:0c:29:a0:61:0a
          inet6 addr: fe80::20c:29ff:fea0:610a/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:285454 errors:0 dropped:2 overruns:0 frame:0
          TX packets:298 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:261167472 (261.1 MB)  TX bytes:47022 (47.0 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:a0:61:14
          inet addr:10.71.71.7  Bcast:10.71.71.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea0:6114/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1814 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1959 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:587718 (587.7 KB)  TX bytes:693827 (693.8 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:168800 (168.8 KB)  TX bytes:168800 (168.8 KB)

tap236bac56-51 Link encap:Ethernet  HWaddr fe:16:3e:4d:41:d6
          inet6 addr: fe80::fc16:3eff:fe4d:41d6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:f7:a7:15
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

brctl show:

root@compute:/home/opencontrolnode01# brctl show
bridge name     bridge id               STP enabled     interfaces
brqa7ecec51-b9          8000.000c29a0610a       no              eth0
                                                        tap236bac56-51
virbr0          8000.525400f7a715       yes             virbr0-nic

brctl showmacs :

root@compute:/home/opencontrolnode01# brctl showmacs brqa7ecec51-b9
port no mac addr                is local?       ageing timer
  2     00:0c:29:20:e2:d5       no                61.24
  2     00:0c:29:2c:fe:0a       no                39.18
  2     00:0c:29:48:f6:10       no                53.72
  2     00:0c:29:54:df:78       no                36.75
  2     00:0c:29:57:58:90       no                86.90
  2     00:0c:29:a0:61:0a       yes                0.00
  2     00:0c:29:a0:61:0a       yes                0.00
  2     00:0c:29:a2:48:19       no                32.83
  2     00:0c:29:a2:48:23       no                32.83
  2     00:0c:29:ab:1f:90       no               143.45
  2     00:0c:29:d1:14:92       no               135.29
  2     00:0c:29:dc:e0:3c       no                39.18
  2     00:0c:29:e5:8e:9c       no               205.20
  2     00:19:56:be:2d:aa       no                 1.82
  2     00:19:56:be:2d:ac       no                 1.82
  2     60:73:5c:68:b6:fe       no                 0.46
  2     64:9e:f3:35:b0:37       no                 0.00
  2     fa:16:3e:39:5e:4f       no               125.29
  2     fa:16:3e:4d:41:d6       no               132.30
  1     fe:16:3e:4d:41:d6       yes                0.00
  1     fe:16:3e:4d:41:d6       yes                0.00

brctl showstp:

root@compute:/home/opencontrolnode01# brctl showstp brqa7ecec51-b9
brqa7ecec51-b9
 bridge id              8000.000c29a0610a
 designated root        8000.000c29a0610a
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay             0.00                 bridge forward delay       0.00
 ageing time             300.00
 hello timer               1.18                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  29.25
 flags


eth0 (2)
 port id                8002                    state                forwarding
 designated root        8000.000c29a0610a       path cost                  2
 designated bridge      8000.000c29a0610a       message age timer          0.00
 designated port        8002                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.18
 flags

tap236bac56-51 (1)
 port id                8001                    state                forwarding
 designated root        8000.000c29a0610a       path cost                100
 designated bridge      8000.000c29a0610a       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.18
 flags

on the controller nova.conf

[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
libvirt_use_virtio_for_bridges=True
ec2_private_dns_show_ip=True
api_paste_config=/etc/nova/api-paste.ini
enabled_apis=osapi_compute,metadata
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.10.10.11
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver

[oslo_messaging_rabbit]

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = xxx


[database]

connection = mysql+pymysql://nova:alascom@controller/nova

[keystone_authtoken]

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = xxx


[vnc]

vncserver_listen = 10.10.10.11 
vncserver_proxyclient_address = 10.10.10.11

[glance]

host = controller

[oslo_concurrency]

lock_path = /var/lib/nova/tmp 

[neutron]

url = http://controller:9696
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = xxx

service_metadata_proxy = True
metadata_proxy_shared_secret = xxx

on the controller ml2_conf.ini :

[ml2]
# (ListOpt) List of network type driver entrypoints to be loaded from
# the neutron.ml2.type_drivers namespace.
#

type_drivers = flat,vlan

# Example: type_drivers = flat,vlan,gre,vxlan,geneve

# (ListOpt) Ordered list of network_types to allocate as tenant
# networks. The default value 'local' is useful for single-box testing
# but provides no connectivity between hosts.
#

tenant_network_types = 

# Example: tenant_network_types = vlan,gre,vxlan,geneve


# (ListOpt) Ordered list of networking mechanism driver entrypoints
# to be loaded from the neutron.ml2.mechanism_drivers namespace.

mechanism_drivers = linuxbridge

# Example: mechanism_drivers = openvswitch,mlnx
# Example: mechanism_drivers = arista
# Example: mechanism_drivers = openvswitch,cisco_nexus,logger
# Example: mechanism_drivers = openvswitch,brocade
# Example: mechanism_drivers = linuxbridge,brocade

# (ListOpt) Ordered list of extension driver entrypoints
# to be loaded from the neutron.ml2.extension_drivers namespace.

extension_drivers = port_security

# Example: extension_drivers = anewextensiondriver

# =========== items for MTU selection and advertisement =============
# (IntOpt) Path MTU.  The maximum permissible size of an unfragmented
# packet travelling from and to addresses where encapsulated Neutron
# traffic is sent.  Drivers calculate maximum viable MTU for
# validating tenant requests based on this value (typically,
# path_mtu - max encap header size).  If <=0, the path MTU is
# indeterminate and no calculation takes place.
# path_mtu = 0

# (IntOpt) Segment MTU.  The maximum permissible size of an
# unfragmented packet travelling a L2 network segment.  If <=0,
# the segment MTU is indeterminate and no calculation takes place.
# segment_mtu = 0

# (ListOpt) Physical network MTUs.  List of mappings of physical
# network to MTU value.  The format of the mapping is
# <physnet>:<mtu val>.  This mapping allows specifying a
# physical network MTU value that differs from the default
# segment_mtu value.
# physical_network_mtus =
# Example: physical_network_mtus = physnet1:1550, physnet2:1500
# ======== end of items for MTU selection and advertisement =========

# (StrOpt) Default network type for external networks when no provider
# attributes are specified. By default it is None, which means that if
# provider attributes are not specified while creating external networks
# then they will have the same type as tenant networks.
# Allowed values for external_network_type config option depend on the
# network type values configured in type_drivers config option.
# external_network_type =
# Example: external_network_type = local

[ml2_type_flat]
# (ListOpt) List of physical_network names with which flat networks
# can be created. Use * to allow flat networks with arbitrary
# physical_network names.
#

flat_networks = public

# Example:flat_networks = physnet1,physnet2
# Example:flat_networks = *

[ml2_type_vlan]
# (ListOpt) List of <physical_network>[:<vlan_min>:<vlan_max>] tuples
# specifying physical_network names usable for VLAN provider and
# tenant networks, as well as ranges of VLAN tags on each
# physical_network available for allocation as tenant networks.
#
# network_vlan_ranges =
# Example: network_vlan_ranges = physnet1:1000:2999,physnet2

[ml2_type_gre]
# (ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation
# tunnel_id_ranges =

[ml2_type_vxlan]
# (ListOpt) Comma-separated list of <vni_min>:<vni_max> tuples enumerating
# ranges of VXLAN VNI IDs that are available for tenant network allocation.
#
# vni_ranges =

# (StrOpt) Multicast group for the VXLAN interface. When configured, will
# enable sending all broadcast traffic to this multicast group. When left
# unconfigured, will disable multicast VXLAN mode.
#
# vxlan_group =
# Example: vxlan_group = 239.1.1.1

[ml2_type_geneve]
# (ListOpt) Comma-separated list of <vni_min>:<vni_max> tuples enumerating
# ranges of Geneve VNI IDs that are available for tenant network allocation.
#
# vni_ranges =

# (IntOpt) Geneve encapsulation header size is dynamic, this
# value is used to calculate the maximum MTU for the driver.
# this is the sum of the sizes of the outer ETH+IP+UDP+GENEVE
# header sizes.
# The default size for this field is 50, which is the size of the
# Geneve header without any additional option headers
#
# max_header_size =
# Example: max_header_size = 50 (Geneve headers with no additional options)

[securitygroup]
# Controls if neutron security group is enabled or not.
# It should be false when you use nova security group.
# enable_security_group = True

# Use ipset to speed-up the iptables security groups. Enabling ipset support
# requires that ipset is installed on L2 agent node.

linux bridge not forwarding packets to tap interface

I have installed Liberty version of openstack. I get problem when a dhcp request i send form the instance . I create a FLAT network and i boot the instance, the problem is that the DHCPDISCOVER reaches the DHCP server on the controller, the DHCP server generates DHCPOFFER and the DHCPOFFER is propagated to the compute node. When the packet is at the linux bridge of the COMPUTE NODE, the packet is sent towards eth0 and not the Tap interface on which the instance is .

As you can notice in the $brctl showmacs command there are three entries for the instance:

  2     fa:16:3e:4d:41:d6       no               132.30
  1     fe:16:3e:4d:41:d6       yes                0.00
  1     fe:16:3e:4d:41:d6       yes                0.00

the first one is saying that is not local and he is sending the packet to PORT 2 on which is eth0... how do i fix this in the linux bridge ?

Can somebody help me how to make the linux bridge forward the packet towards TAP interface...

I can see the DHCPOFFER packet on eth0 interface , then i can see it in the linux bridge and then again in the eth0.. the packet is sent back

Here is my configuration on compute node:

ifconfig on the compute node:

root@compute:/home/opencontrolnode01# ifconfig
brqa7ecec51-b9 Link encap:Ethernet  HWaddr 00:0c:29:a0:61:0a
          inet addr:10.70.70.7  Bcast:10.70.70.255  Mask:255.255.255.0
          inet6 addr: fe80::508b:a1ff:fe44:c9c3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1442 (1.4 KB)  TX bytes:1564 (1.5 KB)

eth0      Link encap:Ethernet  HWaddr 00:0c:29:a0:61:0a
          inet6 addr: fe80::20c:29ff:fea0:610a/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:285454 errors:0 dropped:2 overruns:0 frame:0
          TX packets:298 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:261167472 (261.1 MB)  TX bytes:47022 (47.0 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:a0:61:14
          inet addr:10.71.71.7  Bcast:10.71.71.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea0:6114/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1814 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1959 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:587718 (587.7 KB)  TX bytes:693827 (693.8 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:168800 (168.8 KB)  TX bytes:168800 (168.8 KB)

tap236bac56-51 Link encap:Ethernet  HWaddr fe:16:3e:4d:41:d6
          inet6 addr: fe80::fc16:3eff:fe4d:41d6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:f7:a7:15
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

brctl show:

root@compute:/home/opencontrolnode01# brctl show
bridge name     bridge id               STP enabled     interfaces
brqa7ecec51-b9          8000.000c29a0610a       no              eth0
                                                        tap236bac56-51
virbr0          8000.525400f7a715       yes             virbr0-nic

brctl showmacs :

root@compute:/home/opencontrolnode01# brctl showmacs brqa7ecec51-b9
port no mac addr                is local?       ageing timer
  2     00:0c:29:20:e2:d5       no                61.24
  2     00:0c:29:2c:fe:0a       no                39.18
  2     00:0c:29:48:f6:10       no                53.72
  2     00:0c:29:54:df:78       no                36.75
  2     00:0c:29:57:58:90       no                86.90
  2     00:0c:29:a0:61:0a       yes                0.00
  2     00:0c:29:a0:61:0a       yes                0.00
  2     00:0c:29:a2:48:19       no                32.83
  2     00:0c:29:a2:48:23       no                32.83
  2     00:0c:29:ab:1f:90       no               143.45
  2     00:0c:29:d1:14:92       no               135.29
  2     00:0c:29:dc:e0:3c       no                39.18
  2     00:0c:29:e5:8e:9c       no               205.20
  2     00:19:56:be:2d:aa       no                 1.82
  2     00:19:56:be:2d:ac       no                 1.82
  2     60:73:5c:68:b6:fe       no                 0.46
  2     64:9e:f3:35:b0:37       no                 0.00
  2     fa:16:3e:39:5e:4f       no               125.29
  2     fa:16:3e:4d:41:d6       no               132.30
  1     fe:16:3e:4d:41:d6       yes                0.00
  1     fe:16:3e:4d:41:d6       yes                0.00

brctl showstp:

root@compute:/home/opencontrolnode01# brctl showstp brqa7ecec51-b9
brqa7ecec51-b9
 bridge id              8000.000c29a0610a
 designated root        8000.000c29a0610a
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay             0.00                 bridge forward delay       0.00
 ageing time             300.00
 hello timer               1.18                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  29.25
 flags


eth0 (2)
 port id                8002                    state                forwarding
 designated root        8000.000c29a0610a       path cost                  2
 designated bridge      8000.000c29a0610a       message age timer          0.00
 designated port        8002                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.18
 flags

tap236bac56-51 (1)
 port id                8001                    state                forwarding
 designated root        8000.000c29a0610a       path cost                100
 designated bridge      8000.000c29a0610a       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.18
 flags

on the controller nova.conf

[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
libvirt_use_virtio_for_bridges=True
ec2_private_dns_show_ip=True
api_paste_config=/etc/nova/api-paste.ini
enabled_apis=osapi_compute,metadata
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.10.10.11
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver

[oslo_messaging_rabbit]

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = xxx


[database]

connection = mysql+pymysql://nova:alascom@controller/nova

[keystone_authtoken]

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = xxx


[vnc]

vncserver_listen = 10.10.10.11 
vncserver_proxyclient_address = 10.10.10.11

[glance]

host = controller

[oslo_concurrency]

lock_path = /var/lib/nova/tmp 

[neutron]

url = http://controller:9696
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = xxx

service_metadata_proxy = True
metadata_proxy_shared_secret = xxx

on the controller ml2_conf.ini :

[ml2]
# (ListOpt) List of network type driver entrypoints to be loaded from
# the neutron.ml2.type_drivers namespace.
#

type_drivers = flat,vlan

# Example: type_drivers = flat,vlan,gre,vxlan,geneve

# (ListOpt) Ordered list of network_types to allocate as tenant
# networks. The default value 'local' is useful for single-box testing
# but provides no connectivity between hosts.
#

tenant_network_types = 

# Example: tenant_network_types = vlan,gre,vxlan,geneve


# (ListOpt) Ordered list of networking mechanism driver entrypoints
# to be loaded from the neutron.ml2.mechanism_drivers namespace.

mechanism_drivers = linuxbridge

# Example: mechanism_drivers = openvswitch,mlnx
# Example: mechanism_drivers = arista
# Example: mechanism_drivers = openvswitch,cisco_nexus,logger
# Example: mechanism_drivers = openvswitch,brocade
# Example: mechanism_drivers = linuxbridge,brocade

# (ListOpt) Ordered list of extension driver entrypoints
# to be loaded from the neutron.ml2.extension_drivers namespace.

extension_drivers = port_security

# Example: extension_drivers = anewextensiondriver

# =========== items for MTU selection and advertisement =============
# (IntOpt) Path MTU.  The maximum permissible size of an unfragmented
# packet travelling from and to addresses where encapsulated Neutron
# traffic is sent.  Drivers calculate maximum viable MTU for
# validating tenant requests based on this value (typically,
# path_mtu - max encap header size).  If <=0, the path MTU is
# indeterminate and no calculation takes place.
# path_mtu = 0

# (IntOpt) Segment MTU.  The maximum permissible size of an
# unfragmented packet travelling a L2 network segment.  If <=0,
# the segment MTU is indeterminate and no calculation takes place.
# segment_mtu = 0

# (ListOpt) Physical network MTUs.  List of mappings of physical
# network to MTU value.  The format of the mapping is
# <physnet>:<mtu val>.  This mapping allows specifying a
# physical network MTU value that differs from the default
# segment_mtu value.
# physical_network_mtus =
# Example: physical_network_mtus = physnet1:1550, physnet2:1500
# ======== end of items for MTU selection and advertisement =========

# (StrOpt) Default network type for external networks when no provider
# attributes are specified. By default it is None, which means that if
# provider attributes are not specified while creating external networks
# then they will have the same type as tenant networks.
# Allowed values for external_network_type config option depend on the
# network type values configured in type_drivers config option.
# external_network_type =
# Example: external_network_type = local

[ml2_type_flat]
# (ListOpt) List of physical_network names with which flat networks
# can be created. Use * to allow flat networks with arbitrary
# physical_network names.
#

flat_networks = public

# Example:flat_networks = physnet1,physnet2
# Example:flat_networks = *

[ml2_type_vlan]
# (ListOpt) List of <physical_network>[:<vlan_min>:<vlan_max>] tuples
# specifying physical_network names usable for VLAN provider and
# tenant networks, as well as ranges of VLAN tags on each
# physical_network available for allocation as tenant networks.
#
# network_vlan_ranges =
# Example: network_vlan_ranges = physnet1:1000:2999,physnet2

[ml2_type_gre]
# (ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation
# tunnel_id_ranges =

[ml2_type_vxlan]
# (ListOpt) Comma-separated list of <vni_min>:<vni_max> tuples enumerating
# ranges of VXLAN VNI IDs that are available for tenant network allocation.
#
# vni_ranges =

# (StrOpt) Multicast group for the VXLAN interface. When configured, will
# enable sending all broadcast traffic to this multicast group. When left
# unconfigured, will disable multicast VXLAN mode.
#
# vxlan_group =
# Example: vxlan_group = 239.1.1.1

[ml2_type_geneve]
# (ListOpt) Comma-separated list of <vni_min>:<vni_max> tuples enumerating
# ranges of Geneve VNI IDs that are available for tenant network allocation.
#
# vni_ranges =

# (IntOpt) Geneve encapsulation header size is dynamic, this
# value is used to calculate the maximum MTU for the driver.
# this is the sum of the sizes of the outer ETH+IP+UDP+GENEVE
# header sizes.
# The default size for this field is 50, which is the size of the
# Geneve header without any additional option headers
#
# max_header_size =
# Example: max_header_size = 50 (Geneve headers with no additional options)

[securitygroup]
# Controls if neutron security group is enabled or not.
# It should be false when you use nova security group.
# enable_security_group = True

# Use ipset to speed-up the iptables security groups. Enabling ipset support
# requires that ipset is installed on L2 agent node.