Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GRE + VLAN tag, best of both worlds #31

Closed
drolfe opened this issue Apr 23, 2013 · 8 comments
Closed

GRE + VLAN tag, best of both worlds #31

drolfe opened this issue Apr 23, 2013 · 8 comments

Comments

@drolfe
Copy link

drolfe commented Apr 23, 2013

Sorry I don't really now how to use github yet but I've spent alot of time getting both gre and vlan tag support working at the same time. I think it would be worth adding to your grizzly howtos as I've don't all my testing based off your install how-tos, anyways see below:

Best of both worlds, GRE network with option for vlan tag

root@supermicro:~# cat /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini | grep -v #
[DATABASE]

sql_connection = mysql://quantumUser:quantumPass@192.168.10.118/quantum
reconnect_interval = 2

[OVS]

tenant_network_type = gre
network_vlan_ranges = physnet1:2:4094
bridge_mappings = physnet1:br-eth3
enable_tunneling = True
tunnel_id_ranges = 1:1000
tunnel_bridge = br-tun
local_ip = 192.168.10.118

[AGENT]
polling_interval = 2

[SECURITYGROUP]

root@supermicro:~# quantum net-create --tenant-id 19f73304c78e4fdd8787dd6b4b4fe263 blade-net-vlan30 --provider:network_type vlan --provider:physical_network physnet1 --provider:segmentation_id 30 --shared
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | d78187b9-a38e-42a9-86c7-5975119d3332 |
| name | blade-net-vlan30 |
| provider:network_type | vlan |
| provider:physical_network | physnet1 |
| provider:segmentation_id | 30 |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | |
| tenant_id | 19f73304c78e4fdd8787dd6b4b4fe263 |
+---------------------------+--------------------------------------+

root@supermicro:# quantum
(quantum)
(quantum)
(quantum) net-list
+--------------------------------------+-----------------+-------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+-----------------+-------------------------------------------------------+
| 5821fd84-e631-4d93-b17f-067588013592 | test | |
| 7329681a-32e4-4676-8ced-a63a910aa81b | btfg-net-vlan30 | c1331e79-8ece-4d93-bf1a-e632991f1edb 192.168.10.0/24 |
| de7c6e50-d9ec-483a-8d0b-a0a39527f37b | ext_net | cbb60e9b-b27e-40e3-9cda-a80971c2dfa0 192.168.2.229/24 |
| ff65edfa-c5a5-4673-af69-32357e554887 | core | 88b629ed-b476-4f24-bb79-48f43059dddc 10.0.0.0/8 |
+--------------------------------------+-----------------+-------------------------------------------------------+
(quantum) net-show btfg-net-vlan30
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | 7329681a-32e4-4676-8ced-a63a910aa81b |
| name | btfg-net-vlan30 |
| provider:network_type | vlan |
| provider:physical_network | physnet1 |
| provider:segmentation_id | 30 |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | c1331e79-8ece-4d93-bf1a-e632991f1edb |
| tenant_id | c4832efd900b47e78bdca6cc5b56a47f |
+---------------------------+--------------------------------------+
(quantum) net-show core
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | ff65edfa-c5a5-4673-af69-32357e554887 |
| name | core |
| provider:network_type | gre |
| provider:physical_network | |
| provider:segmentation_id | 1 |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | 88b629ed-b476-4f24-bb79-48f43059dddc |
| tenant_id | c4832efd900b47e78bdca6cc5b56a47f |
+---------------------------+--------------------------------------+
(quantum) exit
root@supermicro:
# nova list

root@supermicro:# source creds-bt
root@supermicro:
# nova list
+--------------------------------------+---------+--------+-----------------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+---------+--------+-----------------------------------------------+
| 32054608-8567-4d70-89e1-dca48b2804c7 | windows | ACTIVE | core=10.0.0.2; btfg-net-vlan30=192.168.10.230 |
+--------------------------------------+---------+--------+-----------------------------------------------+
root@supermicro:~#

with this I needed to create all the bridges with the exception of the br-tun, this is automatically created

bridge name bridge id STP enabled interfaces
br-eth3 0000.0017087d6cdc no eth3
phy-br-eth3
br-ex 0000.0017087d6d00 no eth5
qg-3e5754f8-c2
qg-698e5206-5f
qg-ed97a64b-25
br-int 0000.ae369601f84a no int-br-eth3
qr-f865fb40-37
qvo38d3ddd8-0a
qvod503c601-ad
tapa70c6cf2-2f
tapbfc8031b-03
tapc5baefb5-a8
br-tun 0000.a21e620abd4b no
qbr38d3ddd8-0a 8000.7a63be45e888 no qvb38d3ddd8-0a
tap38d3ddd8-0a
qbrd503c601-ad 8000.fe163ee5e520 no qvbd503c601-ad
tapd503c601-ad

