Re: ENRP Peer Name Update

Qiaobing Xie <[email protected]>
Newsgroups gmane.ietf.rserpool
Message-ID <[email protected]>
Thomas,

Please see below...

Thomas Dreibholz wrote:

<snip>
>>>ENRP PEER_NAME_UPDATE contains the full Pool Element Parameter even in
>>>case of deregistrations. ASAP DEREGISTRATION only uses a PE Identifier
>>>Parameter to identify the PE. This is sufficient to identify and remove
>>>the PE. So, what about defining to also use a PE Identifier parameter for
>>>deregistrations in the PEER_NAME_UPDATE? That is, in case of
>>>registrations PEER_NAME_UPDATE would contain a Pool Element Parameter and
>>>in case of deregistrations a PE Identifier Parameter.
>>
>>The advantage of using a single format for PEER_NAME_UPDATE is to make the
>>implementation easier and to keep the number of messages small (remember we
>>also have PE update in addition to add and remove). In the case of removal
>>(I wouldn't call it de-reg, see below), we may allow the sender to only
>>fill in the PE-id and leave other fields blank and allow the receiver to
>>ignore the other fields. But I do not see the value of using different
>>formats.
> 
> 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 :-).

> 
> 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.

> Conclusion: Using Pool Element Parameter for ADD_PE and Pool Element 
> Identifier Parameter for DEL_PE decreases the complexity of the 
> implementation and is IMHO useful.

To be frank, I am not convinced that there is an implementation advantage for your proposed 
change but I do not have a strong position here and can go with either way. What do others 
think?

regards,
-Qiaobing

> 
> 
> 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)
> 
> iD8DBQFBLbCg32BbsHYPLWURAsGhAJ9fiMHPIJkhby16G6eETpTAD6oL/ACg2E1b
> //mzvhxT1ha19O9AfYzpXXQ=
> =u2dq
> -----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.