[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FW: LLDP port ids



Hi,

I wasn't involved in the PTOPO discussions on this point, so I'd
appreciate any input from the mib doctors.

Thanks,
dbh

-----Original Message-----
From: CONGDON,PAUL (HP-Roseville,ex1) [mailto:paul.congdon@hp.com] 
Sent: Monday, February 23, 2004 12:17 AM
To: 'Romascanu, Dan (Dan)'; CONGDON,PAUL (HP-Roseville,ex1); Harrington,
David
Subject: RE: LLDP port ids


Dan, 

I trust your interpretation of the arguments in the past.  Nonetheless,
I
feel a little exposed here and would be happy to hear more from you MIB
doctors...    How should I respond?   Marc had some very specific
explanations of his interpretations.  Were they simply wrong?  

Paul

> -----Original Message-----
> From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] 
> Sent: Sunday, February 22, 2004 6:52 AM
> To: CONGDON,PAUL (HP-Roseville,ex1); Harrington, David
> Subject: RE: LLDP port ids
> 
> 
> Paul,
> 
> IMO, the answer is no. 
> 
> The argument in the mail below seems more related to the 
> specific interpretation of the meaning of ifName and ifAlias 
> in the Foundry implementation. There is no requirement for 
> uniqueness for any of them in RFC 2863, and actually the fact 
> that ifName is read-only will make changing its value by a 
> network manager in order to make it unique impossible. 
> Moreover, the definition of ifName has a local (device) 
> semantic, while the definition of ifAlias has a network-wide 
> semantic, the later seems more appropriate for the LLDP goals. 
> 
> I do recognize some value for displaying ifName in parallel 
> with ifAlias, but I think that replacing one by the other 
> would be wrong.
> 
> The issue of ifAlias and ifName was quite widely discussed in 
> the SNMP community a few years ago. If you would like to hear 
> more opinions from other 'mighty MIB doctors' we could 
> forward this question to the SNMP MIB doctors list. 
> 
> Regards,
> 
> Dan
> 
> 
> 
> > -----Original Message-----
> > From: CONGDON,PAUL (HP-Roseville,ex1) [mailto:paul.congdon@hp.com]
> > Sent: 20 February, 2004 11:36 PM
> > To: Romascanu, Dan (Dan); 'Harrington, David'
> > Subject: FW: LLDP port ids
> > 
> > 
> > 
> > Oh mighty MIB doctors...
> > 
> > The fellow from Foundry makes a pretty good point below about
> > our use of
> > ifAlias and entPhysicalAlias in LLDP.  The history is that we 
> > simply took
> > what the PTOPO group was working on and never questioned it.  
> > The protocol
> > they were developing for PTOPO had the same Chassis-ID + 
> > Port-ID concept we
> > have in LLDP and they recommended using ifAlias as the value 
> > for Port-ID.
> > Should we be changing this to use ifName and entPhysicalName?
> > 
> > Thanks,
> > 
> > Paul
> > 
> > -----Original Message-----
> > From: Marc Lavine [mailto:mlavine@foundrynet.com]
> > Sent: Friday, February 20, 2004 1:20 AM
> > To: CONGDON,PAUL (HP-Roseville,ex1)
> > Cc: Val Oliva; Ron Lau
> > Subject: Re: LLDP port ids
> > 
> > 
> > Hello Paul,
> > 
> > I'm on the network management team at Foundry, and I've
> > recently implemented
> > automated network topology discovery in our management 
> > application (based on
> > collecting data from our Foundry Discovery Protocol, which is 
> > similar to
> > Cisco's CDP).  I've read portions of the D7 draft of the LLDP 
> > spec, and I
> > have some concerns about the types of port IDs which are 
> > supported.  Perhaps
> > I'm misunderstanding something, so I'd greatly appreciate it 
> > if you could
> > comment on the issues I'll describe below.  (Sorry it's so 
> late in the
> > process...)
> > 
> > I'm having some difficulty in understanding why ifAlias is
> > offered as a port
> > ID type rather than using ifName.   The LLDP spec says "The 
> > chosen port
> > shall be identified in an unambiguous manner", and "The port 
> > ID shall remain
> > constant for all LLDP frames while the connection remains 
> > active".  Assuming
> > a straightforward definition of "active", it seems as though 
> > ifAlias isn't a
> > good match, since its value can be changed at any time.  
> > Perhaps this all
> > hinges on the definition of "active", but the LLDP spec 
> > doesn't define it. I
> > think it would be good for the spec to define what "active" means.
> > 
> > The LLDP spec also says "The chosen port shall be identified in an 
> > unambiguous manner", however, I don't think ifAlias values are 
> > required to be unique.  (Do most implementations require 
> uniqueness?  
> > As one data point,
> > ours doesn't.)  Additionally, the definition of ifAlias 
> > states that "On the
> > first instantiation of an interface, the value of ifAlias 
> > associated with
> > that interface is the zero-length string", so the required 
> > default values
> > would be useless as LLDP port IDs.  I could see that perhaps 
> > the rationale
> > for using ifAlias is that if it has a non-null value, it 
> > could be nice as a
> > user-friendly ID, but a strict reading of the constancy 
> > requirement for the
> > port ID would seem to preclude its use.  (Am I reading it too 
> > strictly?)
> > 
> > Another option for the port IDs is to use entPhysicalAlias.
> > This could
> > provide a greater likelihood of having a non-null string, since the
> > definition says that for the initial value, the agent "...may 
> > set the value
> > to a locally unique default value, instead of a zero-length 
> > string."  If
> > entPhysicalAlias is writable, though, it seems to have the 
> > same conflict
> > with the constancy requirement that ifAlias does.
> > 
> > So, if we were implementing LLDP on Foundry's routers, for
> > example, and
> > deciding what to use as port IDs, the available choices seem 
> > quite limited.
> > From my perspective, the primary purpose of LLDP is to enable 
> > automated
> > discovery of a network's topology, so the uniqueness of port 
> > IDs and the
> > ability to correlate the values between neighboring devices 
> is my main
> > concern.  Here's how I view the possible types of port IDs 
> > that we could
> > use:
> > 
> >     - local - not useful for generic multi-vendor topology discovery
> >     - agent circuit ID - same as for local, since the value
> > has no strict
> > semantics
> >     - network address - not useful for ports with a shared 
> > network address
> >                                 (as with our virtual router 
> interfaces
> > inside a port VLAN)
> >     - MAC address - not useful for Foundry's port VLANs 
> with a shared
> > network address,
> >                                 since we also make the MAC 
> > addresses on
> > those ports be the same.
> >     - entPhysicalAlias for backplane components - doesn't 
> > seem to apply for
> > us
> >     - entPhysicalAlias for ports - not guaranteed constant or 
> > unique unless
> > we disallow
> >                                 writing and provide unique values
> >     - ifAlias - not guaranteed constant or unique
> > 
> > So, the only practical option for us that would appear to
> > guarantee that the
> > port IDs would be unambiguous would be to use 
> > entPhysicalAlias for ports,
> > providing unique values, and disallowing writing.  Having 
> to disallow
> > writing to entPhysicalAlias seems undesirable since the main 
> > purpose of the
> > aliases is to have them be user-settable.  I suppose another 
> > possibility
> > would be to prevent the user from setting any non-unique 
> > entPhysicalAlias
> > values, but this adds complexity, and could potentially 
> > render some of a
> > customer's existing port aliases invalid.  Attempting to 
> > strictly abide by
> > the constancy requirement would be more complicated (for 
> > example, if a user
> > wished to move an existing alias value from one port to 
> > another it would
> > seem that the connection on the original port would first be 
> > required to
> > temporarily become "inactive" (whatever that means ;-)).
> > 
> > It seems to me that ifName and entPhysicalName would be more
> > suitable for
> > use as port IDs than ifAlias and entPhysicalAlias, even if 
> > they might be
> > less meaningful to users (they could still be more 
> meaningful than MAC
> > addresses).  Though the definitions of ifName and 
> > entPhysicalName don't
> > explicitly say that their values must be unique, the 
> > description does seem
> > to imply this, and since these variables are not writable, it 
> > should be
> > straightforward for an implementation to ensure their 
> > uniqueness, at least
> > for values used with LLDP.  Providing ifName and/or 
> entPhysicalName as
> > options for port ID types would avoid the issues with port 
> > aliases for LLDP
> > implementers for whom MAC and network addresses do not 
> provide unique
> > identifiers.  Also, if LLDP implementers use the port alias 
> > options for port
> > IDs without giving careful consideration to the uniqueness 
> > and constancy
> > requirements, the result could be implementations which would 
> > not provide
> > reliable topology information in certain circumstances.  The 
> > probability of
> > making those mistakes with the port name options seems likely 
> > to be lower to
> > me, and thus would seem to make it easier for LLDP 
> implementers to get
> > things right.  Ideally, I would replace ifAlias and 
> > entPhysicalAlias with
> > ifName and entPhysicalName, but if one of the latter were 
> > simply added, it
> > would at least provide an alternative that would avoid the 
> problems I
> > described here.  (Also, if the more user-friendly port 
> > aliases were not used
> > as port IDs, they could still be optionally conveyed via a 
> > separate TLV
> > entry, preferably a standard one.)
> > 
> > I've also noticed a shortcoming in the definition of MAC
> > addresses as port
> > IDs.  Since the ability to correlate port ID values is essential for
> > automated topology discovery, it's important that the LLDP 
> > spec indicate
> > what MIB variables can be used for this correlation.  In the 
> > case of network
> > addresses, this might be considered "obvious", at least for 
> > IP addresses.
> > With MAC addresses, however, it's a little less obvious in 
> > cases where a
> > hardware-provided MAC address is reprogrammed by software.  
> > An example that
> > I cited above is Foundry's port VLANs with a virtual router 
> > interface.  We
> > reprogram all the ports in the VLAN to share the same MAC 
> > address.  For LLDP
> > purposes, a naive implementation might use the hardware MAC 
> > addresses, since
> > they'd be guaranteed to be unique. That would probably render 
> > it unsuitable
> > for automated topology discovery, since the obvious place to 
> > look for a MAC
> > address is in the ifPhysAddress MIB variable, but that would 
> > be likely to
> > contain the software-programmed MAC address.  So, I think 
> > that the LLDP spec
> > should state that when a MAC address is used as a port ID, 
> > the value should
> > be the ifPhysAddress value for the port (unless ifTable isn't 
> > implemented,
> > in which case it's a moot point anyway).  (If there was a 
> standard MIB
> > variable that provided the hardware MAC address, that would 
> be a nice
> > alternative, but I'm not aware of one.)
> > 
> > Well, that about wraps it up, and I look forward to your feedback.
> > 
> > Thanks,
> > Marc
> > 
> > ----- Original Message -----
> > From: "Val Oliva" <voliva@foundrynet.com>
> > To: "Marc Lavine" <mlavine@foundrynet.com>; "CONGDON,PAUL
> > (HP-Roseville,ex1)" <paul.congdon@hp.com>
> > Sent: Thursday, February 19, 2004 8:41 PM
> > Subject: RE: LLDP Now Ready for final Approval
> > 
> > 
> > >
> > > Paul, we've got some questions about LLDP. Mark feel
> > > free to ask Paul your questions.
> > >
> > > Thanks. Val Oliva
> > 
>