: question related to inconsistency between RFC 3588 and 3539.....

Rakesh Mehta <[email protected]> Mon, 12 Sep 2005 13:12:46 -0700 (PDT)
Newsgroups gmane.ietf.aaa
Message-ID <[email protected]>
I have a question related to inconsistency between RFC 3588 and 3539.

 

As per diameter base protocol RFC 3588 section 5.5.4, every request should be matched with answer message before removing from pending message queue.

 

As per RFC 3539

            section 3.4.1 [5] 

                        "The AAA client SHOULD wait for the transport layer to report 

       connection failure before attempting again, but MAY choose to

       bound this wait time by the watchdog interval, Tw.  If the

       connection is successfully opened, then the watchdog message is

       sent.  Once three watchdog messages have been sent and responded

       to, the connection is returned to service, and transactions are

       once again sent over it.  Connection validation via receipt of

       multiple watchdogs is not required when a connection is initially

       brought up -- in this case, the connection can immediately be put

       into service."

 

            Also  OnReceive() function of Appendix A, if connection is in reopen state, all the message received (other than DWR/DWA) should be throwen away till the 3rd DWA msg. 

            case REOPEN:

                         if (msgType == DWA) 

                        {

                                    NumDWA++;

                                     if (NumDWA == 3) 

                                    {

                                                 pcb->status = OKAY;

                                                Failback();

                                     }

                       } 

                        else 

                        {

                                    Throwaway(received packet);

                       }

 

 

My Question:

Suppose client and server are connected peer by peer and both are running fine. Client process dies and get restarted again. When Client process starts, it establishes peer connection again. Once peer connection comes up, client puts peer connection in OKAY state as per RFC 3539 section 3.4.1 [5], whereas server side peer connection is in open state (due to the fact that connection got reestablished again) and waits for 3*Tw seconds. Since client has assumed its connection in OKAY state, it starts sending message whereas server side rejects it as per OnReceive() function of Appendix A. 

 

Means client never gets answer back for its request. Eventually pending queue keeps on growing.

 

I will appreciate your feedback about it.

 

Thanks,

Rakesh

 

 

 

 


		
---------------------------------
Yahoo! for Good
 Click here to donate to the Hurricane Katrina relief effort.