From: netstack-bounces+snaiksat=cisco....@lists.launchpad.net
[mailto:netstack-bounces+snaiksat=cisco....@lists.launchpad.net] On
Behalf Of Dan Wendlandt
Sent: Tuesday, April 24, 2012 1:38 PM
To: Robert Kukura
Cc: netstack@lists.launchpad.net
Subject: Re: [Netstack] L3/IPAM summit discussion follow-up...

 

I think we're having a bit of a terminology clash here, at least
according to what I intended by the definitions posted on the etherpad:
http://etherpad.openstack.org/quantum-folsom .  The existing definitions
for "IPAM" and "L3 Forwarding" are below.  

 

<Sumit> During the summit we called the proposal - "L3 Tenant-facing
Abstractions/Model". I don't recall any differences of opinion on this,
is everyone comfortable with this? </Sumit> 

 

I believe that at the end of Sumit's presentation we decided that his
proposal was a higher-level abstraction on top of our existing "IPAM"
plan from merging Melange. In particularly, the "route-table" was about
what routes that would be injected into the VM such that the VM would
have different next hops (route information injected into the VM is
within the scope of Melange IPAM).  I believe we concluded that these
route-tables were NOT about implementing "L3 forwarding" between two
different "L2 Quantum Networks".

 

<Sumit> The route-tables (and the entries therein) are proposed as an
abstraction for the tenant to request forwarding between subnets (and
also to service-gateways, referred to as "targets"). The underlying
implementation (realizing the abstraction) could  implicitly/explicitly
map the subnets to L2 networks and achieve the L3 forwarding as
required. I believe this was fairly well understood. In that context, I
am having trouble understanding the above explanation.</Sumit>  

 

We talked separately about an "L3 forwarding" implementation, that would
allow pluggable implementations of a logical L3 forwarding element
capable of achieving nova-parity, namely: basic L3 forwarding, SNAT, and
DNAT (i.e., what is already implemented in linux_net.py).  This L3
forwarding element would be able to route between multiple Quantum L2
networks (one might call it a "router", but apparently that's
discouraged :P ).  

 

<Sumit> It will be helpful if you can please point us to the
session/slides where this "L3 forwarding element" was discussed?
</Sumit>

 

I'm REALLY hoping that we're all on the same page here, otherwise, we
may need to start back at square one :)

 

Dan

 

 

 

 - IP Address Management (IPAM): 

 * How virtual servers as allocated IP addresses based on their network
connectivity (http://en.wikipedia.org/wiki/IP_address_management)

 * Often includes other network identifiers that are also configured on
a virtual server, including MAC address, subnet mask gateways, routes,
DNS servers, etc. 

 * This type of functionality is currently provided by Melange, which
will be integrated into Quantum during Folsom. 

 * IPAM is needed even if VMs are only connected to L2 Quantum networks
(i.e., it does not required "L3 forwarding" or other logical features
described below).   

 * Note: this does NOT specify how these identifiers are "injected" into
the server itself (could be via disk injections, DHCP,
cloud-init+metadata, statically configured by admin)

 

 

- L3 Forwarding 

 * Quantum "networks" provide an L2 service model.  There are use cases
that require connecting virtual servers that are not on the same L2
network + subnets, and are therefore connected only by an element
performing L3 forwarding.  

 * Note: this L3 forwarding element is a logical abstraction.  We make
no statement how how it is implemented (e.g., by a VM appliance, a
physical router, or something else). 

 * These L3 forwarding elements would likely expose some kind of a
"routing table" to describe the rules used to forward between different
L2-subnets.  

 * A common use case is that an L2-network/subnet is a trust domain
(private tenant networks, tier of a web application), yet communication
is required between trust domains.  

 * We separate out firewall and NAT into a separate discussion, below.  

 * L3 forwarding has a dependency on understanding the IPAM data for a
particular subnet that it is connected to (e.g., network address/mask,
gateway address)  

 * Note: the primary focus of this is defining L3 forwarding between
endpoints WITHIN a Quantum deployment.  Connectivity between different
Quantum deployments, or to remote datacenters not running Quantum is
viewed many as a separate service (e.g., L3VPN-service). 

 

 

 

On Tue, Apr 24, 2012 at 12:08 PM, Robert Kukura <rkuk...@redhat.com>
wrote:

On 04/24/2012 10:12 AM, Sumit Naiksatam (snaiksat) wrote:
> Hi All,
>
> Thanks for your feedback on the L3 (forwarding) proposal during the
> summit and also prior to that. The action item coming out of the
summit
> session was to further discuss this with the Melange/IPAM team to
> identify points of overlap and/or what are the additional
requirements.
> Accordingly, after focused discussions with many folks including Troy,
> Jason, and Trey from the Melange team,  it seems that we are pretty
much
> on the same page in terms of what the L3 (forwarding) proposal wants
to
> achieve and how IPAM will support the data-store aspects of this.
>
> There are constructs like the ip_block in (former) Melange which map
to
> the Subnet (in the L3 forwarding proposal). There are others like the
> route-table and targets which might not have a direct mapping, and
which
> might need to be realized separately. These in turn might drive
further
> requirements on the IPAM component, but this will be clearer once we
> start implementing the L3 forwarding proposal. Also, realizing the
> target abstraction will need plugin-level support which might differ
> based on the type of the target being realized and the underlying
> network infrastructure. So the plan is to go forward with the
> implementation of both IPAM and L3 route-table/target API, with both
> going into the trunk branch. The work on L3 will hopefully drive any
> further needs on the IPAM component.
>
> Specifically on the ip_block/subnet construct, the current thought is
to
> call it a Subnet. Also, this is better modeled as a separate
construct,
> rather than an attribute in the virtual network resource, since we
> should be able to model 1:n and n:1 relationships between L3 and L2
> networks.
>
> Please let us know if you have any further thoughts on this. If you
> missed this session during the summit, the slides are posted here:
> http://www.slideshare.net/sumit_naik/summit-prepquantuml3modelsumit9
>
> Thanks,
> ~Sumit.
>

This all sounds reasonable to me, as far as it goes. I was at the
quantum summit sessions and re-read the slides and proposal, but I'm
still not at all clear on how the melange and L3-forwarding
functionality will relate to quantum plugins:

1) Is the merge of melange into quantum going to be pluggable, or is the
IPAM implementation going to be built directly into quantum-server (or a
separate server)?

2) If the IPAM functionality is going to be pluggable, will this be part
of the same plugin handling L2, or will it be a separate plugin that can
be configured independently of the the L2 plugin?

3) I expect that the L3-forwarding functionality will be pluggable. Will
this be handled by the same plugin as L2 and/or IPAM, or as a separate
L3 plugin?

Thanks,

-Bob


--
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp





 

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt 

Nicira, Inc: www.nicira.com

twitter: danwendlandt
~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

-- 
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to