Re: OSPFv2 Opaque LSAs in OSPFv3

Dennis Ferguson <dennis@JUNIPER.NET> Thu, 17 October 2002 17:27 UTC

Received: from cherry.ease.lsoft.com (cherry.ease.lsoft.com [209.119.0.109]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id NAA18796 for <ospf-archive@LISTS.IETF.ORG>; Thu, 17 Oct 2002 13:27:53 -0400 (EDT)
Received: from walnut (209.119.0.61) by cherry.ease.lsoft.com (LSMTP for Digital Unix v1.1b) with SMTP id <16.00778B93@cherry.ease.lsoft.com>; Thu, 17 Oct 2002 13:30:03 -0400
Received: from DISCUSS.MICROSOFT.COM by DISCUSS.MICROSOFT.COM (LISTSERV-TCP/IP release 1.8e) with spool id 306812 for OSPF@DISCUSS.MICROSOFT.COM; Thu, 17 Oct 2002 13:30:02 -0400
Received: from 207.17.136.129 by WALNUT.EASE.LSOFT.COM (SMTPL release 1.0f) with TCP; Thu, 17 Oct 2002 13:30:02 -0400
Received: from juniper.net (wawa.juniper.net [172.17.20.55]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g9HHTwm17092 for <OSPF@DISCUSS.MICROSOFT.COM>; Thu, 17 Oct 2002 10:29:58 -0700 (PDT) (envelope-from dennis@juniper.net)
X-Mailer: exmh version 2.0.2 2/24/98
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Message-ID: <200210171729.g9HHTwm17092@merlot.juniper.net>
Date: Thu, 17 Oct 2002 10:29:58 -0700
Reply-To: Mailing List <OSPF@DISCUSS.MICROSOFT.COM>
Sender: Mailing List <OSPF@DISCUSS.MICROSOFT.COM>
From: Dennis Ferguson <dennis@JUNIPER.NET>
Subject: Re: OSPFv2 Opaque LSAs in OSPFv3
To: OSPF@DISCUSS.MICROSOFT.COM
In-Reply-To: Your message of "Wed, 16 Oct 2002 09:56:09 PDT." <ECEBIKJEBCOMCBDBKDNBEEDPCEAA.sina@cisco.com>
Precedence: list

Sina,

> if you want to allocate a new LSA type for each opaque type ( or better say
> for each new LSA introduced ) then we won't need to call this opaque LSA,
> you basically want to go to the idea of 'introducing a new LSA type' for
> each 'new LSA defined' and we will end up with many, many LSA type which I
> am not sure is a clean way ...

Why is having "many, many LSA types" any less clean than having many, many
opaque LSA types?  What difference does it make whether you need to look at
the LSA type or the opaque LSA's internal type to determine if you recognize
it?  Note that if you don't recognize the LSA type OSPFv3 already forces you
to implement the procedures both to handle any number of unrecognized LSAs
and to flood them properly in any case, so why would you want to add yet
more code to the implementation to do the same thing a different way?  If
there's anything unclean about this it would be adding a second way to
provide functionality which already exists, and must be implemented,
in the protocol.

To be clear, I think the proper way to handle moving functionality from
OSPFv2 Opaque LSAs to OSPFv3 is to take the LSA-type+Opaque-type and map
it to an OSPFv3 LSA-type+flooding-scope.  I am still concerned that there
be a way to specify the contents of the OSPFv2 LSA-type+Opaque-type, or
an equivalent OSPFv3 LSA-type+flooding-scope, in a single document, but
adding Opaque LSAs themselves to OSPFv3 (as opposed to mapping the contents
of a particular OSPFv2 opaque LSA type to an OSPFv3 LSA type) is an orthogonal
issue which adds no new functionality to the protocol, but requires that
every write code to support a second way to do the same thing.  This doesn't
seem to make much sense.

If there was some advantage to Opaque LSAs over OSPFv3's generic LSA flooding
procedures I think the time to point this out was the 3 years between
1996, when OSPFv3's flooding procedures were first proposed, and 1999,
when the document became an RFC, so that the generic procedures could be
removed (like OSPFv2) and Opaque LSAs added instead.  No matter how it is
done there needs to be only one way to do it, and OSPFv3 already has a way.

> that way we honor the name opaque LSA ;-) and won't introduce a new LSA type
> every time we need to define a LSA

But you've still not pointed out what is wrong with introducing a new LSA
type every time you need one.  OSPFv3 makes everyone write code to handle
this, so what is wrong with making use of that code?

> also it is not because we define opaque in v3 the same way as in v2 ( that
> is, using LS ID for opaque type and instance ) that we have to sync
> completely between v2 and v3, ospfv3 could have its own opaque type to be
> defined / standardized independently ...

But OSPFv3 has already has its own opaque type.  It is an LSA type you don't
understand with a flooding scope that you do understand.  What's the use
of having another one?

Dennis Ferguson