Re: ENRP Peer Name Update

Thomas Dreibholz <[email protected]>
Newsgroups gmane.ietf.rserpool
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Freitag, 27. August 2004 17:39 schrieb Qiaobing Xie:
> > When a NS applies a deregistration from the namespace, it first calls a
> > function to delete the NS from the namespace. Then, the information about
> > the PE is gone (memory is deallocated). This implies, that the PE
> > information has to be duplicated (including malloc()/new calls -> error
> > handling becomes necessary) before the deregistration to be able to fill
> > out the
> > PeerNameUpdate message. It is not recommended to send PeerNameUpdates
> > before deregistering the element itself from the namespace, since a
> > deregistration may fail (permissions, etc.). Using only a PE ID, it is
> > simply necessary to remember a 32-bit integer value (fixed-size, no
> > malloc()/new necessary).
>
> This argument is rather implementation specific. There are another ways of
> implementing it without facing such difficulties. in fact, I didn't have
> this difficulty in my impl (Randy can testify :-).

Yes, it is possible. But IMHO, it requires more effort than simply using a PE 
Identifier parameter. In this case, you would simply scan for the PE 
Identifier Parameter instead of scanning for the Pool Element Parameter and 
looking there for the PE ID itself.


> > When parsing a Pool Element Parameter having fields set blank and things
> > like pool policy and user transport missing, all procedures requiring a
> > complete Pool Element Parameter have to check if the parsed parameter is
> > valid. If we do *not* allow to leave fields blank and skip user
> > transport/policy parameter, a pool element parameter scanner procedure
> > can directly verify if it is complete. No special cases are necessary.
> > And finally, a Pool Element Parameter having all fields except the ID set
> > blank, is nothing more than a degenerated Pool Element Identifier
> > Parameter.
>
> Again, this is not a strong argument IMO. E.g., my parser allows me to get
> a particular TLV while ignoring others, so I did not have this problem. So,
> when I find the action is a deletion, I would call the parser and ask it to
> return me the PE Id TLV, and after that I may choose not to check any other
> TLV at all.

But a parser should check if the complete message is valid and not malformed. 
For example a Pool Element Paramter is defined in the common parameters draft 
to be containing e.g. a user transport parameter and a policy parameter. When 
e.g. there is no user transport parameter or it contains no addresses etc., 
the message is IMHO malformed and should not be processed.

When only a PE identifier has to be specified, a Pool Element Identifier 
Parameter should be used. This parameter encapsulates the information 
necessary and requires nothing more, therefore it also more consistent. Why 
using a full Pool Element Parameter when a PE Identifier Parameter is 
sufficient?


Best regards
- -- 
=======================================================================
 Dipl.-Inform. Thomas Dreibholz

 University of Essen,                            Room ES210
 Inst. for Experimental Mathematics              Ellernstraße 29
 Computer Networking Technology Group            D-45326 Essen/Germany
- -----------------------------------------------------------------------
 E-Mail:     [email protected]
 Homepage:   http://www.exp-math.uni-essen.de/~dreibh
=======================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBL2IN32BbsHYPLWURAnLlAKC2KL47KDztXwegr1S/1Z3uq4E9awCeKmyW
M6KyyzyGQaJoFOiJnE2QyDs=
=IRq6
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.