Hi Dan, All,
I missed this one...I think I responded to another email in which you had similar questions, but I noticed that the netstack mailer was not copied on that (thanks for the feedback!). Some responses/thoughts inline. Discussion to be continued on the white board! J I believe this session is still targeted for 3 PM, Tuesday. Updated proposal here: http://wiki.openstack.org/quantum-l3?action=AttachFile&do=view&target=re vised-quantum-l3-forwarding-model-sumitnaiksatam-2.pdf Thanks, ~Sumit. From: Dan Wendlandt [mailto:d...@nicira.com] Sent: Wednesday, April 11, 2012 2:09 PM To: Sumit Naiksatam (snaiksat) Cc: netstack@lists.launchpad.net; Brad Hall; Carl Perry Subject: Re: L3 Forwarding On Mon, Apr 2, 2012 at 8:59 PM, Sumit Naiksatam (snaiksat) <snaik...@cisco.com> wrote: Hi All, Per the context setup by Dan in his email on the topic of Quantum L3 Forwarding, here is an addition we are making to the earlier proposal - API/specification pertaining to creating and managing "targets". I have updated the API specification with this addition and posted the new version of the document online. As before, you can find it on the wiki: http://wiki.openstack.org/quantum-l3 (please refer to the pdf attached therein, version 5). The new additions are in Section 8 (in case you want to go straight to those). Following is a summary of the additions: As you might have gleaned, the proposal until this point catered more to the tenant/user aspects of the L3 discussion, however it did not address the service-provider/operator aspects. Some of the feedback we have received until now also points to the missing SP constructs. The current thinking is that this missing SP aspect should be handled in a generic way so as to be able to handle different types of L3 entities like gateways, firewalls, etc. More specifically, in the context of the current proposal, it amounts to introducing a SP API to manage "targets". The key attribute when creating a "target" is the IP address being assigned to this "target". Also note that the definition of the "target" is in the context of a tenant (and also one or more routetables for that tenant). Given this definition, the "target" has the following attributes: ID: UUID Name: Public, Private, VPN, etc. IP Address Tenant_ID: The tenant for which this "target" is applicable Routetable IDs: (Optional parameter) One or more routetable IDs belonging to this tenant for which this target is valid. This provides for more granular control of the "target " applicability (from a service provider perspective, e.g. the "Private" target will map to different end points with respect to different routetables for the same tenant). To illustrate this better, let's take the example of the SP having to configure an internet gateway for a particular tenant. Let's say that the tenant creates a subnet 10.0.0.0/24, and the SP uses the convention of assigning the first IP in the subnet as a gateway (i.e. 10.0.0.1). >From a logical model perspective, the SP would then create a "target" with the following attributes: ID : UUID-XYZ-1 Name: Public IP Address: 10.0.0.1 Tenant_ID: UUID-Tenant-ABC Routetable IDs: [UUID-Routetable-UVW-1] The creation of this logical entity would result in the underlying SP implementation mapping it to the requirement for the creation of a gateway entity such that on the tenant network side it would have the 10.0.0.1 IP address, and it would have another interface to the public network (with some PAT/NAT functionality). Subsequently, the tenant creates a route in the routetable UUID-Routetable-UVW-1, Source: 10.0.0.0/24, Destination: default, Target: Public When a VM is now instantiated with an interface on this subnet, the default route for the packets going out of this interface will lead them to the gateway 10.0.0.1. Exactly how the L2/L3 networking is setup to handle this connectivity from the VM to the gateway is specific to that particular deployment. I'm still trying to wrap my head around this exactly, so let me ask a clarifying question: Is a "Routetable" correspond to both a forwarding rule in the L3-forwarding element, and the description of what routing should be configured within the VM (e.g., default gateway)? <Sumit> Yes, that is thinking. </Sumit> These two things are definitely related, though one thing I'm struggling with is what happens if a user changes a route table after a VM has been booted. Is the assumption that the we can update such config on the VM? Or that the state would be inconsistent? <Sumit> We could take either approach, but it should be possible to update the config as well, right? May be using shorter DHCP leases? </Sumit> Also, how to I describe the routing config that should go inside a VM in a scenario where I don't want Quantum to be performing the L3 forwarding (e.g., I have a load-balancer virtual server that is acting as my gateway). <Sumit> I think you will find that this is covered in the cases where a target can be created by pointing it to a resource owned by the tenant (LB in a VM as you state here), or to a resource owned by a 3rd party. </Sumit> Sorry, I think I need to re-read the proposal again before the summit, as some of it is still fuzzy :) Dan In the above case, the gateway could be a firewall, and which in turn might be managed as a separate service. In that case, the SP would correlate the above created logical "target" resource with a resource created in that firewall service. We are actively trying to make this a better/simpler proposal, and any feedback/participation is very much welcome. Thanks in advance and stay tuned for further iterations on this! ~Sumit. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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