Ian,
Could you unlock your doc at https://docs.google.com/document/d/16DDJLYHxMmbCPO5LxW_kp610oj4goiic_oTakJiXjTs?
It require a permission to read.
Thanks
Yi

On 12/18/13, 4:20 AM, Ian Wells wrote:
A Neutron network is analagous to a wire between ports. We can do almost everything with this wire - we can pass both IP and non-IP traffic, I can even pass MPLS traffic over it (yes, I tried). For no rational reason, at least if you live north of the API, I sometimes can't pass VLAN traffic over it. You would think this would be in the specification for what a network is, but as it happens I don't think we have a specification for what a network is in those terms.

I have a counterproposal that I wrote up yesterday [1]. This is the absurdly simple approach, taking the position that implementing trunks *should* be easy. That's actually not such a bad position to take, because the problem lies with certain plugins (OVS-based setups, basically) - it's not a problem with Neutron.

It's very uncompromising, though - it just allows you to request a VLAN-clean network. It would work with OVS code because it allows plugins to decline a request, but it doesn't solve the VLAN problem for you, it just ensures that you don't run somewhere where your application doesn't work, and gives plugins with problems an opportunity for special case code. You could expand it so that you're requesting either a VLAN-safe network or a network that passes *specified* VLANs - which is the starting position of Eric's document, a plugin-specific solution to a plugin-specific problem.

I accept that, for as long as we use VLAN based infrastructure, we have to accommodate the fact that VLANs are a special case, but this is very much an artifact of the plugin implementation - Linux bridge based network infrastructure simply doesn't have this problem, for instance.

On 17 December 2013 06:17, Isaku Yamahata <isaku.yamah...@gmail.com <mailto:isaku.yamah...@gmail.com>> wrote:

    - 2 Modeling proposal
      What's the purpose of trunk network?
      Can you please add a use case that trunk network can't be
    optimized away?


Even before I read the document I could list three use cases. Eric's covered some of them himself.

The reasons you might want to have a trunked network passing VLAN traffic:
1: You're replicating a physical design for simulation purposes [2]

2: There are any number of reasons to use VLANs in a physical design, but generally it's a port reduction thing. In Openstack, clearly I can do this a different way - instead of using 30 VLANs over one network with two ports, I can use 30 networks with two ports each. Ports are cheaper when you're virtual, but they're not free - KVM has a limitation of, from memory, 254 ports per VM. So I might well still want to use VLANs. I could arbitrarily switch to another encap technology, but this is the tail wagging the dog - I have to change my design because Neutron's contract is inconsistent.

3: I want to condense many tenant networks into a single VM or physical box because I'm using a single VM to offer logically separated services to multiple tenants. This has all the points of (2) basically, that VLANs are not the only encap I could use, but they're the conventional one and widely supported. Provider networks do actually offer the functionality you need for this already - if you're talking physical - but they would, I think, be awkward to use in practice, and they would eat NIC ports on your hosts.

--
Ian.

[1] https://docs.google.com/document/d/16DDJLYHxMmbCPO5LxW_kp610oj4goiic_oTakJiXjTs [2] http://blogs.cisco.com/wp-content/uploads/network1-550x334.png - a network simulator (search for 'Cisco VIRL'). Shameless plug, sorry, but it's an Openstack based application and I'm rather proud of it.


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to