Hi,

I would say that NOX is trying to discover the logical network, not
virtual network.  NOX holds no concept of a virtual network.  What it
needs to know is if the network/datapath can forward packets along a
certain link or not.  As long as the physical switches or network
hypervisor (aka FlowVisor) consistently forward or block packets, the
LLDP strategy works fine.

I would be very careful to ensure NOX (or any OpenFlow controller for
that matter) does not have explicit idea of whether it is operating on
a virtual or physical network.  Yes, admittedly there is a good amount
of idealism here.  But this is critical as OpenFlow grows.  Early
clutter often results in further headaches (and also papers to write).

Back to topology discovery, I do not think LLDP from the controller is
the future.  But a proposal for an alternative at the datapath level
was shot down for inclusion to OpenFlow 1.0.  There is a good amount
of similarity in the mechanisms between link fault detection and
topology discovery.  I would imagine a joint mechanism/primitive at
the datapath is the right thing to do (because fault detection is
delay sensitive).

That's my humble opinion on this.

Regards
KK

PS>> Perfecting a hack is not my cup of tea/coffee.

On 15 November 2010 22:08, James "Murphy" McCauley <jam...@nau.edu> wrote:
> It seems obvious that a discussion and some decisionmaking is needed on
> this issue at some point, though I'm not sure how interested anyone is
> in having that day be today.  It certainly was not my intention to kick
> that off. :)
>
>
> Let me clarify my thinking a bit.
>
> First off, we have the following:
> 1) The chassis ID TLV is currently being abused a bit by NOX
> 2) .. and things aren't working right (with some DPIDs)
>
> These are two evils.  The intention of my patch is to lessen the amount
> of evil in the world by doing the following:
> A) Resolve #2 by actually working right
> B) Maybe abuse the chassis ID TLV a bit less (a very secondary concern)
>   by using a "local" type which other things may be less likely to
>   misinterpret
>
> So my primary question is: does it accomplish this?  Does anyone see any
> way in which it is WORSE than the situation we currently have?
>
>
> Secondarily, is there an advantage to us "standardizing" a bit here?  If
> you think the System Description TLV is a suitable place for it, okay.
> Could we at least format it as a hex string with a distinguishing mark
> like my patch does for the chassis ID (e.g., "dpid:a0b1c2d3e") rather
> than jamming eight random bytes into a field meant to "contain an
> alpha-numeric string that is [a] textual description"?
>
>
> -- Murphy
>
> On Tue, 2010-11-16 at 00:33 -0500, Nicholas Bastin wrote:
>> On Tue, Nov 16, 2010 at 00:17, James "Murphy" McCauley
>> <jam...@nau.edu> wrote:
>>         Rob and Nick, the System Description TLV seems like both
>>         overkill and
>>         misuse as well to me.  It seems to be designed for advisory
>>         type
>>         information for humans.  Do you include the "full name and
>>         version
>>         identification of the system's hardware type, software
>>         operating system,
>>         and networking software"?  Do we WANT to do that?
>>
>>
>> It's definitely not misuse - you might consider it overkill.  This is
>> however traditionally the type of information that usually gets jammed
>> in there.  Yes, it is typically only ever read by humans (and eHealth,
>> OpenView, Tivoli, etc.), but using it programmatically ourselves is
>> hardly out of the norm - plenty of vendors jam information in there
>> that their product uses to make decisions (and happily ignore anything
>> else they find in there).
>>
>>         Srini's patch used the "network" chassis subtype, which also
>>         seems like
>>         misuse, as it is intended to be "and octet string that
>>         identifies a
>>         particular network address family and an associated network
>>         address" (using the IANA Address Family Numbers, for which
>>         "DPID" does
>>         not have an entry!).
>>
>>
>> The network chassis subtype is definitely wrong.  The only well known
>> subtypes we can use are those that support arbitrary ASCII strings.
>>
>>         I was kind of trying to avoid it, but maybe we should actually
>>         Do The
>>         Right Thing here and use the Organizationally Specific TLV.
>>          If we ask
>>         nicely, maybe we can use Nicira's OUI?  Martin?
>>
>>
>> Using an OS TLV isn't necessarily the right thing - it further hides
>> our data to no real end.  It depends if you care to use other products
>> to inspect the packets sent by NOX (and other controllers/switches),
>> because most of them will take a pass on OS TLV contents, since
>> obviously they don't know what they are.  It might make sense to argue
>> that we need an OpenFlow TLV or something, but that seems a bit
>> outside the scope of NOX (and also begs the question of why use LLDP
>> in the first place, as it puts us firmly in the space of repurposing a
>> pre-OF protocol to do OF's bidding, which is a road that only leads in
>> disaster).  It might also just make more sense to define an OpenFlow
>> discovery packet (preferably one that isn't restricted to ethernet as
>> the transport layer) and use that.  Interoperating with LLDP to the
>> extent of handling LLDP packets that non-OF switches happen to send
>> would be a good idea, but sending LLDP packets to perform our own
>> somewhat non-LLDP discovery seems like a path fraught with peril in
>> the long term.
>>
>>
>> --
>> Nick
>
>
>
> _______________________________________________
> nox-dev mailing list
> nox-dev@noxrepo.org
> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
>

_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to