[Csci551-talk] Queuing LSA messages
johnh at ISI.EDU
Wed Mar 24 18:37:32 PST 2004
On Tue, 23 Mar 2004 15:44:23 PST, pritam baruah wrote:
>Do we need to queue LSA messages as they arrive? Our "oh so fast and powerful"
>computers are possibly double edged swords. On one hand they might allow
>synchronous processing of LSA pkts (with little help from inefficient runtime
>scheduling performance of the kernel) but on the other, too many pkts might
>arrive within a very small interval of time, making the UDP transport buffer
>overflow. It does not help that our program spends lot of time moving in and
>out of system calls, thus allowing for untimely context switches.
>My solution is to queue LSA packets within the SIGIO handler and handle all
>race conditions accordingly. Unfortunately I am short of time. Debugging this
>multiprocess simulation in GDB is proving to be extremely cruel. Will our
>programs be considered for better grades if the LS algo malfunctions because of
>modern kernel design and the evils within :-O ??? Is it worth not being lazy by
>exercising SO_RCVBUF to increase the socket receive buffer size? This is less
>work then implementing async queuing.
>Dare I ask - how about making everything synchronous _and_ make everything work
>by conviniently adding judiciuos sleep calls??? This will probably not be
>allowed...sigh :( !!!
Given that you need to retransmit packets, you should be able to
recover if there is any queue overflow.
You should not need to do any fancy queueing. While I would not want
to guarantee it, the size of the networks used should not cause huge
nubmers of overflows. (If they do, you're probably sending messages
too frequently.) And retranmission should recover from occational overflow.
>What is the use of the "last-hop router id" field in the LSA packet???
Last-hop means where the LSA message just came from.
>A router's "number of responsible routes" is the set of internal and external
>addresses (routes) assigned to it and a router's "number of links" is its
>number of neighbors! Am I right? What is "far-end router id" for each link? I
>presume its a fancy word for the neighbor on the "far-side" of the link? :)
>Help! I am drowning in heisenberg's uncertainity. No pun intended.
Responsible routes have been discussed in other csci551-talk messages.
You're correct about far-end router id.
More information about the Csci551-talk