This makes sense to me as well.

It's surely better to have structured data rather then encode them in
resource names.

In the options attribute for a "local" logical port, I guess the "name"
attribute will be the name of some ovs bridge instance where the port is
plugged.
From a neutron integration perspective, will neutron need to store
host:bridge mappings? Or can we just assume that for a given physical
network there will always be a bridge with an assigned name on every host?

Salvatore

On 21 July 2015 at 19:23, Ben Pfaff <b...@nicira.com> wrote:

> On Tue, Jul 14, 2015 at 11:59:30AM -0400, Russell Bryant wrote:
> > On 07/14/2015 10:59 AM, Ben Pfaff wrote:
> > > Here's an a strawman alternative.  Instead of representing a provider
> > > network as a single logical network, represent it as a collection of
> > > logical networks, one for each connected port.  Each of these logical
> > > networks has only two ports, the VM's port plus a physical port on the
> > > hypervisor where the VM resides (or more likely a patch port to the
> > > bridge that contains the physical port; the other end of the patch port
> > > can be an access port if it's a VLAN provider network).  It seems to me
> > > that this models the situation more naturally.
> > >
> > > Thoughts?
> >
> > That's a really interesting idea.  Conceptually it seems to map much
> > nicer than the previous approach.  A logical port with MACs configured
> > as "unknown" matches the processing needed.  I'm going to go down this
> > road and see what I can come up with.
> >
> > Some misc implementation thoughts ...
> >
> > When Neutron creates these ports, it needs to indicate that one of the
> > ports is special and maps to local connectivity to the provider network.
> >  The ovn-controller-vtep work has similar needs and is doing so with a
> > special port name that follows a particular pattern.
> >
> > In the case of ovn-controller-vtep, it's using the pattern:
> >
> >    <physical switch name>_<vtep logical switch name>
> >
> > For provider networks, I need:
> >
> >   - physical network name, which maps to a local ovs bridge
> >     determined by configuration local to each ovn-controller
> >
> >   - Optionally a VLAN ID
> >
> > I was previously thinking that special names was fine, but maybe we
> > should go ahead and add attributes to the logical port in OVN_Northbound
> > to handle this.
> >
> > For reference, the current schema is:
> >
> > >         "Logical_Port": {
> > >             "columns": {
> > >                 "name": {"type": "string"},
> > >                 "parent_name": {"type": {"key": "string", "min": 0,
> "max": 1}},
> > >                 "tag": {
> > >                      "type": {"key": {"type": "integer",
> > >                                       "minInteger": 0,
> > >                                       "maxInteger": 4095},
> > >                               "min": 0, "max": 1}},
> > >                 "macs": {"type": {"key": "string",
> > >                                   "min": 0,
> > >                                   "max": "unlimited"}},
> > >                 "port_security": {"type": {"key": "string",
> > >                                            "min": 0,
> > >                                            "max": "unlimited"}},
> > >                 "up": {"type": {"key": "boolean", "min": 0, "max": 1}},
> > >                 "enabled": {"type": {"key": "boolean", "min": 0,
> "max": 1}},
> > >                 "external_ids": {
> > >                     "type": {"key": "string", "value": "string",
> > >                              "min": 0, "max": "unlimited"}}},
> > >             "indexes": [["name"]],
> > >             "isRoot": false},
> >
> > We could add a new string column called "type".  Possible values could
> be:
> >
> >   - (blank). The current behavior.
> >
> >   - vtep : This logical port represents a connection to a logical switch
> >     on a VTEP enabled switch
> >
> >   - local : This logical port represents a connection to an OVS bridge
> >     that exists locally to each ovn-controller.
> >
> > Next we could have an "options" column  for key-value pairs of options
> > specific to the configured "type".  For vtep you'd have the physical and
> > logical switch names.  For local you'd have the network name and
> > optionally a VLAN ID.
>
> These all seem like reasonable ideas to me.
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to