port 7 below is the mv's bridge map to vlan 30

vlan 20 and 30 a trunked from my cisco switch

root@supermicro:# ovs-appctl fdb/show br-eth3
port VLAN MAC Age
1 30 00:25:90:21:cf:32 56
7 30 fa:16:3e:61:ed:ee 21
1 20 d4:9a:20:54:6c:f2 4
1 20 60:67:20:81:a5:38 3
1 30 00:14:1c:73:20:91 2
1 20 00:14:1c:73:20:91 2
1 30 00:16:c7:9f:7f:27 1
1 0 00:14:1c:73:20:91 1
root@supermicro:
#

see png image as proof that it does work

image

@bilelmsekni
Copy link
Owner

Hi,

As much as this is quite interesting, it does not make any sense to me.

If you read the ovs_quantum_plugin.ini file you will see that you can only
use one mode (GRE or VLAN)

This is also confirmed by this OpenStack Wiki link:
https://wiki.openstack.org/wiki/ConfigureOpenvswitch

GRE and VLAN are two different ways to achieve VM communication and can't
be merged together ( as far as i know )

regards,
Bilel

2013/4/23 drolfe notifications@github.com

Sorry I don't really now how to use github yet but I've spent alot of time
getting both gre and vlan tag support working at the same time. I think it
would be worth adding to your grizzly howtos as I've don't all my testing
based off your install how-tos, anyways see below:

Best of both worlds, GRE network with option for vlan tag

root@supermicro:~# cat
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini | grep -v #
[DATABASE]

sql_connection = mysql://quantumUser:quantumPass@192.168.10.118/quantum
reconnect_interval = 2

[OVS]

tenant_network_type = gre
network_vlan_ranges = physnet1:2:4094
bridge_mappings = physnet1:br-eth3
enable_tunneling = True
tunnel_id_ranges = 1:1000
tunnel_bridge = br-tun
local_ip = 192.168.10.118

[AGENT]
polling_interval = 2

[SECURITYGROUP]

root@supermicro:~# quantum net-create --tenant-id
19f73304c78e4fdd8787dd6b4b4fe263 blade-net-vlan30 --provider:network_type
vlan --provider:physical_network physnet1 --provider:segmentation_id 30
--shared
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | d78187b9-a38e-42a9-86c7-5975119d3332 |
| name | blade-net-vlan30 |
| provider:network_type | vlan |
| provider:physical_network | physnet1 |
| provider:segmentation_id | 30 |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | |
| tenant_id | 19f73304c78e4fdd8787dd6b4b4fe263 |
+---------------------------+--------------------------------------+

root@supermicro:~# quantum
(quantum)
(quantum)
(quantum) net-list

+--------------------------------------+-----------------+-------------------------------------------------------+
| id | name | subnets |

+--------------------------------------+-----------------+-------------------------------------------------------+
| 5821fd84-e631-4d93-b17f-067588013592 | test | |
| 7329681a-32e4-4676-8ced-a63a910aa81b | btfg-net-vlan30 |
c1331e79-8ece-4d93-bf1a-e632991f1edb 192.168.10.0/24 |
| de7c6e50-d9ec-483a-8d0b-a0a39527f37b | ext_net |
cbb60e9b-b27e-40e3-9cda-a80971c2dfa0 192.168.2.229/24 |
| ff65edfa-c5a5-4673-af69-32357e554887 | core |
88b629ed-b476-4f24-bb79-48f43059dddc 10.0.0.0/8 |

+--------------------------------------+-----------------+-------------------------------------------------------+
(quantum) net-show btfg-net-vlan30
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | 7329681a-32e4-4676-8ced-a63a910aa81b |
| name | btfg-net-vlan30 |
| provider:network_type | vlan |
| provider:physical_network | physnet1 |
| provider:segmentation_id | 30 |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | c1331e79-8ece-4d93-bf1a-e632991f1edb |
| tenant_id | c4832efd900b47e78bdca6cc5b56a47f |
+---------------------------+--------------------------------------+
(quantum) net-show core
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | ff65edfa-c5a5-4673-af69-32357e554887 |
| name | core |
| provider:network_type | gre |
| provider:physical_network | |
| provider:segmentation_id | 1 |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | 88b629ed-b476-4f24-bb79-48f43059dddc |
| tenant_id | c4832efd900b47e78bdca6cc5b56a47f |
+---------------------------+--------------------------------------+
(quantum) exit
root@supermicro:~# nova list

root@supermicro:# source creds-bt
root@supermicro:
# nova list

+--------------------------------------+---------+--------+-----------------------------------------------+
| ID | Name | Status | Networks |

+--------------------------------------+---------+--------+-----------------------------------------------+
| 32054608-8567-4d70-89e1-dca48b2804c7 | windows | ACTIVE | core=10.0.0.2;
btfg-net-vlan30=192.168.10.230 |

+--------------------------------------+---------+--------+-----------------------------------------------+
root@supermicro:~#

with this I needed to create all the bridges with the exception of the
br-tun, this is automatically created

bridge name bridge id STP enabled interfaces
br-eth3 0000.0017087d6cdc no eth3
phy-br-eth3
br-ex 0000.0017087d6d00 no eth5
qg-3e5754f8-c2
qg-698e5206-5f
qg-ed97a64b-25
br-int 0000.ae369601f84a no int-br-eth3
qr-f865fb40-37
qvo38d3ddd8-0a
qvod503c601-ad
tapa70c6cf2-2f
tapbfc8031b-03
tapc5baefb5-a8
br-tun 0000.a21e620abd4b no
qbr38d3ddd8-0a 8000.7a63be45e888 no qvb38d3ddd8-0a
tap38d3ddd8-0a
qbrd503c601-ad 8000.fe163ee5e520 no qvbd503c601-ad
tapd503c601-ad

port 7 below is the mv's bridge map to vlan 30

vlan 20 and 30 a trunked from my cisco switch

root@supermicro:# ovs-appctl fdb/show br-eth3
port VLAN MAC Age
1 30 00:25:90:21:cf:32 56
7 30 fa:16:3e:61:ed:ee 21
1 20 d4:9a:20:54:6c:f2 4
1 20 60:67:20:81:a5:38 3
1 30 00:14:1c:73:20:91 2
1 20 00:14:1c:73:20:91 2
1 30 00:16:c7:9f:7f:27 1
1 0 00:14:1c:73:20:91 1
root@supermicro:
#

see png image as proof that it does work

[image: image]https://f.cloud.github.com/assets/4092006/414553/e8fa5fe8-ac1b-11e2-97a3-5ab7946bbc56.png


Reply to this email directly or view it on GitHubhttps://github.com//issues/31
.

Best regards,

Bilel Msekni | IT Engineer
Mobile: +33 6 49 52 42 17

@drolfe
Copy link
Author

drolfe commented Apr 23, 2013

See below text from that URL

"If pools for both mechanisms are configured, when a new tenant network is created, a VLAN network will be used if one is available, and if not, a GRE tunnel will be used"

https://wiki.openstack.org/wiki/ConfigureOpenvswitch

also see https://answers.launchpad.net/quantum/+question/218658

Basically it work as follows,

you setup everything as for GRE, and tenants can only create gre networks which is what you want as to not cause issues with vlan and ip address over laps.

but by including the network_vlan_ranges and bridge_mapping statement you as an admin have the option to create a provider network using the provider extension)

https://wiki.openstack.org/wiki/ProviderExtension

@drolfe
Copy link
Author

drolfe commented Apr 23, 2013

in fact the whole definition of provider networks are to connect to physical networks

http://docs.openstack.org/trunk/openstack-network/admin/content/provider_networks.html

@bilelmsekni
Copy link
Owner

Okay, i got that now and it seems legitimate. Yet, how do i do with my NIC.

I need to use eth1 for tunneling but if i create br-eth1 and add eth1 as a port to it, i will no longer be able to use GRE !
I think i will be needing another NIC (eth2) on compute node to be able to use GRE and VLANs at the same time, what do you think ?

@drolfe
Copy link
Author

drolfe commented Apr 23, 2013

Yeah you will need another nic, I'm using 4 currently as follows:

Eth0 as back end mgmt network
Eth1 as front end API access
Eth3 as physical added to integration br-eth3
Eth5 as physical added to br-ex

I'm also running as a all in one node currently

@drolfe
Copy link
Author

drolfe commented Apr 23, 2013

Also another benifit is you get access to vlan networking but don't have do the whole return route to service router ip for meta data to work as with gre network facing the Internet the metadata routing just works

@drolfe
Copy link
Author

drolfe commented Apr 23, 2013

Two strange things I have found,

  1. If you share the network but aren't the tenant owner of the provider network you can't add a new port from your local router to the network, the admin has to do it (just like layer3 service I guess)

  2. With out the vlan provider network being connected to your local tenant router ( mentioned above point 1) you can't assign a floating IP address to just the gre Internet facing interface, quantum wants both interfaces to have access to the L3 br-ex router service before assigning the floating ip

@bilelmsekni
Copy link
Owner

  1. Hmm Strange indeed but i guess since the network is shared and to avoid conflicts and data leaking, you can't add a router if you are not the tenant's administrator !

  2. this is why you should pick either VLAN or GRE ! less overhead i think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants