From wpun at usc.edu Mon Mar 1 13:34:16 2004 From: wpun at usc.edu (Raymond Pun) Date: Mon Mar 1 13:36:30 2004 Subject: [Csci551-talk] question about in References: <57641b5722d8.5722d857641b@usc.edu> Message-ID: <03e901c3ffd4$f458dd40$a701a8c0@raymond> Hi In the project, there are several stages. Are they run seperately or all at one time? seperately means... this time i run stage one, and then quit program and then run stage two. at one time means... after the program finished stage one, it wait for user input, and then go for stage two witout quitting the program many thanks. regards, Raymond From gvagarwa at usc.edu Mon Mar 1 16:18:03 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Mon Mar 1 16:56:05 2004 Subject: [Csci551-talk] Query about Q1 in hw2 Message-ID: <8ad6de8b1701.8b17018ad6de@usc.edu> HI Had a query about Q1 in hw2. In the example concerning AS 124 for the sample routes a route for 124 itself is provided in the routing table. Is this correct? Will this be the case for all hosts and ISP? Thanks, Gaurav From liyuan at pollux.usc.edu Mon Mar 1 23:21:19 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 1 23:22:16 2004 Subject: [Csci551-talk] question about in In-Reply-To: <03e901c3ffd4$f458dd40$a701a8c0@raymond> Message-ID: Seperately. We will run your program several times to check different stages. Thanks Yuan On Mon, 1 Mar 2004, Raymond Pun wrote: > Hi > > In the project, there are several stages. Are they run seperately or all at > one time? > > seperately means... this time i run stage one, and then quit program and > then run stage two. > at one time means... after the program finished stage one, it wait for user > input, and then go for stage two witout quitting the program > > many thanks. > > regards, > Raymond > From baruah at usc.edu Tue Mar 2 05:09:17 2004 From: baruah at usc.edu (pritam baruah) Date: Tue Mar 2 05:09:20 2004 Subject: [Csci551-talk] ipc & config file Message-ID: Can we use unix domain datagram and stream IPC for communication among routers and between the master and the routers? The specification says that configuration has to be read from stdin. This probably means two things, 1) the config file is not a cmd line param to the master. 2) the config file will be piped into the stdin of the master (of course this will be transparent to the master). This might need to be kept in mind because C expects fully buffered standard input. From daftary at usc.edu Tue Mar 2 12:18:57 2004 From: daftary at usc.edu (chaitali daftary) Date: Tue Mar 2 12:20:30 2004 Subject: [Csci551-talk] which papers for the midterm Message-ID: Hi, I wanted to know which papers are there for the midterm Thanks Chaitali. From daftary at usc.edu Tue Mar 2 12:20:30 2004 From: daftary at usc.edu (chaitali daftary) Date: Tue Mar 2 12:20:33 2004 Subject: [Csci551-talk] which papers for the midterm Message-ID: An embedded message was scrubbed... From: chaitali daftary Subject: which papers for the midterm Date: Tue, 02 Mar 2004 12:18:57 -0800 Size: 652 Url: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040302/82bf8093/attachment.mht From johnh at ISI.EDU Tue Mar 2 13:10:32 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 2 13:12:30 2004 Subject: [Csci551-talk] question about in In-Reply-To: <03e901c3ffd4$f458dd40$a701a8c0@raymond> Message-ID: <200403022110.i22LAWHp025336@dash.isi.edu> On Mon, 01 Mar 2004 13:34:16 PST, "Raymond Pun" wrote: >Hi > >In the project, there are several stages. Are they run seperately or all at >one time? > >seperately means... this time i run stage one, and then quit program and >then run stage two. >at one time means... after the program finished stage one, it wait for user >input, and then go for stage two witout quitting the program For stage1, the assignment says: Output for this stage: If the first line of the configuration information is "stage1" then produce the following output and stop. For stage2, it says: Output for this stage: If the first line of the configuration information is "stage2", then produce the following output and stop. You should not add additional requirements like waiting for user input. -John Heidemann From wpun at usc.edu Thu Mar 4 01:38:54 2004 From: wpun at usc.edu (wai pun) Date: Thu Mar 4 01:40:36 2004 Subject: [Csci551-talk] Question about Q1b in HW2 Message-ID: <537736531e0f.531e0f537736@usc.edu> Hi, In 1b, it ask "what routes will router100 consider when ocmputing its routing tables". I am not sure what is it asking. Should we provide the new routing table? or anything else? many thanks. regards, Raymond From wpun at usc.edu Thu Mar 4 01:37:17 2004 From: wpun at usc.edu (Raymond Pun) Date: Thu Mar 4 02:10:36 2004 Subject: [Csci551-talk] question about Q1b in hw2 References: <8ad6de8b1701.8b17018ad6de@usc.edu> Message-ID: <02c401c401d0$be20c320$a701a8c0@raymond> In 1b, it ask "what routes will router100 consider whne ocmputing its routing tables". I am not sure what is it asking. Should we provide the new routing table? or anything else? many thanks. regards, Raymond From johnh at ISI.EDU Thu Mar 4 14:35:02 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 4 14:36:49 2004 Subject: [Csci551-talk] which papers for the midterm In-Reply-To: Message-ID: <200403042235.i24MZ28x004559@dash.isi.edu> On Tue, 02 Mar 2004 12:18:57 PST, chaitali daftary wrote: >Hi, > >I wanted to know which papers are there for the midterm > >Thanks >Chaitali. Through the material originally assigned for last class, i.e., [Stoica03a]. -John Heidemann From johnh at ISI.EDU Thu Mar 4 14:37:04 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 4 14:38:41 2004 Subject: [Csci551-talk] Question about Q1b in HW2 In-Reply-To: <537736531e0f.531e0f537736@usc.edu> Message-ID: <200403042237.i24Mb4A1004584@dash.isi.edu> On Thu, 04 Mar 2004 01:38:54 PST, wai pun wrote: >Hi, > >In 1b, it ask "what routes will router100 consider when ocmputing its >routing tables". >I am not sure what is it asking. Should we provide the new routing table? or >anything else? You should list all the routes the router will consider for possible inclusion in its routing thable when computing its routing table. This may be more routes than actually end up in the final routing table. -John Heidemann From johnh at ISI.EDU Thu Mar 4 14:39:46 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 4 14:40:43 2004 Subject: [Csci551-talk] ipc & config file In-Reply-To: Message-ID: <200403042239.i24MdkG5004610@dash.isi.edu> On Tue, 02 Mar 2004 05:09:17 PST, pritam baruah wrote: > > >Can we use unix domain datagram and stream IPC for communication among routers >and between the master and the routers? The project calls for using TCP to connect the master and clients. Datagrams would not meet this requirement. >The specification says that configuration has to be read from stdin. This >probably means two things, >1) the config file is not a cmd line param to the master. Correct. >2) the config file will be piped into the stdin of the master (of course this >will be transparent to the master). This might need to be kept in mind because >C expects fully buffered standard input. > Correct, but I don't think this should affect things. You can assume buffered standard input. -John Heidemann From johnh at ISI.EDU Thu Mar 4 14:42:54 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 4 14:44:41 2004 Subject: [Csci551-talk] Query about Q1 in hw2 In-Reply-To: <8ad6de8b1701.8b17018ad6de@usc.edu> Message-ID: <200403042242.i24MgsKt004644@dash.isi.edu> On Mon, 01 Mar 2004 16:18:03 PST, gaurav agarwal wrote: >HI >Had a query about Q1 in hw2. In the example concerning AS 124 for the sample >routes a route for 124 itself is provided in the routing table. Is this >correct? Will this be the case for all hosts and ISP? > >Thanks, >Gaurav Yes, for this assignment, each router should have a route for the hosts "local" to each AS. (You can think of this as representing those on its local LAN segment.) -John Heidemann From naa at usc.edu Tue Mar 9 18:36:30 2004 From: naa at usc.edu (nishant agarwal) Date: Tue Mar 9 18:37:15 2004 Subject: [Csci551-talk] java??!! Message-ID: <4825d347f241.47f2414825d3@usc.edu> I was wondering if I could do the project in Java over the spring break. Is there any preference of the grader or the grading policy. thanks Nishant (waiting for friday for the nightmare to be over, so that jack in the box can start coding :) .... From jayant.v.rao at usc.edu Tue Mar 9 18:47:48 2004 From: jayant.v.rao at usc.edu (Jayant V. Rao) Date: Tue Mar 9 18:47:58 2004 Subject: [Csci551-talk] java??!! In-Reply-To: <4825d347f241.47f2414825d3@usc.edu> Message-ID: <200403100247.i2A2lvk26946@gamma.isi.edu> Hey Nishant, I think Prof. Hiedemann mentioned that we shouldn't use Java, and we're supposed to use the UNIX library for sockets and fork, etc. C or C++ is what we're supposed to use I guess. Jayant -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of nishant agarwal Sent: Tuesday, March 09, 2004 6:37 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] java??!! I was wondering if I could do the project in Java over the spring break. Is there any preference of the grader or the grading policy. thanks Nishant (waiting for friday for the nightmare to be over, so that jack in the box can start coding :) .... From naa at usc.edu Tue Mar 9 19:16:26 2004 From: naa at usc.edu (nishant agarwal) Date: Tue Mar 9 19:16:28 2004 Subject: [Csci551-talk] java??!! Message-ID: <49033c48e82b.48e82b49033c@usc.edu> all rite. thanks for the info. ----- Original Message ----- From: "Jayant V. Rao" Date: Tuesday, March 9, 2004 6:47 pm Subject: RE: [Csci551-talk] java??!! > Hey Nishant, > > I think Prof. Hiedemann mentioned that we shouldn't use Java, and we're > supposed to use the UNIX library for sockets and fork, etc. > C or C++ is what we're supposed to use I guess. > > Jayant > > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of nishant agarwal > Sent: Tuesday, March 09, 2004 6:37 PM > To: csci551-talk@ISI.EDU > Subject: [Csci551-talk] java??!! > > I was wondering if I could do the project in Java over the spring break. > Is > there any preference of the grader or the grading policy. > > thanks > Nishant > > (waiting for friday for the nightmare to be over, so that jack in the box > can > start coding :) .... > > From johnh at ISI.EDU Tue Mar 9 21:19:55 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 9 21:22:11 2004 Subject: [Csci551-talk] java??!! In-Reply-To: <4825d347f241.47f2414825d3@usc.edu> Message-ID: <200403100519.i2A5Jt8C009486@dash.isi.edu> On Tue, 09 Mar 2004 18:36:30 PST, nishant agarwal wrote: >I was wondering if I could do the project in Java over the spring break. Is >there any preference of the grader or the grading policy. > >thanks >Nishant > >(waiting for friday for the nightmare to be over, so that jack in the box can >start coding :) .... No, after discussions both this year and last, I've decided that Java is not an appropriate language for this assignment. (Primarily because it requires that you fork processes, and threads are not the same thing.) -John Heidemann From naa at usc.edu Tue Mar 9 22:53:52 2004 From: naa at usc.edu (nishant agarwal) Date: Tue Mar 9 22:55:22 2004 Subject: [Csci551-talk] java??!! Message-ID: <539f3d53a144.53a144539f3d@usc.edu> thanks professor. But I was thinking about the classes: Process, Runtime, and Socket, ServerSocket, and even maybe RMI can be used for IPC between JVMs. However, I will try to play with it only after finishing up project in C/C++. back to work :) Nishant ----- Original Message ----- From: John Heidemann Date: Tuesday, March 9, 2004 9:19 pm Subject: Re: [Csci551-talk] java??!! > On Tue, 09 Mar 2004 18:36:30 PST, nishant agarwal wrote: > >I was wondering if I could do the project in Java over the spring break. > Is > >there any preference of the grader or the grading policy. > > > >thanks > >Nishant > > > >(waiting for friday for the nightmare to be over, so that jack in the box > can > >start coding :) .... > > No, after discussions both this year and last, I've decided that Java > is not an appropriate language for this assignment. (Primarily > because it requires that you fork processes, and threads are not the > same thing.) > > -John Heidemann > From murugan at usc.edu Wed Mar 10 12:05:31 2004 From: murugan at usc.edu (muralidharan murugan) Date: Wed Mar 10 12:07:27 2004 Subject: [Csci551-talk] Question regarding Route Reflectors Message-ID: <6bcaaa6b8c9c.6b8c9c6bcaaa@usc.edu> I think route reflectors are used to overcome the drawback of full-mesh with I- BGP. But since I-BGP is used for sending policy directives to routers with in an AS, why does it have to support route advertisements which should be done by the IGP that coexists? Thanks. Murali From svenkata at usc.edu Wed Mar 10 12:34:34 2004 From: svenkata at usc.edu (suresh venkataramani) Date: Wed Mar 10 12:37:28 2004 Subject: [Csci551-talk] Question regarding Route Reflectors Message-ID: <6d8f6a6d7a98.6d7a986d8f6a@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040310/c21c8e84/attachment.html From johnh at ISI.EDU Wed Mar 10 22:27:04 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 10 22:28:18 2004 Subject: [Csci551-talk] Question regarding Route Reflectors In-Reply-To: <6d8f6a6d7a98.6d7a986d8f6a@usc.edu> Message-ID: <200403110627.i2B6R4fS027043@dash.isi.edu> On Wed, 10 Mar 2004 12:34:34 PST, suresh venkataramani wrote: >I think the IGP provides the routes by which one can reach any other router in >the given AS. But you still need to propagate the routes learned via E-BGP to >other interior routers. This is done via I-BGP where each router connects with >evry other router( Full mesh ..can be multihop).The interior routers cannot >propagate these routes learned over I-BGP hence the need for a full mesh. Also >the next hop field does not change in these routes and it remains that of the >gateway router. > >----- Original Message ----- > >From: muralidharan murugan > >Date: Wednesday, March 10, 2004 12:05 pm > >Subject: [Csci551-talk] Question regarding Route Reflectors > >> I think route reflectors are used to overcome the drawback of full-mesh >> with I- >> BGP. But since I-BGP is used for sending policy directives to routers with >> in >> an AS, why does it have to support route advertisements which should be >> done >> by the IGP that coexists? Very good question. Suresh's answer is correct. The IGP may provide internal routes, but I-BGP is used to propagate external routes, probably with policy information. -John Heidemann From meghajos at usc.edu Fri Mar 12 18:52:21 2004 From: meghajos at usc.edu (megha joshi) Date: Fri Mar 12 19:31:28 2004 Subject: [Csci551-talk] sci551-talk Digest, Vol 3, Issue 8 Message-ID: I am not able to pass the kernal assigned manager port to the router process through getsockname and subsequent use of global variable .......can anyone suggest something. thanks From naa at usc.edu Fri Mar 12 19:57:26 2004 From: naa at usc.edu (nishant agarwal) Date: Fri Mar 12 20:07:17 2004 Subject: [Csci551-talk] sci551-talk Digest, Vol 3, Issue 8 Message-ID: I am gonna put this tomorrow, having an off day today, after midterm, going to sleep 12 hours minimum :) but since all the nodes are forked by manager, they are children of manager,and hence manager could communicate with them using pipes. Still this is not a smart idea, as you would be opening and closing as many pipes as children. i.e. n children would lead to n pipes. And I havent tried it yet, but it looks like a hack to me. And global variable is not a smart idea either. It will not work. Else I could just create an array of information, and then do the forks. Only kernel descriptors of data strucutres remain valid, for eg: if you create file descriptors, or pipes and so on. The semantics of the information to be conveyed to children present an ideal case for Shared Memory implementation. However, since here more than one process will try to access shared memory, you need to use semaphores. Plenty of reference is available on internet for this simple case of project. And for complete knowledge, Stevens vol 1 and vol 2. Take care to try to keep program portable. Keywords: Shared Memory, Semaphores, IPC Nishant ----- Original Message ----- From: megha joshi Date: Friday, March 12, 2004 6:52 pm Subject: [Csci551-talk] sci551-talk Digest, Vol 3, Issue 8 > I am not able to pass the kernal assigned manager port to the router > process > through > getsockname and subsequent use of global variable .......can anyone > suggest > something. > thanks > > From johnh at ISI.EDU Fri Mar 12 21:41:19 2004 From: johnh at ISI.EDU (John Heidemann) Date: Fri Mar 12 21:43:20 2004 Subject: [Csci551-talk] sci551-talk Digest, Vol 3, Issue 8 In-Reply-To: Message-ID: <200403130541.i2D5fJ6h017843@dash.isi.edu> On Fri, 12 Mar 2004 18:52:21 PST, megha joshi wrote: >I am not able to pass the kernal assigned manager port to the router process >through >getsockname and subsequent use of global variable .......can anyone suggest >something. >thanks If you open the socket before you fork, you should be able to use a global variable. -John Heidemann From wakerly at usc.edu Fri Mar 12 22:01:37 2004 From: wakerly at usc.edu (michael wakerly) Date: Fri Mar 12 22:04:19 2004 Subject: [Csci551-talk] Regarding port-passing problems Message-ID: On Mar 12, 2004, at 7:57 PM, nishant agarwal wrote: Keywords: Shared Memory, Semaphores, IPC Whoa whoa... I read your message and it seems like when you wake up tomorrow, you're in for a lot of overkill! Recall that when you fork, the entire memory space is cloned. So, you can set any variable you want, call fork, and that variable will be copied to the forked process. If you change it later in your manager, the changes will only be propogated to subsequently forked processes. So, consider the following psuedocode: for each router: int portnum = x++; fork(); if is_child_process: bind on portnum; // etc .. Unless you are going to want to change a portnum from the manager later down the line, there is no need for IPC/shared memory. Else I could just create an array of information, and then do the forks. Only kernel descriptors of data strucutres remain valid, for eg: if you create file descriptors, or pipes and so on. Actually, I think you got it right but are just too tired to realize it ;) Just my ++$0.01 cents.. Mike From devarshi at ieee.org Fri Mar 12 22:37:27 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Fri Mar 12 22:40:24 2004 Subject: [Csci551-talk] Regarding port-passing problems In-Reply-To: Message-ID: Yup.. I kinda agree with Mike. Fork clones the entire memory space - and I have been able to get it to work using just this method. Pass the manager's port in a variable and access it in the child process and you should be ok. Moreover, I think that the project definition requires that the only communication between the manager and the routers be using sockets... --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of michael wakerly Sent: Friday, March 12, 2004 10:02 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Regarding port-passing problems On Mar 12, 2004, at 7:57 PM, nishant agarwal wrote: Keywords: Shared Memory, Semaphores, IPC Whoa whoa... I read your message and it seems like when you wake up tomorrow, you're in for a lot of overkill! Recall that when you fork, the entire memory space is cloned. So, you can set any variable you want, call fork, and that variable will be copied to the forked process. If you change it later in your manager, the changes will only be propogated to subsequently forked processes. So, consider the following psuedocode: for each router: int portnum = x++; fork(); if is_child_process: bind on portnum; // etc .. Unless you are going to want to change a portnum from the manager later down the line, there is no need for IPC/shared memory. Else I could just create an array of information, and then do the forks. Only kernel descriptors of data strucutres remain valid, for eg: if you create file descriptors, or pipes and so on. Actually, I think you got it right but are just too tired to realize it ;) Just my ++$0.01 cents.. Mike From naa at usc.edu Sat Mar 13 03:51:45 2004 From: naa at usc.edu (nishant agarwal) Date: Sat Mar 13 03:52:14 2004 Subject: [Csci551-talk] Regarding port-passing problems Message-ID: This is everyone's opportunity to use some IPC stuff. I realize that its an overkill, but I believe many graduate students have this chance to learn shared memory and pipes and IPC.... Rest is upto personal interest and and personal ethics of code. Since project is short and time is plenty, spring break is there, at least try to think about shared memory, semaphores and pipes. play around with it. for freshers, this will be the first brush with unix network programming. back to the cricket match...India wins :) Nishant ----- Original Message ----- From: michael wakerly Date: Friday, March 12, 2004 10:01 pm Subject: [Csci551-talk] Regarding port-passing problems > On Mar 12, 2004, at 7:57 PM, nishant agarwal wrote: > Keywords: Shared Memory, Semaphores, IPC > > Whoa whoa... I read your message and it seems like when you wake up > tomorrow, > you're in > for a lot of overkill! > > Recall that when you fork, the entire memory space is cloned. So, you can > set > any variable > you want, call fork, and that variable will be copied to the forked > process. If > you change it > later in your manager, the changes will only be propogated to subsequently > forked > processes. > > So, consider the following psuedocode: > > for each router: > int portnum = x++; > fork(); > if is_child_process: > bind on portnum; > // etc .. > > Unless you are going to want to change a portnum from the manager later > down > the line, > there is no need for IPC/shared memory. > > Else I could just create an array of information, and then do the forks. Only > kernel descriptors of data strucutres remain valid, for eg: if you create file > descriptors, or pipes and so on. > > Actually, I think you got it right but are just too tired to realize it ;) > > Just my ++$0.01 cents.. > Mike > > > > From naa at usc.edu Sat Mar 13 04:04:21 2004 From: naa at usc.edu (nishant agarwal) Date: Sat Mar 13 04:07:20 2004 Subject: [Csci551-talk] Regarding port-passing problems Message-ID: > > Moreover, I think that the project definition requires that the only > communication between the manager and the routers be using sockets... "The master can then pass this port to the childern via shared memory (during the fork) or some other means if you prefer." this is what the project definition says. the some other means if you prefer - this line is what gives me opportunity to try out stuff. > > --Devarshi > > Devarshi P. Shah > -------------------------------------------------------------- > Graduate Student (Computer Science), > University of Southern California, LA. > -------------------------------------------------------------- > Web : http://devarshi.shah.name > email : devarshi@ieee.org > Cell : 323-363-3791, Home :323-373-0318 > -------------------------------------------------------------- > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of michael wakerly > Sent: Friday, March 12, 2004 10:02 PM > To: csci551-talk@ISI.EDU > Subject: [Csci551-talk] Regarding port-passing problems > > On Mar 12, 2004, at 7:57 PM, nishant agarwal wrote: > Keywords: Shared Memory, Semaphores, IPC > > Whoa whoa... I read your message and it seems like when you wake up > tomorrow, > you're in > for a lot of overkill! > > Recall that when you fork, the entire memory space is cloned. So, you can > set > any variable > you want, call fork, and that variable will be copied to the forked process. > If > you change it > later in your manager, the changes will only be propogated to subsequently > forked > processes. > > So, consider the following psuedocode: > > for each router: > int portnum = x++; > fork(); > if is_child_process: > bind on portnum; > // etc .. > > Unless you are going to want to change a portnum from the manager later down > > the line, > there is no need for IPC/shared memory. > > Else I could just create an array of information, and then do the forks. > Only > kernel descriptors of data strucutres remain valid, for eg: if you create > file > descriptors, or pipes and so on. > > Actually, I think you got it right but are just too tired to realize it ;) > > Just my ++$0.01 cents.. > Mike > > > > > > From devarshi at ieee.org Sat Mar 13 09:22:47 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 13 09:25:25 2004 Subject: [Csci551-talk] Regarding port-passing problems In-Reply-To: Message-ID: Guess I missed that :-) --devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: nishant agarwal [mailto:naa@usc.edu] Sent: Saturday, March 13, 2004 4:04 AM To: devarshi@ieee.org Cc: csci551-talk@ISI.EDU Subject: Re: RE: [Csci551-talk] Regarding port-passing problems > > Moreover, I think that the project definition requires that the only > communication between the manager and the routers be using sockets... "The master can then pass this port to the childern via shared memory (during the fork) or some other means if you prefer." this is what the project definition says. the some other means if you prefer - this line is what gives me opportunity to try out stuff. > > --Devarshi > > Devarshi P. Shah > -------------------------------------------------------------- > Graduate Student (Computer Science), > University of Southern California, LA. > -------------------------------------------------------------- > Web : http://devarshi.shah.name > email : devarshi@ieee.org > Cell : 323-363-3791, Home :323-373-0318 > -------------------------------------------------------------- > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of michael wakerly > Sent: Friday, March 12, 2004 10:02 PM > To: csci551-talk@ISI.EDU > Subject: [Csci551-talk] Regarding port-passing problems > > On Mar 12, 2004, at 7:57 PM, nishant agarwal wrote: > Keywords: Shared Memory, Semaphores, IPC > > Whoa whoa... I read your message and it seems like when you wake up > tomorrow, > you're in > for a lot of overkill! > > Recall that when you fork, the entire memory space is cloned. So, you can > set > any variable > you want, call fork, and that variable will be copied to the forked process. > If > you change it > later in your manager, the changes will only be propogated to subsequently > forked > processes. > > So, consider the following psuedocode: > > for each router: > int portnum = x++; > fork(); > if is_child_process: > bind on portnum; > // etc .. > > Unless you are going to want to change a portnum from the manager later down > > the line, > there is no need for IPC/shared memory. > > Else I could just create an array of information, and then do the forks. > Only > kernel descriptors of data strucutres remain valid, for eg: if you create > file > descriptors, or pipes and so on. > > Actually, I think you got it right but are just too tired to realize it ;) > > Just my ++$0.01 cents.. > Mike > > > > > > From devarshi at ieee.org Sat Mar 13 10:17:46 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 13 10:19:30 2004 Subject: [Csci551-talk] TTL handling : Just FYI Message-ID: Hi people, This is just FYI... thought I'd share it. One thing that the project does not mention is how and if the TTL field is to be handled. I had a talk with Dr. Heidemann and he said that we do need to consider the TTL field and decrement TTL every hop - and stop propagating the packets if the TTL goes to 0. The TTL field can be initialized to an arbitrary initial value - he (Dr. Heidemann) suggested 10. --devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040313/473184df/attachment-0001.html From mqin at usc.edu Sat Mar 13 17:13:19 2004 From: mqin at usc.edu (min) Date: Sat Mar 13 17:16:29 2004 Subject: [Csci551-talk] if neibor do not change while routing table changes, should a node send new LS updates? Message-ID: <001b01c40961$92b85c50$dc557944@jimmy> Hi, dear all I am wondering whether a node should send messages to others if only routing table changes. For example, when it receives message from others, it do some calculation and its routing table is changed. Since link state routing do not need to know other node's routing table, so does this mean a node doesn't need to send any message to others if only its routing table is changed? it only need to send Link state update to others when its neibors changed, right? Thanks Min -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040313/5d795d24/attachment.html From svenkata at usc.edu Sat Mar 13 17:27:26 2004 From: svenkata at usc.edu (suresh venkataramani) Date: Sat Mar 13 17:28:20 2004 Subject: [Csci551-talk] if neibor do not change while routing table changes, should a node send new LS updates? Message-ID: An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040313/2ba2faec/attachment.html From mqin at usc.edu Sat Mar 13 18:06:35 2004 From: mqin at usc.edu (min) Date: Sat Mar 13 18:10:20 2004 Subject: [Csci551-talk] if neibor do not change while routing tablechanges, should a node send new LS updates? References: Message-ID: <005201c40968$fa95da30$dc557944@jimmy> but why is this necessary? if only routing table changes, nobody cares. Since a node does not propagate its routing table to others. It only propagates what it knows about its neighbors Min ----- Original Message ----- From: suresh venkataramani To: csci551-talk@ISI.EDU Sent: Saturday, March 13, 2004 5:27 PM Subject: Re: [Csci551-talk] if neibor do not change while routing tablechanges, should a node send new LS updates? Its clearly mentioned in the project description that " Whenever it receives an LSA update from a neighbor that causes a change in its own table, the router should end an update. (You need not implement periodic update routing messages.)" Hope that helps ----- Original Message ----- From: min Date: Saturday, March 13, 2004 5:13 pm Subject: [Csci551-talk] if neibor do not change while routing table changes, should a node send new LS updates? > Hi, dear all > I am wondering whether a node should send messages to others if only > routing table changes. For example, when it receives message from others, > it do some calculation and its routing table is changed. Since link state > routing do not need to know other node's routing table, so does this mean > a node doesn't need to send any message to others if only its routing > table is changed? > it only need to send Link state update to others when its neibors > changed, right? > > Thanks > Min > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040313/e0456189/attachment.html From amitpand at usc.edu Sun Mar 14 20:07:09 2004 From: amitpand at usc.edu (amit pande) Date: Sun Mar 14 20:10:19 2004 Subject: [Csci551-talk] hw 2 doubt Message-ID: <105db2f1057abb.1057abb105db2f@usc.edu> hi, in question 1 while writing the routing table for as100 do we consider AS sets and write the entry as: 11/8: r110(110 [ 111 112 113 114 ] ) something similar to what prof had discussed in class-where in when you aggregate, you include the sub-AS as AS- set or the other option is as shown in the example in the question: 11/8: r110 (110)-which does not include the AS-SET for sub-ASes. thanks, amit From liyuan at pollux.usc.edu Tue Mar 16 00:44:42 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Tue Mar 16 00:46:16 2004 Subject: [Csci551-talk] if neibor do not change while routing tablechanges, should a node send new LS updates? In-Reply-To: <005201c40968$fa95da30$dc557944@jimmy> Message-ID: Hi, In previous messages on the mail list, Profesor mentioned that: "In LS routing you send out messages when your LINK status changes, and nodes propgate these via reliable flooding." Thanks Yuan On Sat, 13 Mar 2004, min wrote: > but why is this necessary? > if only routing table changes, nobody cares. Since a node does not propagate its routing table to others. It only propagates what it knows about its neighbors > > Min > > ----- Original Message ----- > From: suresh venkataramani > To: csci551-talk@ISI.EDU > Sent: Saturday, March 13, 2004 5:27 PM > Subject: Re: [Csci551-talk] if neibor do not change while routing tablechanges, should a node send new LS updates? > > > > Its clearly mentioned in the project description that > " Whenever it receives an LSA update from a neighbor that causes a change in its own table, the router should end an update. (You need not implement periodic update routing messages.)" > > Hope that helps > > ----- Original Message ----- > > > From: min > > Date: Saturday, March 13, 2004 5:13 pm > > Subject: [Csci551-talk] if neibor do not change while routing table changes, should a node send new LS updates? > > > > Hi, dear all > > I am wondering whether a node should send messages to others if only > > routing table changes. For example, when it receives message from others, > > it do some calculation and its routing table is changed. Since link state > > routing do not need to know other node's routing table, so does this mean > > a node doesn't need to send any message to others if only its routing > > table is changed? > > it only need to send Link state update to others when its neibors > > changed, right? > > > > Thanks > > Min > > > From johnh at ISI.EDU Tue Mar 16 10:05:08 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 16 10:07:16 2004 Subject: [Csci551-talk] if neibor do not change while routing tablechanges, should a node send new LS updates? In-Reply-To: <005201c40968$fa95da30$dc557944@jimmy> Message-ID: <200403161805.i2GI59ot009651@dash.isi.edu> On Sat, 13 Mar 2004 18:06:35 PST, min wrote: >but why is this necessary? >if only routing table changes, nobody cares. Since a node does not propagate >its routing table to others. It only propagates what it knows about its >neighbors > You're correct, Min. For link-state protocols, LSA messages need be sent only when your a (local) link goes up or down, NOT when the routing table changes. That was a specification error. -John Heidemann From johnh at ISI.EDU Tue Mar 16 10:04:55 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 16 10:07:20 2004 Subject: [Csci551-talk] Regarding port-passing problems In-Reply-To: Message-ID: <200403161804.i2GI4tai009621@dash.isi.edu> On Sat, 13 Mar 2004 04:04:21 PST, nishant agarwal wrote: > > >> >> Moreover, I think that the project definition requires that the only >> communication between the manager and the routers be using sockets... > >"The master can then pass this port to the childern via shared memory (during >the fork) or some other means if you prefer." > >this is what the project definition says. the some other means if you prefer - >this line is what gives me opportunity to try out stuff. > While I agree pipes and shared memory are not necessary, if you want to experiment with them, that's allowed. (Provided your code works :-) -John Heidemann From johnh at ISI.EDU Tue Mar 16 10:04:58 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 16 10:07:22 2004 Subject: [Csci551-talk] Regarding port-passing problems In-Reply-To: Message-ID: <200403161804.i2GI4wIm009636@dash.isi.edu> On Fri, 12 Mar 2004 22:01:37 PST, michael wakerly wrote: >... >Recall that when you fork, the entire memory space is cloned. So, you can set >any variable >you want, call fork, and that variable will be copied to the forked process. If >you change it >later in your manager, the changes will only be propogated to subsequently >forked >processes. > >So, consider the following psuedocode: > >for each router: > int portnum = x++; > fork(); > if is_child_process: > bind on portnum; > // etc .. > >Unless you are going to want to change a portnum from the manager later down >the line, >there is no need for IPC/shared memory. I agree that this approach is much simplier and a better match to the assignment's requirements. But there is one problem in that pseudocode: it statically assigns port numbers. It will fail if the ports are already used, and it is not consistent with the requirement that ports be dynamically allocated. A better approach is to allocate the TCP port dynamically in the manager, then pass that to the routers, then have each router dynamically allocate its UDP port and pass that back to the manager over the TCP port. -John Heidemann From johnh at ISI.EDU Tue Mar 16 10:04:50 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 16 10:07:24 2004 Subject: [Csci551-talk] TTL handling : Just FYI In-Reply-To: Message-ID: <200403161804.i2GI4ocD009601@dash.isi.edu> On Sat, 13 Mar 2004 10:17:46 PST, "Devarshi Shah" wrote: >This is just FYI... thought I?d share it. > >One thing that the project does not mention is how and if the TTL field is >to be handled? I had a talk with Dr. Heidemann and he said that we do need >to consider the TTL field and decrement TTL every hop - and stop >propagating the packets if the TTL goes to 0. The TTL field can be >initialized to an arbitrary initial value - he (Dr. Heidemann) suggested 10. THanks for bringing this up. This is the clarification I added to the assignment: The TTL field should be initialized to 16 when a message is sent and decremented by one each hop. Packets with a TTL less than 1 should be dropped. We will not have topologies bigger than this in our test cases---the purpose is that if you have bugs in your code that cause packet looping, you don't want the packets going around infinitely! Another student asked in private e-mail: }In my understanding about link state routing, each router will send out LS }message about its links to the other router, and the message will be }propagated to all the other router such that each router will know about the }whole network link state. But the TTL implies that this is not 100% true, }the LS message will be dropped after forwarded for a certain number of hops. }And the router far far away, say > 10 hops, will not know about my links }information. }... }...should I assume that all the router can be reached < 10 hops. And the }TTL field is to avoid the flooding going non-stop? Yes, you should assume that we will NOT have topologies where the TTL causes routing to be incomplete. The TTL is only there to catch bugs! -John Heidemann From aisshin at yahoo.com Tue Mar 16 10:26:11 2004 From: aisshin at yahoo.com (In-Seok Shin) Date: Tue Mar 16 10:26:26 2004 Subject: [Csci551-talk] how to feed configuration file Message-ID: <20040316182611.74118.qmail@web11402.mail.yahoo.com> I'm not clear about "It should then read configuration information from stdin" in Project description p.2 ll. 3-4. When you test a project, are you going to enter a configuration file with a project executable like "proja s1.in"? or do you expect the executable to ask you to enter the name of a configuration file? thanks, Inseok __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From amitpand at usc.edu Wed Mar 17 08:21:14 2004 From: amitpand at usc.edu (amit pande) Date: Wed Mar 17 08:30:22 2004 Subject: [Csci551-talk] setsockopt Message-ID: <157cde158658.158658157cde@usc.edu> Hi, I was trying to set the recvfrom buffer size using the setsockopt. I have used the command as shown below: But it always returns -1. new_size = 240*1024; int n = setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &new_size, sizeof(new_size)); I have been trying this on aludra. So is it I am making some mistake in the above call or its just that we dont have enough privileges on aludra to set the buffer size. Thanks, amit From johnh at ISI.EDU Wed Mar 17 09:10:39 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 17 09:13:25 2004 Subject: [Csci551-talk] setsockopt In-Reply-To: <157cde158658.158658157cde@usc.edu> Message-ID: <200403171710.i2HHAdHB014873@dash.isi.edu> On Wed, 17 Mar 2004 08:21:14 PST, amit pande wrote: >Hi, >I was trying to set the recvfrom buffer size using the setsockopt. >I have used the command as shown below: >But it always returns -1. > >new_size = 240*1024; >int n = setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &new_size, sizeof(new_size)); > >I have been trying this on aludra. So is it I am making some mistake in the >above call or its just that we dont have enough privileges on aludra to set >the buffer size. >Thanks, >amit A -1 return code indicates an error. Did you check the error code (in errno)? What did it say? Also, for the project, the system's default socket size should be sufficient. -John Heidemann From johnh at ISI.EDU Wed Mar 17 09:31:56 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 17 09:34:19 2004 Subject: [Csci551-talk] how to feed configuration file In-Reply-To: <20040316182611.74118.qmail@web11402.mail.yahoo.com> Message-ID: <200403171731.i2HHVurP015206@dash.isi.edu> On Tue, 16 Mar 2004 10:26:11 PST, In-Seok Shin wrote: >I'm not clear about "It should then read configuration >information from stdin" in Project description p.2 ll. >3-4. > >When you test a project, are you going to enter a >configuration file with a project executable like >"proja s1.in"? >or do you expect the executable to ask you to enter >the name of a configuration file? No, those approaches would be "reading from a file specified on the command line" and "reading from a file gotten from the user" :-) Neither would be consistent with the project specification. Reading from stdin means you should assume that we will arrange that stdin gets the config file. All your program needs to do is "fgets(buffer, BUFFER_LENGTH, stdin)" to read each line in C or cin.getline(buffer, BUFFER_LENGTH) in C++. How do we arrange where your program gets its input? In priciple we could type it in each time we run a program. But simpler method is to use the shell and file redirection, invoking YOURPROGRAM as ./YOURPROGRAM < inputfile (This works in the shell of Unix, DOS/Windows, and now even Mac OS X.) This approach has the advantage that you don't have to write code to handle getting the filename, or opening the file, or handling error conditions like if the file isn't there. And you can test simple things by typing in by hand if you want. And, broadening the issue, not hardcoding things like "reads from file" makes it easy to hook programs together in pipelines. This is fairly common practice in Unix, and it can be quite powerful. For example, make | grep -i error will extract the errors from a compilation, and make | grep -i error | uniq -c will count how many there are. -John Heidemann From mqin at usc.edu Wed Mar 17 17:45:28 2004 From: mqin at usc.edu (min) Date: Wed Mar 17 17:49:21 2004 Subject: [Csci551-talk] problem with the number of messages sent/received? Message-ID: <002101c40c8a$b0b468d0$28047e44@jimmy> Hi, dear all I have some problems with the number of messages sent/received. My message number is always half of the sample output/input when loss rate=0 For example, in test case 2, node 1 send 14 messages to reach the final state. however, my implementation only used 7 messages, including acks. here is what happened, test case 2 is the following topology: 1-2-3, which means 1connects to 2, and 2 connects to 3, and no connection between 1 and 3. for every node, if there is a change in its links, it will send a message. on receiving that message, the receiver will ack it. so for test case 2, node 1 will send 2 messages to node 2,(link=0, link=1). For node 2, it will send 3 messages to node 1,(link=0, link=1, link=2), and node 1 will ack all of them. Same thing, node 1 will ack 2 messages from 3. so the total message send by node 1 is 7, but sample test cases output say it is 14. Could anyone help me with this? samething happened for test case 4 Best Min -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040317/aea4f050/attachment.html From johnh at ISI.EDU Wed Mar 17 18:40:51 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 17 18:43:24 2004 Subject: [Csci551-talk] problem with the number of messages sent/received? In-Reply-To: <002101c40c8a$b0b468d0$28047e44@jimmy> Message-ID: <200403180240.i2I2eplq019173@dash.isi.edu> On Wed, 17 Mar 2004 17:45:28 PST, min wrote: >Hi, dear all > I have some problems with the number of messages sent/received. My message >number is always half of the sample output/input when loss rate=0 > For example, in test case 2, node 1 send 14 messages to reach the final >state. however, my implementation only used 7 messages, including acks. > > here is what happened, test case 2 is the following topology: 1-2-3, >which means 1connects to 2, and 2 connects to 3, and no connection between 1 >and 3. > for every node, if there is a change in its links, it will send a message. >on receiving that message, the receiver will ack it. > > so for test case 2, node 1 will send 2 messages to node 2,(link=0, link= >1). For node 2, it will send 3 messages to node 1,(link=0, link=1, link=2), >and node 1 will ack all of them. Same thing, node 1 will ack 2 messages from >3. > > so the total message send by node 1 is 7, but sample test cases output say >it is 14. > Could anyone help me with this? > > samething happened for test case 4 > >Best >Min > > You are not required to get exactly the same message counts as our implementation. However, we will look at message counts to make sure they're reasonable. -John Heidemann From johnh at ISI.EDU Thu Mar 18 09:48:31 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 18 09:49:24 2004 Subject: [Csci551-talk] where to run Project A processes Message-ID: <200403181748.i2IHmVfT032460@dash.isi.edu> ISD has asked me to ask all students to run their processes for Project A on nunki.usc.edu instead of aludra.usc.edu. Apparently they'd like to reserve aludra for interactive use. -John Heidemann From devarshi at ieee.org Thu Mar 18 10:30:25 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Thu Mar 18 10:31:35 2004 Subject: [Csci551-talk] A really wierd problem..!! Message-ID: Hi, I have my code running perfectly on my Linux box, but when trying to port it to Solaris, I've come up against something that has me stumped. Apparently, what happens is this - After I use an accept call at the Manager to accept a connection from a router, I do a recv on that call to read data that my client is going to send me. On the router side, it establishes a connection to the manager using connect. However, when I try to send data to the manager, the first process which tries to do this succeeds while the rest apparently crash while trying to send. The weirdest part is that this same code works perfectly in Linux. Anybody have any idea what could be going on ?? --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040318/20ecb6ed/attachment.html From ndesai at usc.edu Thu Mar 18 11:37:07 2004 From: ndesai at usc.edu (nirav desai) Date: Thu Mar 18 11:37:28 2004 Subject: [Csci551-talk] A really wierd problem..!! Message-ID: <4264ad425bdf.425bdf4264ad@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040318/9a3f6b2e/attachment.html From rshroff at usc.edu Thu Mar 18 12:50:28 2004 From: rshroff at usc.edu (rajesh shroff) Date: Thu Mar 18 12:51:33 2004 Subject: [Csci551-talk] A really wierd problem..!! Message-ID: <44990c44ef5f.44ef5f44990c@usc.edu> i was just thinking on the lines of LISTEN. what is the value that you are giving for the backlog parameter for LISTEN. That could be a potential cause of problem. There is a difference in the default value for this parameter in Linux and solaris. Besides, to move further, is it possible for you to capture the return values/ errorno set for the other processes which fail to connect. That might help. ----- Original Message ----- From: Devarshi Shah Date: Thursday, March 18, 2004 10:30 am Subject: [Csci551-talk] A really wierd problem..!! > Hi, > > > > I have my code running perfectly on my Linux box, but when trying to port it > to Solaris, I've come up against something that has me stumped. > > Apparently, what happens is this - > > After I use an accept call at the Manager to accept a connection from a > router, I do a recv on that call to read data that my client is going to > send me. > > On the router side, it establishes a connection to the manager using > connect. However, when I try to send data to the manager, the first process > which tries to do this succeeds while the rest apparently crash while trying > to send. The weirdest part is that this same code works perfectly in Linux. > > Anybody have any idea what could be going on ?? > > > > --Devarshi > > > > Devarshi P. Shah > > -------------------------------------------------------------- > > Graduate Student (Computer Science), > > University of Southern California, LA. > > -------------------------------------------------------------- > > Web : http://devarshi.shah.name > > email : devarshi@ieee.org > > Cell : 323-363-3791, Home :323-373-0318 > > -------------------------------------------------------------- > > > > > > From gvagarwa at usc.edu Thu Mar 18 16:16:04 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Thu Mar 18 16:16:29 2004 Subject: [Csci551-talk] Router ID Message-ID: <4dde884dfc42.4dfc424dde88@usc.edu> Hi I just wanted to clear one thing out. Router Id will be assigned by the manager when it accepts, and pid will be assigned at the time of forking. Is this correct? Also in s1.out does the UDP port nos assigned have to be in increasing order relative to the router id? For ex. Is the output below acceptable: 1 8006 10.1.0.0/16 56863 2 8007 10.2.0.0/16 56867 3 8008 192.168.123.0/24 56864 4 8009 192.168.101.0/24 56865 5 8010 192.168.200.128/25 56866 Thanks Gaurav From devarshi at ieee.org Thu Mar 18 16:29:07 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Thu Mar 18 16:29:26 2004 Subject: [Csci551-talk] A really wierd problem..!! In-Reply-To: <44990c44ef5f.44ef5f44990c@usc.edu> References: <44990c44ef5f.44ef5f44990c@usc.edu> Message-ID: <1079656147.5704.10.camel@maverick> On Thu, 2004-03-18 at 12:50, rajesh shroff wrote: > i was just thinking on the lines of LISTEN. > what is the value that you are giving for the backlog parameter for LISTEN. > That could be a potential cause of problem. > There is a difference in the default value for this parameter in Linux and > solaris. Since Listen does need a value for the backlog, the question of default does not come into picture.. (I guess.. or does it ??) Anyway, I finally managed to solve the problem and will continue to curse solaris for making me spend 2 days doing this !!! It was as simple as putting a small delay after forking and before initiating a connect request to the manager !!!!!! > Besides, to move further, is it possible for you to capture the return values/ > errorno set for the other processes which fail to connect. That might help. > > ----- Original Message ----- > From: Devarshi Shah > Date: Thursday, March 18, 2004 10:30 am > Subject: [Csci551-talk] A really wierd problem..!! > > > Hi, > > > > > > > > I have my code running perfectly on my Linux box, but when trying to port it > > to Solaris, I've come up against something that has me stumped. > > > > Apparently, what happens is this - > > > > After I use an accept call at the Manager to accept a connection from a > > router, I do a recv on that call to read data that my client is going to > > send me. > > > > On the router side, it establishes a connection to the manager using > > connect. However, when I try to send data to the manager, the first process > > which tries to do this succeeds while the rest apparently crash while trying > > to send. The weirdest part is that this same code works perfectly in Linux. > > > > Anybody have any idea what could be going on ?? > > > > > > > > --Devarshi > > > > > > > > Devarshi P. Shah > > > > -------------------------------------------------------------- > > > > Graduate Student (Computer Science), > > > > University of Southern California, LA. > > > > -------------------------------------------------------------- > > > > Web : http://devarshi.shah.name > > > > email : devarshi@ieee.org > > > > Cell : 323-363-3791, Home :323-373-0318 > > > > -------------------------------------------------------------- > > > > > > > > > > > > > From devarshi at ieee.org Thu Mar 18 16:24:47 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Thu Mar 18 16:39:27 2004 Subject: [Csci551-talk] Router ID In-Reply-To: <4dde884dfc42.4dfc424dde88@usc.edu> References: <4dde884dfc42.4dfc424dde88@usc.edu> Message-ID: <1079655887.5704.4.camel@maverick> On Thu, 2004-03-18 at 16:16, gaurav agarwal wrote: > Hi > > I just wanted to clear one thing out. Router Id will be assigned by the > manager when it accepts, and pid will be assigned at the time of forking. Is > this correct? Yes. Thats correct. > > Also in s1.out does the UDP port nos assigned have to be in increasing order > relative to the router id? > I dont think that you can control this assignment since you are letting the system decide what ports your routers will use and you cannot control the order in which your processes are scheduled. > For ex. > Is the output below acceptable: > > 1 8006 10.1.0.0/16 56863 > 2 8007 10.2.0.0/16 56867 > 3 8008 192.168.123.0/24 56864 > 4 8009 192.168.101.0/24 56865 > 5 8010 192.168.200.128/25 56866 > Yup - it should be provided that this is the correct mapping !! I mean the only way to get a correct mapping between process and router IDs is to have the router pass its process id to the manager when it connects to it. > Thanks > Gaurav > --Devarshi From salpekar at usc.edu Fri Mar 19 01:24:42 2004 From: salpekar at usc.edu (ajay salpekar) Date: Fri Mar 19 01:25:27 2004 Subject: [Csci551-talk] Are socket() return values supposed to be uniquely different, for processes? Message-ID: <5a28685a764d.5a764d5a2868@usc.edu> I came across this while debugging.. wonder if it's a mistake with my code, or if things really are this way... I found that every time a router-process is forked, the integer return value from the socket( , , ) function is the SAME! in my case, it gives me tempsock = 5, for every router. Aren't these integers supposed to be unique, in the system? or is it ok for them to be the same, because each process has its own memory space (the integers represent separate sockets in UNIX, so I doubt this) I ask because I think this may be why my routers have trouble receiving their config info, in the last stage1 step. From ndesai at usc.edu Fri Mar 19 02:47:39 2004 From: ndesai at usc.edu (nirav desai) Date: Fri Mar 19 02:48:26 2004 Subject: [Csci551-talk] Are socket() return values supposed to be uniquely different, for processes? Message-ID: <5b180f5b5d2b.5b5d2b5b180f@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040319/39edc058/attachment.html From myopenideas at yahoo.com Fri Mar 19 03:25:39 2004 From: myopenideas at yahoo.com (Nirav Jasapara) Date: Fri Mar 19 03:26:31 2004 Subject: [Csci551-talk] Are socket() return values supposed to be uniquely different, for processes? In-Reply-To: <5a28685a764d.5a764d5a2868@usc.edu> Message-ID: <20040319112539.9442.qmail@web41708.mail.yahoo.com> Hi, I faced the same problem. I think ( conclude ) file descriptors can be same across process but unique within a process. So getting a same return value from socket() in router processes shouldnt be a problem ( its the port numbers that should be unique ). -- Nirav Jasapara. --- ajay salpekar wrote: > I came across this while debugging.. wonder if it's > a mistake with my code, or > if things really are this way... > > I found that every time a router-process is forked, > the integer return value > from the socket( , , ) function is the SAME! > > in my case, it gives me tempsock = 5, for every > router. Aren't these integers > supposed to be unique, in the system? or is it ok > for them to be the same, > because each process has its own memory space (the > integers represent separate > sockets in UNIX, so I doubt this) > > > I ask because I think this may be why my routers > have trouble receiving their > config info, in the last stage1 step. > __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From myopenideas at yahoo.com Fri Mar 19 03:35:00 2004 From: myopenideas at yahoo.com (Nirav Jasapara) Date: Fri Mar 19 03:35:24 2004 Subject: [Csci551-talk] Bus Error. Message-ID: <20040319113500.82615.qmail@web41709.mail.yahoo.com> Hi, My code was working just fine and suddenly this 'Bus Error' poped up. It is encountered when the following function tries to return . <> void getnextline(char *temp){ int i=0; gets(temp); ... ... ... printf(" --------- %s --------- \n",temp); printf(" return\n"); return; } <> Anybody else got this kinda error ? Any solutions ? - Nirav. __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com From pillai at usc.edu Fri Mar 19 05:07:19 2004 From: pillai at usc.edu (sameer pillai) Date: Fri Mar 19 05:08:33 2004 Subject: [Csci551-talk] A really wierd problem..!! Message-ID: <5b2ed95b0e30.5b0e305b2ed9@usc.edu> Hi, I seem to be facing a similar problem. I have router processes which connect to the manager. But when the manager sends data to each of them, only some of the router processes receive the data and the program just hangs up. Funny thing is that this does not happen always and during most of the runs, all the router processes get the data and the program quits normally. Any ideas as to whats going on? Sameer ----- Original Message ----- From: Devarshi Shah Date: Thursday, March 18, 2004 10:30 am Subject: [Csci551-talk] A really wierd problem..!! > Hi, > > > > I have my code running perfectly on my Linux box, but when trying to port it > to Solaris, I've come up against something that has me stumped. > > Apparently, what happens is this - > > After I use an accept call at the Manager to accept a connection from a > router, I do a recv on that call to read data that my client is going to > send me. > > On the router side, it establishes a connection to the manager using > connect. However, when I try to send data to the manager, the first process > which tries to do this succeeds while the rest apparently crash while trying > to send. The weirdest part is that this same code works perfectly in Linux. > > Anybody have any idea what could be going on ?? > > > > --Devarshi > > > > Devarshi P. Shah > > -------------------------------------------------------------- > > Graduate Student (Computer Science), > > University of Southern California, LA. > > -------------------------------------------------------------- > > Web : http://devarshi.shah.name > > email : devarshi@ieee.org > > Cell : 323-363-3791, Home :323-373-0318 > > -------------------------------------------------------------- > > > > > > From gvagarwa at usc.edu Fri Mar 19 11:45:03 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Fri Mar 19 11:45:24 2004 Subject: [Csci551-talk] Neighbour UDP ports Message-ID: <64cf6164c839.64c83964cf61@usc.edu> Hi, Arent the routers supposed to provide the manager with their UDP ports through the TCP connection. How then can the UDP ports of the neighbours be forwarded in the same TCP connection? Is anyone passing the UDP ports of all the routers through global variables. And at what exact point are you sending the manager the UDP ports? Thanks Gaurav From devarshi at ieee.org Fri Mar 19 12:14:55 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Fri Mar 19 12:15:29 2004 Subject: [Csci551-talk] Neighbour UDP ports In-Reply-To: <66ba2266ae2d.66ae2d66ba22@usc.edu> Message-ID: <000301c40dee$d8916000$435b7d80@usc.edu> You could do it either way... it doesn't make any difference since you cant really start operating till you have the UDP port information !! -----Original Message----- From: gaurav agarwal [mailto:gvagarwa@usc.edu] Sent: Friday, March 19, 2004 12:10 PM To: Devarshi Shah Subject: Re: RE: [Csci551-talk] Neighbour UDP ports So I should send all the configuration information in the second phase? Or only the UPD port no of the neighbours? ----- Original Message ----- From: Devarshi Shah Date: Friday, March 19, 2004 11:54 am Subject: RE: [Csci551-talk] Neighbour UDP ports > Hi Gaurav, > > What you will have to do is a two phase communication with the manager. In > the first phase, once a router connects to the manager, it sends over its > UDP port, and in the second phase, the manager gets back to the router with > the UDP ports of its neighbours. How you implement the 2nd phase is up to > you though... you could either have the routers poll the manager > periodically to see if it has all the UDP ports of its neigbours.. or the > manager could, once it has received the ports of all nodes, get back to the > routers with that information. > > --Devarshi > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of gaurav agarwal > Sent: Friday, March 19, 2004 11:45 AM > To: csci551-talk@ISI.EDU > Subject: [Csci551-talk] Neighbour UDP ports > > Hi, > > Arent the routers supposed to provide the manager with their UDP ports > through > the TCP connection. How then can the UDP ports of the neighbours be > forwarded > in the same TCP connection? Is anyone passing the UDP ports of all the > routers through global variables. And at what exact point are you sending > the > manager the UDP ports? > > Thanks > Gaurav > > > From wakerly at usc.edu Fri Mar 19 12:15:47 2004 From: wakerly at usc.edu (michael wakerly) Date: Fri Mar 19 12:16:36 2004 Subject: [Csci551-talk] Neighbour UDP ports Message-ID: <66a8ed67042a.67042a66a8ed@usc.edu> Ah-ha! That's a quirk in the assignment. Because of the requirement that the routersdynamically assign their ports, the manager can't know them until they are reported back to the manager. (See the professor's response to my psuedocode a while back; the manager can't select the port before the fork, either.) So, the manager can't reply to any configuration requests until all nodes have reported their UDP ports. This seems a bit sloppy -- though it does give the router node the most flexibility in picking a port, I think in real life you'd justuse one well-known port for peer communication. Cheers, Mike From ndesai at usc.edu Fri Mar 19 16:48:27 2004 From: ndesai at usc.edu (nirav desai) Date: Fri Mar 19 16:49:26 2004 Subject: [Csci551-talk] Neighbour UDP ports Message-ID: <71001570d70b.70d70b710015@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040319/9a9f6d77/attachment.html From mike at wakerly.com Fri Mar 19 18:54:33 2004 From: mike at wakerly.com (mike wakerly) Date: Fri Mar 19 18:55:24 2004 Subject: [Csci551-talk] LS Message counts in samples Message-ID: Hi All, While obviously we are only to use the message counts in the testcases tarball as a guideline, I got a bit curious after looking at the message counts in s4-1.out: messages-sent 56 messages-received 56 Note that there is 0% packet loss in this example. The 'sent' number seems very high. Node 1 only has one link, and it sits at the end of the topology. So it would seem that, once it has announced that its sole link is up, it would have no more work to do. Unless this counter is counting ACKs as well (which is not believe is the specification), then why has it generated 56 LS advertisements? The only other explanation (and my suspicion) is that it is forwarding other LSAdverts /back/ on its only interface, ie, needlessly reflecting them. By contrast, my testrun got the following message counts on r1/r10: messages-sent 2 messages-received 25 ...and the same routing table at the end. Not to start a "best message count" thread (which, interestingly, _could_ have a 'right answer' for a given config assuming no packet loss)... but I'm just wondering if anyone else found this fishy (or if I've got something drastically wrong)! Cheers, Mike PS: sorry about the bad formatting of my last few messages to the list; was forced to use webmail and its creative line-wrapping.. From jayant.v.rao at usc.edu Fri Mar 19 19:59:41 2004 From: jayant.v.rao at usc.edu (Jayant V. Rao) Date: Fri Mar 19 20:00:27 2004 Subject: [Csci551-talk] LS Message counts in samples In-Reply-To: Message-ID: <200403200359.i2K3xwZ10867@vapor.isi.edu> Hello, I was wondering about the same thing, and what I'm guessing is that a link going up or down may not be a link to an immediate neighbor, but it might be a path to a node that wasn't on the list of paths before; meaning a newly discovered node on the network. I don't know how that affects the overall routing convergence. Doesn't this kind of make sense? - Jayant -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of mike wakerly Sent: Friday, March 19, 2004 6:55 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] LS Message counts in samples Hi All, While obviously we are only to use the message counts in the testcases tarball as a guideline, I got a bit curious after looking at the message counts in s4-1.out: messages-sent 56 messages-received 56 Note that there is 0% packet loss in this example. The 'sent' number seems very high. Node 1 only has one link, and it sits at the end of the topology. So it would seem that, once it has announced that its sole link is up, it would have no more work to do. Unless this counter is counting ACKs as well (which is not believe is the specification), then why has it generated 56 LS advertisements? The only other explanation (and my suspicion) is that it is forwarding other LSAdverts /back/ on its only interface, ie, needlessly reflecting them. By contrast, my testrun got the following message counts on r1/r10: messages-sent 2 messages-received 25 ...and the same routing table at the end. Not to start a "best message count" thread (which, interestingly, _could_ have a 'right answer' for a given config assuming no packet loss)... but I'm just wondering if anyone else found this fishy (or if I've got something drastically wrong)! Cheers, Mike PS: sorry about the bad formatting of my last few messages to the list; was forced to use webmail and its creative line-wrapping.. From svenkata at usc.edu Sat Mar 20 00:31:53 2004 From: svenkata at usc.edu (suresh venkataramani) Date: Sat Mar 20 00:32:24 2004 Subject: [Csci551-talk] LS Message counts in samples Message-ID: <78660d78935e.78935e78660d@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040320/1defa241/attachment.html From gvagarwa at usc.edu Sat Mar 20 04:29:45 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Sat Mar 20 04:30:31 2004 Subject: [Csci551-talk] UDP recvfrom Message-ID: <7a5e3e7a5bb1.7a5bb17a5e3e@usc.edu> Hi I was wondering, until what condition should the router loop until while receiving LSA packets from other routers. I am having a problem, that if I loop until more than the packets that are recvd, my processes dont exit and keep going. ( I think I unknowingly ran too many processes on nunki... oops ) Thanks, Gaurav From devarshi at ieee.org Sat Mar 20 11:08:34 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 20 11:09:26 2004 Subject: [Csci551-talk] LS Message counts in samples In-Reply-To: Message-ID: Hi Mike, We do need to count the ACKS and the number of forwarded messages in the total number of messages received and sent respectively by the router. I had this same question, which Dr. Heidemann clarified as under : >Ahh, and yes - does the number of packets sent include those that are >forwarded by the router, or only those which originate at that router ? >And does the packets received include the ACKs ? It says "A is the number of LS messages that router X sent". It does not say "originated", so I would not assume a more restrictive definition. The same applies to ACKs... don't assume a more restrictive definition than is given. Having said that, my implementation ends up sending 18 and receiving 154 messages for s4-1. -- Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of mike wakerly Sent: Friday, March 19, 2004 6:55 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] LS Message counts in samples Hi All, While obviously we are only to use the message counts in the testcases tarball as a guideline, I got a bit curious after looking at the message counts in s4-1.out: messages-sent 56 messages-received 56 Note that there is 0% packet loss in this example. The 'sent' number seems very high. Node 1 only has one link, and it sits at the end of the topology. So it would seem that, once it has announced that its sole link is up, it would have no more work to do. Unless this counter is counting ACKs as well (which is not believe is the specification), then why has it generated 56 LS advertisements? The only other explanation (and my suspicion) is that it is forwarding other LSAdverts /back/ on its only interface, ie, needlessly reflecting them. By contrast, my testrun got the following message counts on r1/r10: messages-sent 2 messages-received 25 ...and the same routing table at the end. Not to start a "best message count" thread (which, interestingly, _could_ have a 'right answer' for a given config assuming no packet loss)... but I'm just wondering if anyone else found this fishy (or if I've got something drastically wrong)! Cheers, Mike PS: sorry about the bad formatting of my last few messages to the list; was forced to use webmail and its creative line-wrapping.. From devarshi at ieee.org Sat Mar 20 11:14:58 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 20 11:15:31 2004 Subject: [Csci551-talk] A small query regarding the outputs Message-ID: Hi, As said in the project definition, we have the liberty to choose to integrate the external routes with those of the corresponding internal router, and henceforth consider those routes as the internal router's routes. I see that the sample outputs given do not do this. However, I am doing this, and my question was is it ok if those external routes appear as the internal routes of that particular router in the final routing table. Let me clarify with an example. For example, s4-1.out has this particular route in its routing table : 25 192.163.12.0/24 25 0 (med = 2) On the other hand, since I integrate this route with 1's routes, what I get is this : 1 192.163.12.0/14 1 0 (med = 2). My question is this : Is this acceptable ?? --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040320/b358bcb3/attachment-0001.html From mike at wakerly.com Sat Mar 20 12:03:47 2004 From: mike at wakerly.com (mike wakerly) Date: Sat Mar 20 12:04:36 2004 Subject: [Csci551-talk] A small query regarding the outputs In-Reply-To: References: Message-ID: Hi Devarshi, I noticed that the outputs do the following with external routes: - if is responsible for that external route, then print that external router's number as id (and nexthop) - otherwise, print the known internal router's number as id and use the appropriate nexthop to that router (as in your example below) So, I would say that your example for 192.163.12.0/14 below is acceptable for all routers /except/ router 1. On router 1, it should show 25. (I almost wrote an e-mail about this yesterday but after looking at the sample outputs and thinking about it, this was what is going on.) Cheers, Mike On Mar 20, 2004, at 11:14 AM, Devarshi Shah wrote: > For example, s4-1.out has this particular route in its routing table :? > > 25??????? 192.163.12.0/24? 25 0 (med = 2) > > On the other hand, since I integrate this route with 1?s routes, what > I get is this : > > 1???????? 192.163.12.0/14? 1 0 (med = 2). > > My question is this : Is this acceptable ?? From mike at wakerly.com Sat Mar 20 12:07:04 2004 From: mike at wakerly.com (mike wakerly) Date: Sat Mar 20 12:07:25 2004 Subject: [Csci551-talk] LS Message counts in samples In-Reply-To: References: Message-ID: <281D7AF9-7AAA-11D8-85DE-000A95A9BB90@wakerly.com> Hi Devarshi, Thanks for the info. While I agree that forwarded messages should be counted, I just can't read that ACKs should be as well. I'll live dangerously and print ACK totals separately, since if you were analyzing the project with no packet loss, you could assume #ACKs = #of LS Messages sent, and just double that number. Cheers, Mike On Mar 20, 2004, at 11:08 AM, Devarshi Shah wrote: > We do need to count the ACKS and the number of forwarded messages in > the > total number of messages received and sent respectively by the router. > I had > this same question, which Dr. Heidemann clarified as under : From salpekar at usc.edu Sat Mar 20 12:34:18 2004 From: salpekar at usc.edu (ajay salpekar) Date: Sat Mar 20 12:35:24 2004 Subject: [Csci551-talk] Must we marshal-unmarshal? Message-ID: <7ea9277e70d7.7e70d77ea927@usc.edu> Good Afternoon... urgent, low-level doubt: We've been given the format for the LSA update messages, in bytes, I presume. Now does this necessitate that we marshal-unmarshall these fields into and out of bytes, or can we just make a nice friendly structure and send that all over the place from router to router, as an update? Oh please let me know... From amitpand at usc.edu Sat Mar 20 12:38:42 2004 From: amitpand at usc.edu (amit pande) Date: Sat Mar 20 12:39:23 2004 Subject: [Csci551-talk] can we send the neighbour ip addresses to a router Message-ID: <7e2c7a7df333.7df3337e2c7a@usc.edu> hi, can we send the neighbour ip addresses from the manager to the router(when we are sending the udp port info)? since an ls_msg doesnt contain the senders ip address, a router has no way to know neighbours ip address, unless manager tells it? or i am missing some point? amit From devarshi at ieee.org Sat Mar 20 13:13:15 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 20 13:14:30 2004 Subject: [Csci551-talk] LS Message counts in samples In-Reply-To: <281D7AF9-7AAA-11D8-85DE-000A95A9BB90@wakerly.com> Message-ID: Hi Mike, Sorry if I caused some confusion.. but I just changed the implementation a bit to generate LSA updates only when the link state changes (previously I was doing it when the routing table changed..) and now my count is pretty much the same as yours..!! - atleast for s4-1.out -- __AND__ I am not counting the ACKs received or sent. --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: mike wakerly [mailto:mike@wakerly.com] Sent: Saturday, March 20, 2004 12:07 PM To: devarshi@ieee.org Cc: csci551-talk@ISI.EDU Subject: Re: [Csci551-talk] LS Message counts in samples Hi Devarshi, Thanks for the info. While I agree that forwarded messages should be counted, I just can't read that ACKs should be as well. I'll live dangerously and print ACK totals separately, since if you were analyzing the project with no packet loss, you could assume #ACKs = #of LS Messages sent, and just double that number. Cheers, Mike On Mar 20, 2004, at 11:08 AM, Devarshi Shah wrote: > We do need to count the ACKS and the number of forwarded messages in > the > total number of messages received and sent respectively by the router. > I had > this same question, which Dr. Heidemann clarified as under : From devarshi at ieee.org Sat Mar 20 13:22:45 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 20 13:23:28 2004 Subject: [Csci551-talk] can we send the neighbour ip addresses to a router In-Reply-To: <7e2c7a7df333.7df3337e2c7a@usc.edu> Message-ID: It should be ok...Atleast I hope it is :-) I am doing the very same thing !! --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of amit pande Sent: Saturday, March 20, 2004 12:39 PM To: csci551-talk@ISI.EDU; john@ISI.EDU Subject: [Csci551-talk] can we send the neighbour ip addresses to a router hi, can we send the neighbour ip addresses from the manager to the router(when we are sending the udp port info)? since an ls_msg doesnt contain the senders ip address, a router has no way to know neighbours ip address, unless manager tells it? or i am missing some point? amit From devarshi at ieee.org Sat Mar 20 14:33:22 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 20 14:34:26 2004 Subject: [Csci551-talk] RE: broken pipe In-Reply-To: <805d5f8033e5.8033e5805d5f@usc.edu> Message-ID: :-) Actually, in our case, the broken pipe error occurs if one end of the TCP socket closes connection(using disconnect) or gets killed and the other end tries to still write to it. An indication of a closed/terminated connection is a return value of 0 when you try to read from that socket using recv. After receiving such an error, if you try to still write to the socket, your process gets sent the SIGPIPE signal which kills it. What you should check for is whether such a thing is happening - i.e. is your manager or router terminating before the other one finishes writing to it. In my case, what was happening was that I forked the routers and then started the listening socket on the manager end. The routers, once forked, would instantly try to connect to the manager (which was still forking the other routers) - which was causing the trouble (don't know why)- and were ending up getting killed. What I did was to introduce a delay between forking and connecting at the router end, and that solved the problem for me... I guess it was an issue for me on nunki since that is a multiprocessor machine and so, as soon as I was forking the router process it was running on another processor.. and hence causing the difference in observed behaviour from my Linux box - which (unfortunately) is a uniprocessor machine !! --- that's my lame hypothesis. However, since adding that delay works for me... I dont care further :-) --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: rajesh shroff [mailto:rshroff@usc.edu] Sent: Saturday, March 20, 2004 2:19 PM To: devarshi@ieee.org Subject: broken pipe hey Devarshi, what happened of your broken pipe error. how did you get over that. actually i have got that error now. so please lemme know... rajesh ----- Original Message ----- From: Devarshi Shah Date: Sunday, February 29, 2004 7:35 pm Subject: [Csci551-talk] Porting from Linux to Solaris... > Hi, > > I just tried to move a portion of the project code which I have running > perfectly on Linux to Solaris (aludra), and for some wierd reason, upon > running the binary, got a runtime error saying "Broken Pipe". I wonder > if anyone has come across such an issue and knows where the > incompatibility may be ! > > -- Devarshi > > From vbahl at usc.edu Sat Mar 20 14:41:06 2004 From: vbahl at usc.edu (varun bahl) Date: Sat Mar 20 14:41:24 2004 Subject: [Csci551-talk] getsockname() not working?!?!?!? Message-ID: <80922580c41f.80c41f809225@usc.edu> guys, I cant figure out why getsockname() isnt working in my code. I call getsockname() at 3 places in my code. On 2 occasions it returns a -1 and only 1ce it actually returns a port. Anyone suggest what could be going wrong??? -Varun. From amitpand at usc.edu Sat Mar 20 16:00:49 2004 From: amitpand at usc.edu (amit pande) Date: Sat Mar 20 16:01:26 2004 Subject: [Csci551-talk] external routes Message-ID: <81aac6814aca.814aca81aac6@usc.edu> hi, while creating routing table for external routes do we do prefix-matching? as in can the input file contain entries such as: PeerRouter ExternalID Prefix Mask MED 1 11 80.0.0.0 8 5 2 12 80.0.0.0 16 5 if we do prefix-matching than routers which are closer to 2 will have 2 entries: one for 80/16 via 2 and another for 80/8 via 1. do we need to do this way? amit From johnh at ISI.EDU Sat Mar 20 17:04:43 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:05:24 2004 Subject: [Csci551-talk] Router ID In-Reply-To: <1079655887.5704.4.camel@maverick> Message-ID: <200403210104.i2L14ho4023863@dash.isi.edu> On Thu, 18 Mar 2004 16:24:47 PST, Devarshi Shah wrote: > >On Thu, 2004-03-18 at 16:16, gaurav agarwal wrote: >> Hi >> >> I just wanted to clear one thing out. Router Id will be assigned by the >> manager when it accepts, and pid will be assigned at the time of forking. Is >> this correct? > >Yes. Thats correct. > >> >> Also in s1.out does the UDP port nos assigned have to be in increasing order >> relative to the router id? >> > >I dont think that you can control this assignment since you are letting >the system decide what ports your routers will use and you cannot >control the order in which your processes are scheduled. Correct, you cannot guarantee port assignments. -John Heidemann > >> For ex. >> Is the output below acceptable: >> >> 1 8006 10.1.0.0/16 56863 >> 2 8007 10.2.0.0/16 56867 >> 3 8008 192.168.123.0/24 56864 >> 4 8009 192.168.101.0/24 56865 >> 5 8010 192.168.200.128/25 56866 >> > >Yup - it should be provided that this is the correct mapping !! I mean >the only way to get a correct mapping between process and router IDs is >to have the router pass its process id to the manager when it connects >to it. > >> Thanks >> Gaurav >> > >--Devarshi From johnh at ISI.EDU Sat Mar 20 17:07:07 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:07:27 2004 Subject: [Csci551-talk] Neighbour UDP ports In-Reply-To: <66a8ed67042a.67042a66a8ed@usc.edu> Message-ID: <200403210107.i2L177wT023915@dash.isi.edu> On Fri, 19 Mar 2004 12:15:47 PST, michael wakerly wrote: >Ah-ha! That's a quirk in the assignment. Because of the requirement that the >routersdynamically assign their ports, the manager can't know them until they >are reported >back to the manager. (See the professor's response to my psuedocode a while >back; the manager can't select the port before the fork, either.) > >So, the manager can't reply to any configuration requests until all nodes have >reported their UDP ports. This seems a bit sloppy -- though it does give the >router node the most flexibility in picking a port, I think in real life you'd >justuse one well-known port for peer communication. > >Cheers, >Mike Perhaps, but in real life you'd also have per-node config files and MANY other complications. -John Heidemann From johnh at ISI.EDU Sat Mar 20 17:12:16 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:13:23 2004 Subject: [Csci551-talk] LS Message counts in samples In-Reply-To: <281D7AF9-7AAA-11D8-85DE-000A95A9BB90@wakerly.com> Message-ID: <200403210112.i2L1CGpV024028@dash.isi.edu> On Sat, 20 Mar 2004 12:07:04 PST, mike wakerly wrote: >Hi Devarshi, > >Thanks for the info. While I agree that forwarded messages should be >counted, I just can't read that ACKs should be as well. I'll live >dangerously and print ACK totals separately, since if you were >analyzing the project with no packet loss, you could assume #ACKs = #of >LS Messages sent, and just double that number. > >Cheers, >Mike > >On Mar 20, 2004, at 11:08 AM, Devarshi Shah wrote: >> We do need to count the ACKS and the number of forwarded messages in >> the >> total number of messages received and sent respectively by the router. >> I had >> this same question, which Dr. Heidemann clarified as under : Devarshi Shah's follow-up was correct. I previously wrote: }It says "A is the number of LS messages that router X sent". }It does not say "originated", so I would not assume a more restrictive }definition. The same applies to ACKs... don't assume a more restrictive }definition than is given. "messages" are ALL messages, LS announcements, ACKs, and anything else sent between the routers. -John Heidemann From johnh at ISI.EDU Sat Mar 20 17:16:56 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:17:23 2004 Subject: [Csci551-talk] proja linking on Solaris Message-ID: <200403210116.i2L1GutG024086@dash.isi.edu> A student asked: > Another very wierd thing is I couldn't compile the short program I just >mentioned above on nunki nor aludra! It compiles under cygwin! (And the >included header files are copied from a previous program I wrote which ran on >aludra. ) The error is as follows: >------------------------------------------------------------------------------ >"Undefined first referenced > symbol in file >getsockname /var/tmp/ccDvnDwL.o >inet_aton /var/tmp/ccDvnDwL.o >bind /var/tmp/ccDvnDwL.o >socket /var/tmp/ccDvnDwL.o >ld: fatal: Symbol referencing errors. No output written to gt >collect2: ld returned 1 exit status" >------------------------------------------------------------------------------ > How come these symbols are undifined?? On Solaris you need to link with -lnsl and -lsocket to get these functions. -John Heidemann From johnh at ISI.EDU Sat Mar 20 17:18:47 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:19:24 2004 Subject: [Csci551-talk] UDP recvfrom In-Reply-To: <7a5e3e7a5bb1.7a5bb17a5e3e@usc.edu> Message-ID: <200403210118.i2L1IlS9024108@dash.isi.edu> On Sat, 20 Mar 2004 04:29:45 PST, gaurav agarwal wrote: >Hi > >I was wondering, until what condition should the router loop until while >receiving LSA packets from other routers. I am having a problem, that if I >loop until more than the packets that are recvd, my processes dont exit and >keep going. ( I think I unknowingly ran too many processes on nunki... oops ) > >Thanks, >Gaurav The project assignment says: You should figure out a way to determine when the routing exchange has converged. This can be as simple as waiting for several seconds. and later that you should document what you do in the README file. -John Heidemann From johnh at ISI.EDU Sat Mar 20 17:20:47 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:21:22 2004 Subject: [Csci551-talk] Re: Must we marshal-unmarshal? In-Reply-To: <7ea9277e70d7.7e70d77ea927@usc.edu> Message-ID: <200403210120.i2L1KmwU024131@dash.isi.edu> On Sat, 20 Mar 2004 12:34:18 PST, ajay salpekar wrote: >Good Afternoon... urgent, low-level doubt: > >We've been given the format for the LSA update messages, in bytes, I presume. >Now does this necessitate that we marshal-unmarshall these fields into and out >of bytes, or can we just make a nice friendly structure and send that all over >the place from router to router, as an update? > >Oh please let me know... I think you'll find that to get the correct format, yes, you must marshal and unmarshall. Compilers will insert padding around byte-width fields (as they should, for efficient operation) that make a simple structure insufficient. -John Heidemann From johnh at ISI.EDU Sat Mar 20 17:22:49 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:23:23 2004 Subject: [Csci551-talk] can we send the neighbour ip addresses to a router In-Reply-To: <7e2c7a7df333.7df3337e2c7a@usc.edu> Message-ID: <200403210122.i2L1MnhU024185@dash.isi.edu> On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: >hi, >can we send the neighbour ip addresses from the manager to the router(when we >are sending the udp port info)? >since an ls_msg doesnt contain the senders ip address, a router has no way to >know neighbours ip address, unless manager tells it? or i am missing some point? >amit If you do extend the information you send, you need to document what you do and why in the README file. BUT... why do you need to send neighbor IP addresses? Can't you discover that info in the first LS announcement you hear from them? -John Heidemann From johnh at ISI.EDU Sat Mar 20 17:24:13 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 17:25:23 2004 Subject: [Csci551-talk] Neighbour UDP ports In-Reply-To: <64cf6164c839.64c83964cf61@usc.edu> Message-ID: <200403210124.i2L1ODaV024206@dash.isi.edu> On Fri, 19 Mar 2004 11:45:03 PST, gaurav agarwal wrote: >Hi, > >Arent the routers supposed to provide the manager with their UDP ports through >the TCP connection. How then can the UDP ports of the neighbours be forwarded >in the same TCP connection? Is anyone passing the UDP ports of all the >routers through global variables. And at what exact point are you sending the >manager the UDP ports? This was discussed previously on the list. You might want to go to the list archives about "port-passing problems". -John Heidemann From amitpand at usc.edu Sat Mar 20 18:08:17 2004 From: amitpand at usc.edu (amit pande) Date: Sat Mar 20 18:08:23 2004 Subject: [Csci551-talk] can we send the neighbour ip addresses to a router Message-ID: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> hi, > BUT... why do you need to send neighbor IP addresses? Can't you > discover that info in the first LS announcement you hear from them? > > -John Heidemann the router cannot figure out the ip address from the ls announcement, since we dontput the senders ip address in the ls message (only the sender router id is there).if we were to put the senders ip address in the ls message, than ya sure we could figure out the ip address. amit ----- Original Message ----- From: John Heidemann Date: Saturday, March 20, 2004 5:22 pm Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to a router > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > >hi, > >can we send the neighbour ip addresses from the manager to the > router(when we > >are sending the udp port info)? > >since an ls_msg doesnt contain the senders ip address, a router has no > way to > >know neighbours ip address, unless manager tells it? or i am missing some > point?>amit > > If you do extend the information you send, you need to document what > you do and why in the README file. > > BUT... why do you need to send neighbor IP addresses? Can't you > discover that info in the first LS announcement you hear from them? > > -John Heidemann > From mike at wakerly.com Sat Mar 20 19:09:06 2004 From: mike at wakerly.com (mike wakerly) Date: Sat Mar 20 19:09:24 2004 Subject: [Csci551-talk] can we send the neighbour ip addresses to a router In-Reply-To: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> References: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> Message-ID: <1D594D9E-7AE5-11D8-B21B-000A95A9BB90@wakerly.com> On Mar 20, 2004, at 6:08 PM, amit pande wrote: > the router cannot figure out the ip address from the ls announcement, > since we > dontput the senders ip address in the ls message (only the sender > router id is > there).if we were to put the senders ip address in the ls message, > than ya > sure we could figure out the ip address. For this assignment, all routers are on the same host, so you can probably make a good guess at where to reach any router.. Cheers, Mike From johnh at ISI.EDU Sat Mar 20 20:25:39 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 20 20:26:26 2004 Subject: [Csci551-talk] can we send the neighbour ip addresses to a router In-Reply-To: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> Message-ID: <200403210425.i2L4PeZA025809@dash.isi.edu> On Sat, 20 Mar 2004 18:08:17 PST, amit pande wrote: >hi, >> BUT... why do you need to send neighbor IP addresses? Can't you >> discover that info in the first LS announcement you hear from them? >> >> -John Heidemann > >the router cannot figure out the ip address from the ls announcement, since we >dontput the senders ip address in the ls message (only the sender router id is >there).if we were to put the senders ip address in the ls message, than ya >sure we could figure out the ip address. What IP address do you mean? If you mean the address mask of the address space that router handles, than this should definitely be in the LS announcement. If you mean the IP address that goes along with the port that the router be listening to exchange messages with other routers, than the assignment assumes all processes are on the same machine. Thus, whatever means you use to pick the IP address you bind to can be done by all processes (routers and manager). They don't need to explicitly swap that IP address. In addition, you CAN tell the senders IP address even if it's not in the message data. See the recvfrom man page for details. If you choose to swap that IP address, as I said, please not that in your README file along with why. -John Heidemann From bshukla at usc.edu Sat Mar 20 21:47:22 2004 From: bshukla at usc.edu (bhavin shukla) Date: Sat Mar 20 21:47:25 2004 Subject: [Csci551-talk] LSA packet structure Message-ID: <868b6e8681d9.8681d9868b6e@usc.edu> hi, CAn some on please explain the meaning of the the following fields in the lsa packet structure: 1. no. of responsible routes 2. no. of links 3. address of route thanks bhavin From shalia at usc.edu Sat Mar 20 22:50:40 2004 From: shalia at usc.edu (milind shalia) Date: Sat Mar 20 22:51:23 2004 Subject: [Csci551-talk] Broken Pipe with UDP communication Message-ID: <870a1e8715bc.8715bc870a1e@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040320/4b2b81c8/attachment.html From poojapat at usc.edu Sat Mar 20 23:23:21 2004 From: poojapat at usc.edu (pooja patel) Date: Sat Mar 20 23:24:24 2004 Subject: [Csci551-talk] Doubt regarding the ACK packet format Message-ID: <87b236879268.87926887b236@usc.edu> An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040320/f4fe893b/attachment-0001.html From stambe at usc.edu Sun Mar 21 01:45:46 2004 From: stambe at usc.edu (swara tambe) Date: Sun Mar 21 01:46:23 2004 Subject: [Csci551-talk] problem with running code on solaris Message-ID: <893cd7893df3.893df3893cd7@usc.edu> Hi all, I'm facing a problem with running my code on Solaris and hopefully someone will be able to give me some insight into this. My code runs fine on Linux for stage 1. Each of the router processes get assigned unique UDP ports. However, when I run the same code on Solaris, all processes seem to be getting UDP port=0. The same thing is happening with the TCP ports they get assigned for communicating with the manager. Does anyone have any idea on what might be causing this? Thanks. Swara From pilani at usc.edu Sun Mar 21 03:44:31 2004 From: pilani at usc.edu (rahul pilani) Date: Sun Mar 21 03:44:34 2004 Subject: [Csci551-talk] Re: Csci551-talk Digest, Vol 3, Issue 17 Message-ID: <895d3888ef53.88ef53895d38@usc.edu> regarding the marshalling thing.. as far as I know.. marshalling and unmarshalling is used in RPCs to change the endianness of the byte format for machine independent compatibility.. and I tried to search .. but couldnt find anything on it in C++.. and since we are using the same machine (nunki).. is it really necessary?? please enlighten.. Rahul ----- Original Message ----- From: csci551-talk-request@mailman.isi.edu Date: Saturday, March 20, 2004 11:24 pm Subject: Csci551-talk Digest, Vol 3, Issue 17 > Send Csci551-talk mailing list submissions to > csci551-talk@mailman.isi.edu > > To subscribe or unsubscribe via the World Wide Web, visit > http://mailman.isi.edu/mailman/listinfo/csci551-talk > or, via email, send a message with subject or body 'help' to > csci551-talk-request@mailman.isi.edu > > You can reach the person managing the list at > csci551-talk-owner@mailman.isi.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Csci551-talk digest..." > > > Today's Topics: > > 1. Re: LS Message counts in samples (John Heidemann) > 2. proja linking on Solaris (John Heidemann) > 3. Re: UDP recvfrom (John Heidemann) > 4. Re: Must we marshal-unmarshal? (John Heidemann) > 5. Re: can we send the neighbour ip addresses to a router > (John Heidemann) > 6. Re: Neighbour UDP ports (John Heidemann) > 7. Re: can we send the neighbour ip addresses to a router > (amit pande) > 8. Re: can we send the neighbour ip addresses to a router > (mike wakerly) > 9. Re: can we send the neighbour ip addresses to a router > (John Heidemann) > 10. LSA packet structure (bhavin shukla) > 11. Broken Pipe with UDP communication (milind shalia) > 12. Doubt regarding the ACK packet format (pooja patel) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 20 Mar 2004 17:12:16 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] LS Message counts in samples > To: mike wakerly > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210112.i2L1CGpV024028@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 12:07:04 PST, mike wakerly wrote: > >Hi Devarshi, > > > >Thanks for the info. While I agree that forwarded messages should be > >counted, I just can't read that ACKs should be as well. I'll live > >dangerously and print ACK totals separately, since if you were > >analyzing the project with no packet loss, you could assume #ACKs = #of > >LS Messages sent, and just double that number. > > > >Cheers, > >Mike > > > >On Mar 20, 2004, at 11:08 AM, Devarshi Shah wrote: > >> We do need to count the ACKS and the number of forwarded messages in > >> the > >> total number of messages received and sent respectively by the router. > >> I had > >> this same question, which Dr. Heidemann clarified as under : > > Devarshi Shah's follow-up was correct. > > I previously wrote: > }It says "A is the number of LS messages that router X sent". > }It does not say "originated", so I would not assume a more restrictive > }definition. The same applies to ACKs... don't assume a more restrictive > }definition than is given. > > "messages" are ALL messages, LS announcements, ACKs, and anything else > sent between the routers. > > -John Heidemann > > > ------------------------------ > > Message: 2 > Date: Sat, 20 Mar 2004 17:16:56 -0800 > From: John Heidemann > Subject: [Csci551-talk] proja linking on Solaris > To: csci551-talk@ISI.EDU > Message-ID: <200403210116.i2L1GutG024086@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > > A student asked: > > > Another very wierd thing is I couldn't compile the short program I just > >mentioned above on nunki nor aludra! It compiles under cygwin! (And the > >included header files are copied from a previous program I wrote which > ran on > >aludra. ) The error is as follows: > >-------------------------------------------------------------------------- > ---- > >"Undefined first referenced > > symbol in file > >getsockname /var/tmp/ccDvnDwL.o > >inet_aton /var/tmp/ccDvnDwL.o > >bind /var/tmp/ccDvnDwL.o > >socket /var/tmp/ccDvnDwL.o > >ld: fatal: Symbol referencing errors. No output written to gt > >collect2: ld returned 1 exit status" > >-------------------------------------------------------------------------- > ---- > > How come these symbols are undifined?? > > On Solaris you need to link with -lnsl and -lsocket to get these > functions. > > -John Heidemann > > > ------------------------------ > > Message: 3 > Date: Sat, 20 Mar 2004 17:18:47 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] UDP recvfrom > To: gaurav agarwal > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210118.i2L1IlS9024108@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 04:29:45 PST, gaurav agarwal wrote: > >Hi > > > >I was wondering, until what condition should the router loop until while > >receiving LSA packets from other routers. I am having a problem, that if > I > >loop until more than the packets that are recvd, my processes dont exit > and > >keep going. ( I think I unknowingly ran too many processes on nunki... > oops ) > > > >Thanks, > >Gaurav > > The project assignment says: > > You should figure out a way to determine when the routing exchange > has converged. This can be as simple as waiting for several seconds. > > and later that you should document what you do in the README file. > > -John Heidemann > > > > ------------------------------ > > Message: 4 > Date: Sat, 20 Mar 2004 17:20:47 -0800 > From: John Heidemann > Subject: [Csci551-talk] Re: Must we marshal-unmarshal? > To: ajay salpekar > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210120.i2L1KmwU024131@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 12:34:18 PST, ajay salpekar wrote: > >Good Afternoon... urgent, low-level doubt: > > > >We've been given the format for the LSA update messages, in bytes, I > presume. > >Now does this necessitate that we marshal-unmarshall these fields into > and out > >of bytes, or can we just make a nice friendly structure and send that all > over > >the place from router to router, as an update? > > > >Oh please let me know... > > I think you'll find that to get the correct format, yes, you must > marshal and unmarshall. > > Compilers will insert padding around byte-width fields (as they > should, for efficient operation) that make a simple structure > insufficient. > > -John Heidemann > > > ------------------------------ > > Message: 5 > Date: Sat, 20 Mar 2004 17:22:49 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: amit pande > Cc: john@ISI.EDU, csci551-talk@ISI.EDU > Message-ID: <200403210122.i2L1MnhU024185@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > >hi, > >can we send the neighbour ip addresses from the manager to the > router(when we > >are sending the udp port info)? > >since an ls_msg doesnt contain the senders ip address, a router has no > way to > >know neighbours ip address, unless manager tells it? or i am missing some > point?>amit > > If you do extend the information you send, you need to document what > you do and why in the README file. > > BUT... why do you need to send neighbor IP addresses? Can't you > discover that info in the first LS announcement you hear from them? > > -John Heidemann > > > ------------------------------ > > Message: 6 > Date: Sat, 20 Mar 2004 17:24:13 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] Neighbour UDP ports > To: gaurav agarwal > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210124.i2L1ODaV024206@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Fri, 19 Mar 2004 11:45:03 PST, gaurav agarwal wrote: > >Hi, > > > >Arent the routers supposed to provide the manager with their UDP ports > through > >the TCP connection. How then can the UDP ports of the neighbours be > forwarded > >in the same TCP connection? Is anyone passing the UDP ports of all the > >routers through global variables. And at what exact point are you > sending the > >manager the UDP ports? > > This was discussed previously on the list. You might want to go to > the list archives about "port-passing problems". > > -John Heidemann > > > > ------------------------------ > > Message: 7 > Date: Sat, 20 Mar 2004 18:08:17 -0800 > From: amit pande > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: John Heidemann , csci551-talk@ISI.EDU > Message-ID: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> > Content-Type: text/plain; charset=us-ascii > > hi, > > BUT... why do you need to send neighbor IP addresses? Can't you > > discover that info in the first LS announcement you hear from them? > > > > -John Heidemann > > the router cannot figure out the ip address from the ls announcement, > since we > dontput the senders ip address in the ls message (only the sender router > id is > there).if we were to put the senders ip address in the ls message, than ya > sure we could figure out the ip address. > amit > > ----- Original Message ----- > From: John Heidemann > Date: Saturday, March 20, 2004 5:22 pm > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to a router > > > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > > >hi, > > >can we send the neighbour ip addresses from the manager to the > > router(when we > > >are sending the udp port info)? > > >since an ls_msg doesnt contain the senders ip address, a router has no > > way to > > >know neighbours ip address, unless manager tells it? or i am missing > some > > point?>amit > > > > If you do extend the information you send, you need to document what > > you do and why in the README file. > > > > BUT... why do you need to send neighbor IP addresses? Can't you > > discover that info in the first LS announcement you hear from them? > > > > -John Heidemann > > > > > > ------------------------------ > > Message: 8 > Date: Sat, 20 Mar 2004 19:09:06 -0800 > From: mike wakerly > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: amit pande > Cc: csci551-talk@ISI.EDU > Message-ID: <1D594D9E-7AE5-11D8-B21B-000A95A9BB90@wakerly.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > On Mar 20, 2004, at 6:08 PM, amit pande wrote: > > the router cannot figure out the ip address from the ls announcement, > > since we > > dontput the senders ip address in the ls message (only the sender > > router id is > > there).if we were to put the senders ip address in the ls message, > > than ya > > sure we could figure out the ip address. > > For this assignment, all routers are on the same host, so you can > probably make a good guess at where to reach any router.. > > Cheers, > Mike > > > > ------------------------------ > > Message: 9 > Date: Sat, 20 Mar 2004 20:25:39 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: amit pande > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210425.i2L4PeZA025809@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 18:08:17 PST, amit pande wrote: > >hi, > >> BUT... why do you need to send neighbor IP addresses? Can't you > >> discover that info in the first LS announcement you hear from them? > >> > >> -John Heidemann > > > >the router cannot figure out the ip address from the ls announcement, > since we > >dontput the senders ip address in the ls message (only the sender router > id is > >there).if we were to put the senders ip address in the ls message, than > ya > >sure we could figure out the ip address. > > What IP address do you mean? > > If you mean the address mask of the address space that router handles, > than this should definitely be in the LS announcement. > > If you mean the IP address that goes along with the port that the > router be listening to exchange messages with other routers, than the > assignment assumes all processes are on the same machine. Thus, > whatever means you use to pick the IP address you bind to can be done > by all processes (routers and manager). They don't need to explicitly > swap that IP address. > > In addition, you CAN tell the senders IP address even if it's not in > the message data. See the recvfrom man page for details. > > If you choose to swap that IP address, as I said, please not that in > your README file along with why. > > -John Heidemann > > > ------------------------------ > > Message: 10 > Date: Sat, 20 Mar 2004 21:47:22 -0800 > From: bhavin shukla > Subject: [Csci551-talk] LSA packet structure > To: csci551-talk@mailman.isi.edu > Message-ID: <868b6e8681d9.8681d9868b6e@usc.edu> > Content-Type: text/plain; charset=us-ascii > > hi, > CAn some on please explain the meaning of the the following fields in the > lsa > packet structure: > 1. no. of responsible routes > 2. no. of links > 3. address of route > > thanks > bhavin > > > > ------------------------------ > > Message: 11 > Date: Sat, 20 Mar 2004 22:50:40 -0800 > From: milind shalia > Subject: [Csci551-talk] Broken Pipe with UDP communication > To: Csci551-talk@ISI.EDU > Message-ID: <870a1e8715bc.8715bc870a1e@usc.edu> > Content-Type: text/plain; charset="us-ascii" > > An HTML attachment was scrubbed... > URL: http://gamma.isi.edu/pipermail/csci551- > talk/attachments/20040320/4b2b81c8/attachment-0001.html > > ------------------------------ > > Message: 12 > Date: Sat, 20 Mar 2004 23:23:21 -0800 > From: pooja patel > Subject: [Csci551-talk] Doubt regarding the ACK packet format > To: csci551-talk@ISI.EDU > Message-ID: <87b236879268.87926887b236@usc.edu> > Content-Type: text/plain; charset="us-ascii" > > An HTML attachment was scrubbed... > URL: http://gamma.isi.edu/pipermail/csci551- > talk/attachments/20040320/f4fe893b/attachment.html > ------------------------------ > > _______________________________________________ > Csci551-talk mailing list > Csci551-talk@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci551-talk > > > End of Csci551-talk Digest, Vol 3, Issue 17 > ******************************************* > From amitpand at usc.edu Sun Mar 21 06:57:39 2004 From: amitpand at usc.edu (amit pande) Date: Sun Mar 21 06:58:32 2004 Subject: [Csci551-talk] Prioritization of routes Message-ID: <8964e9897bc9.897bc98964e9@usc.edu> hi, for Prioritization of routes i have a doubt about what last-hop means: ex: 1-2-3-4-5 packets which are sent from 1 to 5 have next-hop as 2(the hop just after source) and last-hop as 4(the hop just before destination). so for prioritization do we take the last-hop as defined above or next-hop which could be thought as last-hop from incoming packets point of view(whose destination is 1).while creating a routing table entry at 1 for 5. thanks, amit From svenkata at usc.edu Sun Mar 21 08:47:18 2004 From: svenkata at usc.edu (suresh venkataramani) Date: Sun Mar 21 08:47:23 2004 Subject: [Csci551-talk] Doubt regarding the ACK packet format[Csci551-talk] Doubt regarding the ACK packet format Message-ID: <89f19589e7fa.89e7fa89f195@usc.edu> For sake of efficiency I think we can use a much shorter Ack packet. Also as long as we are marshalling /unmarshalling we can convert things into an Ascii string before sending and unmarshall at the other end. From amitpand at usc.edu Sun Mar 21 10:52:17 2004 From: amitpand at usc.edu (amit pande) Date: Sun Mar 21 10:52:25 2004 Subject: [Csci551-talk] number of packets sent and received Message-ID: <8bc9c98b6fd6.8b6fd68bc9c9@usc.edu> hi, due to certain optimization to prevent packets from moving in loops or unnecessary forwarding of packets the sent and received count can be further reduced.the new count value is now of by more than 10-15 packets in some cases from the sample output, so is that ok? prof has mentioned in one of the emails - count should be reasonable, so even if it is different by more than 10-15 is it acceptable? amit From amitpand at usc.edu Sun Mar 21 10:54:12 2004 From: amitpand at usc.edu (amit pande) Date: Sun Mar 21 10:54:31 2004 Subject: [Csci551-talk] Prioritization of routes Message-ID: <8bbf5b8b8d63.8b8d638bbf5b@usc.edu> hi, for Prioritization of routes i have a doubt about what last-hop means: ex: 1-2-3-4-5 packets which are sent from 1 to 5 have next-hop as 2(the hop just after source) and last-hop as 4(the hop just before destination). so for prioritization do we take the last-hop as defined above or next-hop which could be thought as last-hop from incoming packets point of view(whose destination is 1).while creating a routing table entry at 1 for 5. thanks, amit From liyuan at pollux.usc.edu Sun Mar 21 12:28:34 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sun Mar 21 12:29:25 2004 Subject: [Csci551-talk] Doubt regarding the ACK packet format In-Reply-To: <87b236879268.87926887b236@usc.edu> Message-ID: Either way is OK. You can use the LS message format or define a new ACK message format. Thanks Yuan On Sat, 20 Mar 2004, pooja patel wrote: > > Hi Everyone, > > 1) > > In Link State routing the first packet the origin router sends is a hello packet to its neigbours and the neighbours > send an ACK back to the origin router..Do we have to use a separate ACK format or are we supposed to use the LS > format and pad the uneccessary fields? > > > > Patel Pooja. > > > From amitpand at usc.edu Sun Mar 21 14:49:13 2004 From: amitpand at usc.edu (amit pande) Date: Sun Mar 21 14:49:25 2004 Subject: [Csci551-talk] output for stage 4 Message-ID: <91c6b891addc.91addc91c6b8@usc.edu> hi, do we need to sort the output according to med values for stage 4 ? thanks, amit From liyuan at pollux.usc.edu Sun Mar 21 18:20:31 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sun Mar 21 18:21:24 2004 Subject: [Csci551-talk] Office hour change Message-ID: Dear Class, I need to change my office hour tomorrow. I will hold office hour from 8:00am - 9:30am on March 22 at SAL 229. Thanks Yuan From stambe at usc.edu Sun Mar 21 20:46:10 2004 From: stambe at usc.edu (swara tambe) Date: Sun Mar 21 20:46:25 2004 Subject: [Csci551-talk] LS message Message-ID: <9be55a9c1985.9c19859be55a@usc.edu> Hi all, Shouldn't the LS message contain a distance field which contains the distance to each neighbour, since this information is needed for calculating the shortest path using Dijkstra's algorithm? Or do we assume that the distance to each neighbour is always 1. Thanks. Swara From wpun at usc.edu Sun Mar 21 23:17:50 2004 From: wpun at usc.edu (Raymond Pun) Date: Sun Mar 21 23:19:25 2004 Subject: [Csci551-talk] Why have to use select? Message-ID: <02ac01c40fdd$cbbd5af0$a701a8c0@raymond> Hi, I have a doubt here. Why we have to use select()? Every router opens a port, the router can use this port to send and recevie message from all the other routers. So, the router only need to listen to 1 port. Every packet send out can use this port, every ack and link state msg can receive from this port. Then why we need to use select? Please advcie. Many thanks. regards, Raymond From gvagarwa at usc.edu Sun Mar 21 23:53:49 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Sun Mar 21 23:54:24 2004 Subject: [Csci551-talk] Output for Stage 2 Message-ID: HI What do you mean by the following in the description: "This file should contain the complete routing table of the corresponding router for each step in the evolution of the routing table" What does each step in the evolution mean. When all are we supposed to print to the s2-X.out file? Is it only at the time the link-state changes and a LSA new packet is sent? Or is it every time a packet (not obsolete or duplicate) is received? Thanks, Gaurav From liyuan at pollux.usc.edu Mon Mar 22 09:39:00 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 09:40:53 2004 Subject: [Csci551-talk] slip day request procedure In-Reply-To: Message-ID: Send an email to liyuan@pollux.usc.edu with the following subject line: CSCI551 ProjA Slip Day Request You do not need to put any text in the body. And I will ignore all the requests that does not follow this guideline. Thanks Yuan Li From liyuan at pollux.usc.edu Mon Mar 22 09:45:33 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 09:46:58 2004 Subject: [Csci551-talk] Slip day clarification Message-ID: Here are some clarifications: * You have until the project submission deadline to request slip day. * Once you request a slip-day, you can not take it back. * You have to make sure that I receive your request before the submission deadline. This is why you should send the request some time before the deadline. * With slip day, the submission deadline will be 24 hrs after the original deadline. * Please do not send "maybe, if, perhaps, even" slip-day requests From liyuan at pollux.usc.edu Mon Mar 22 09:49:18 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 09:50:56 2004 Subject: [Csci551-talk] output for stage 4 In-Reply-To: <91c6b891addc.91addc91c6b8@usc.edu> Message-ID: The project does not specify order, however it is easier to grade if the route entries are in a consistent order. Thanks Yuan On Sun, 21 Mar 2004, amit pande wrote: > hi, > do we need to sort the output according to med values for stage 4 ? > thanks, > amit > From liyuan at pollux.usc.edu Mon Mar 22 09:50:23 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 09:51:01 2004 Subject: [Csci551-talk] LS message In-Reply-To: <9be55a9c1985.9c19859be55a@usc.edu> Message-ID: We assume that the distance(cost) to each neighbor is 1. Thanks Yuan On Sun, 21 Mar 2004, swara tambe wrote: > Hi all, > > Shouldn't the LS message contain a distance field which contains the distance > to each neighbour, since this information is needed for calculating the > shortest path using Dijkstra's algorithm? Or do we assume that the distance to > each neighbour is always 1. > Thanks. > > Swara > From salpekar at usc.edu Mon Mar 22 11:14:19 2004 From: salpekar at usc.edu (ajay salpekar) Date: Mon Mar 22 11:15:35 2004 Subject: [Csci551-talk] Can router processes quit without an exit()? Message-ID: I have this problem in stage2, where my routers seem to die on me. They don't exit the while(1) loop (that contains the select), and they still dont show up in the process list after I do a "ps gx". I don't even have an "exit()" command anywhere in my router functions. Also, and more importantly, my packet flooding just seems to stop - the program quits, after say about 100 message exchanges. Where have all my routers gone? Anyone any ideas please? From dagnihot at usc.edu Mon Mar 22 11:59:57 2004 From: dagnihot at usc.edu (dhanu agnihotri) Date: Mon Mar 22 12:01:07 2004 Subject: [Csci551-talk] 'interrupted system call error ' Message-ID: i have a problem in stage 2: when i receive packets it sends me ' interrupted system call ' error... but it is receiving data correctly and the routers are exiting normally. any idea why this is happening? Thanks dhanu From mike at wakerly.com Mon Mar 22 13:48:17 2004 From: mike at wakerly.com (mike wakerly) Date: Mon Mar 22 13:48:51 2004 Subject: [Csci551-talk] Prioritization of routes In-Reply-To: <8964e9897bc9.897bc98964e9@usc.edu> References: <8964e9897bc9.897bc98964e9@usc.edu> Message-ID: Hi Amit, Next-hop value. This would make the most sense, even if you just consider the information Dijkstra's algorithm requires. So if you had 2-<[3 or 4]>-5-6, all other things being equal, the shortest path to 6 from 2 would not include 4. Cheers, Mike On Mar 21, 2004, at 6:57 AM, amit pande wrote: > hi, > for Prioritization of routes i have a doubt about what last-hop means: > ex: > 1-2-3-4-5 > packets which are sent from 1 to 5 have next-hop as 2(the hop just > after > source) and last-hop as 4(the hop just before destination). > so for prioritization do we take the last-hop as defined above or > next-hop > which could be thought as last-hop from incoming packets point of > view(whose > destination is 1).while creating a routing table entry at 1 for 5. > thanks, > amit > From daftary at usc.edu Mon Mar 22 16:52:17 2004 From: daftary at usc.edu (chaitali daftary) Date: Mon Mar 22 16:52:29 2004 Subject: [Csci551-talk] doubt about responsible routes Message-ID: I'm not able to clearly understand what does the responsible routes field in the lsa packet mean. In case, there are no external routes then what would this field indicate. If it indicates the internal routes then what exactly are considered as internal routes. Can someone please make this clear please. Chaitali From liyuan at pollux.usc.edu Mon Mar 22 23:23:11 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 23:23:25 2004 Subject: [Csci551-talk] Why have to use select? In-Reply-To: <02ac01c40fdd$cbbd5af0$a701a8c0@raymond> Message-ID: If you need to implement a timer at the same time, you might need "select". Thanks Yuan On Sun, 21 Mar 2004, Raymond Pun wrote: > Hi, > > I have a doubt here. Why we have to use select()? > Every router opens a port, the router can use this port to send and recevie > message from all the other routers. So, the router only need to listen to 1 > port. Every packet send out can use this port, every ack and link state msg > can receive from this port. > Then why we need to use select? > > Please advcie. Many thanks. > > regards, > Raymond > > From liyuan at pollux.usc.edu Mon Mar 22 23:27:03 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 23:27:24 2004 Subject: [Csci551-talk] Output for Stage 2 In-Reply-To: Message-ID: You need to make sure that whenever there is a change in the routing table, the whole table gets printed out. Thanks Yuan On Sun, 21 Mar 2004, gaurav agarwal wrote: > HI > > What do you mean by the following in the description: > > "This file should contain the complete routing table of the corresponding > router for each step in the evolution of the routing table" > > What does each step in the evolution mean. When all are we supposed to print > to the s2-X.out file? Is it only at the time the link-state changes and a LSA > new packet is sent? Or is it every time a packet (not obsolete or duplicate) > is received? > > Thanks, > Gaurav > From myopenideas at yahoo.com Mon Mar 22 23:29:33 2004 From: myopenideas at yahoo.com (Nirav Jasapara) Date: Mon Mar 22 23:30:26 2004 Subject: [Csci551-talk] 'interrupted system call error ' In-Reply-To: Message-ID: <20040323072933.34295.qmail@web41713.mail.yahoo.com> Hi, you might be running to many processes. Do a ps and grep it with ur username and see how many processes you are running. kill all the unwanted ones and things should work out fine. - Nirav Jasapara. --- dhanu agnihotri wrote: > i have a problem in stage 2: > when i receive packets it sends me ' interrupted > system call ' error... > but it is receiving data correctly and the routers > are exiting normally. > any idea why this is happening? > Thanks > dhanu > __________________________________ Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. http://taxes.yahoo.com/filing.html From liyuan at pollux.usc.edu Mon Mar 22 23:44:26 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Mon Mar 22 23:44:29 2004 Subject: [Csci551-talk] Re: Csci551-talk Digest, Vol 3, Issue 17 In-Reply-To: <895d3888ef53.88ef53895d38@usc.edu> Message-ID: As explained in Professor's previous email, due to memory padding, you need to implement marshalling and unmarshalling. Thanks Yuan On Sun, 21 Mar 2004, rahul pilani wrote: > regarding the marshalling thing.. > > as far as I know.. marshalling and unmarshalling is used in RPCs to change the > endianness of the byte format for machine independent compatibility.. > and I tried to search .. but couldnt find anything on it in C++.. > > and since we are using the same machine (nunki).. is it really necessary?? > > please enlighten.. > > Rahul > > ----- Original Message ----- > From: csci551-talk-request@mailman.isi.edu > Date: Saturday, March 20, 2004 11:24 pm > Subject: Csci551-talk Digest, Vol 3, Issue 17 > > > Send Csci551-talk mailing list submissions to > > csci551-talk@mailman.isi.edu > > > > To subscribe or unsubscribe via the World Wide Web, visit > > http://mailman.isi.edu/mailman/listinfo/csci551-talk > > or, via email, send a message with subject or body 'help' to > > csci551-talk-request@mailman.isi.edu > > > > You can reach the person managing the list at > > csci551-talk-owner@mailman.isi.edu > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of Csci551-talk digest..." > > > > > > Today's Topics: > > > > 1. Re: LS Message counts in samples (John Heidemann) > > 2. proja linking on Solaris (John Heidemann) > > 3. Re: UDP recvfrom (John Heidemann) > > 4. Re: Must we marshal-unmarshal? (John Heidemann) > > 5. Re: can we send the neighbour ip addresses to a router > > (John Heidemann) > > 6. Re: Neighbour UDP ports (John Heidemann) > > 7. Re: can we send the neighbour ip addresses to a router > > (amit pande) > > 8. Re: can we send the neighbour ip addresses to a router > > (mike wakerly) > > 9. Re: can we send the neighbour ip addresses to a router > > (John Heidemann) > > 10. LSA packet structure (bhavin shukla) > > 11. Broken Pipe with UDP communication (milind shalia) > > 12. Doubt regarding the ACK packet format (pooja patel) > > > > > > ---------------------------------------------------------------------- > > > > Message: 1 > > Date: Sat, 20 Mar 2004 17:12:16 -0800 > > From: John Heidemann > > Subject: Re: [Csci551-talk] LS Message counts in samples > > To: mike wakerly > > Cc: csci551-talk@ISI.EDU > > Message-ID: <200403210112.i2L1CGpV024028@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > On Sat, 20 Mar 2004 12:07:04 PST, mike wakerly wrote: > > >Hi Devarshi, > > > > > >Thanks for the info. While I agree that forwarded messages should be > > >counted, I just can't read that ACKs should be as well. I'll live > > >dangerously and print ACK totals separately, since if you were > > >analyzing the project with no packet loss, you could assume #ACKs = #of > > >LS Messages sent, and just double that number. > > > > > >Cheers, > > >Mike > > > > > >On Mar 20, 2004, at 11:08 AM, Devarshi Shah wrote: > > >> We do need to count the ACKS and the number of forwarded messages in > > >> the > > >> total number of messages received and sent respectively by the router. > > >> I had > > >> this same question, which Dr. Heidemann clarified as under : > > > > Devarshi Shah's follow-up was correct. > > > > I previously wrote: > > }It says "A is the number of LS messages that router X sent". > > }It does not say "originated", so I would not assume a more restrictive > > }definition. The same applies to ACKs... don't assume a more restrictive > > }definition than is given. > > > > "messages" are ALL messages, LS announcements, ACKs, and anything else > > sent between the routers. > > > > -John Heidemann > > > > > > ------------------------------ > > > > Message: 2 > > Date: Sat, 20 Mar 2004 17:16:56 -0800 > > From: John Heidemann > > Subject: [Csci551-talk] proja linking on Solaris > > To: csci551-talk@ISI.EDU > > Message-ID: <200403210116.i2L1GutG024086@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > > > A student asked: > > > > > Another very wierd thing is I couldn't compile the short program I just > > >mentioned above on nunki nor aludra! It compiles under cygwin! (And the > > >included header files are copied from a previous program I wrote which > > ran on > > >aludra. ) The error is as follows: > > >-------------------------------------------------------------------------- > > ---- > > >"Undefined first referenced > > > symbol in file > > >getsockname /var/tmp/ccDvnDwL.o > > >inet_aton /var/tmp/ccDvnDwL.o > > >bind /var/tmp/ccDvnDwL.o > > >socket /var/tmp/ccDvnDwL.o > > >ld: fatal: Symbol referencing errors. No output written to gt > > >collect2: ld returned 1 exit status" > > >-------------------------------------------------------------------------- > > ---- > > > How come these symbols are undifined?? > > > > On Solaris you need to link with -lnsl and -lsocket to get these > > functions. > > > > -John Heidemann > > > > > > ------------------------------ > > > > Message: 3 > > Date: Sat, 20 Mar 2004 17:18:47 -0800 > > From: John Heidemann > > Subject: Re: [Csci551-talk] UDP recvfrom > > To: gaurav agarwal > > Cc: csci551-talk@ISI.EDU > > Message-ID: <200403210118.i2L1IlS9024108@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > On Sat, 20 Mar 2004 04:29:45 PST, gaurav agarwal wrote: > > >Hi > > > > > >I was wondering, until what condition should the router loop until while > > >receiving LSA packets from other routers. I am having a problem, that if > > I > > >loop until more than the packets that are recvd, my processes dont exit > > and > > >keep going. ( I think I unknowingly ran too many processes on nunki... > > oops ) > > > > > >Thanks, > > >Gaurav > > > > The project assignment says: > > > > You should figure out a way to determine when the routing exchange > > has converged. This can be as simple as waiting for several seconds. > > > > and later that you should document what you do in the README file. > > > > -John Heidemann > > > > > > > > ------------------------------ > > > > Message: 4 > > Date: Sat, 20 Mar 2004 17:20:47 -0800 > > From: John Heidemann > > Subject: [Csci551-talk] Re: Must we marshal-unmarshal? > > To: ajay salpekar > > Cc: csci551-talk@ISI.EDU > > Message-ID: <200403210120.i2L1KmwU024131@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > On Sat, 20 Mar 2004 12:34:18 PST, ajay salpekar wrote: > > >Good Afternoon... urgent, low-level doubt: > > > > > >We've been given the format for the LSA update messages, in bytes, I > > presume. > > >Now does this necessitate that we marshal-unmarshall these fields into > > and out > > >of bytes, or can we just make a nice friendly structure and send that all > > over > > >the place from router to router, as an update? > > > > > >Oh please let me know... > > > > I think you'll find that to get the correct format, yes, you must > > marshal and unmarshall. > > > > Compilers will insert padding around byte-width fields (as they > > should, for efficient operation) that make a simple structure > > insufficient. > > > > -John Heidemann > > > > > > ------------------------------ > > > > Message: 5 > > Date: Sat, 20 Mar 2004 17:22:49 -0800 > > From: John Heidemann > > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > > a router > > To: amit pande > > Cc: john@ISI.EDU, csci551-talk@ISI.EDU > > Message-ID: <200403210122.i2L1MnhU024185@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > > >hi, > > >can we send the neighbour ip addresses from the manager to the > > router(when we > > >are sending the udp port info)? > > >since an ls_msg doesnt contain the senders ip address, a router has no > > way to > > >know neighbours ip address, unless manager tells it? or i am missing some > > point?>amit > > > > If you do extend the information you send, you need to document what > > you do and why in the README file. > > > > BUT... why do you need to send neighbor IP addresses? Can't you > > discover that info in the first LS announcement you hear from them? > > > > -John Heidemann > > > > > > ------------------------------ > > > > Message: 6 > > Date: Sat, 20 Mar 2004 17:24:13 -0800 > > From: John Heidemann > > Subject: Re: [Csci551-talk] Neighbour UDP ports > > To: gaurav agarwal > > Cc: csci551-talk@ISI.EDU > > Message-ID: <200403210124.i2L1ODaV024206@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > On Fri, 19 Mar 2004 11:45:03 PST, gaurav agarwal wrote: > > >Hi, > > > > > >Arent the routers supposed to provide the manager with their UDP ports > > through > > >the TCP connection. How then can the UDP ports of the neighbours be > > forwarded > > >in the same TCP connection? Is anyone passing the UDP ports of all the > > >routers through global variables. And at what exact point are you > > sending the > > >manager the UDP ports? > > > > This was discussed previously on the list. You might want to go to > > the list archives about "port-passing problems". > > > > -John Heidemann > > > > > > > > ------------------------------ > > > > Message: 7 > > Date: Sat, 20 Mar 2004 18:08:17 -0800 > > From: amit pande > > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > > a router > > To: John Heidemann , csci551-talk@ISI.EDU > > Message-ID: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> > > Content-Type: text/plain; charset=us-ascii > > > > hi, > > > BUT... why do you need to send neighbor IP addresses? Can't you > > > discover that info in the first LS announcement you hear from them? > > > > > > -John Heidemann > > > > the router cannot figure out the ip address from the ls announcement, > > since we > > dontput the senders ip address in the ls message (only the sender router > > id is > > there).if we were to put the senders ip address in the ls message, than ya > > sure we could figure out the ip address. > > amit > > > > ----- Original Message ----- > > From: John Heidemann > > Date: Saturday, March 20, 2004 5:22 pm > > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to a router > > > > > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > > > >hi, > > > >can we send the neighbour ip addresses from the manager to the > > > router(when we > > > >are sending the udp port info)? > > > >since an ls_msg doesnt contain the senders ip address, a router has no > > > way to > > > >know neighbours ip address, unless manager tells it? or i am missing > > some > > > point?>amit > > > > > > If you do extend the information you send, you need to document what > > > you do and why in the README file. > > > > > > BUT... why do you need to send neighbor IP addresses? Can't you > > > discover that info in the first LS announcement you hear from them? > > > > > > -John Heidemann > > > > > > > > > > > ------------------------------ > > > > Message: 8 > > Date: Sat, 20 Mar 2004 19:09:06 -0800 > > From: mike wakerly > > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > > a router > > To: amit pande > > Cc: csci551-talk@ISI.EDU > > Message-ID: <1D594D9E-7AE5-11D8-B21B-000A95A9BB90@wakerly.com> > > Content-Type: text/plain; charset=US-ASCII; format=flowed > > > > On Mar 20, 2004, at 6:08 PM, amit pande wrote: > > > the router cannot figure out the ip address from the ls announcement, > > > since we > > > dontput the senders ip address in the ls message (only the sender > > > router id is > > > there).if we were to put the senders ip address in the ls message, > > > than ya > > > sure we could figure out the ip address. > > > > For this assignment, all routers are on the same host, so you can > > probably make a good guess at where to reach any router.. > > > > Cheers, > > Mike > > > > > > > > ------------------------------ > > > > Message: 9 > > Date: Sat, 20 Mar 2004 20:25:39 -0800 > > From: John Heidemann > > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > > a router > > To: amit pande > > Cc: csci551-talk@ISI.EDU > > Message-ID: <200403210425.i2L4PeZA025809@dash.isi.edu> > > Content-Type: text/plain; charset=US-ASCII > > > > On Sat, 20 Mar 2004 18:08:17 PST, amit pande wrote: > > >hi, > > >> BUT... why do you need to send neighbor IP addresses? Can't you > > >> discover that info in the first LS announcement you hear from them? > > >> > > >> -John Heidemann > > > > > >the router cannot figure out the ip address from the ls announcement, > > since we > > >dontput the senders ip address in the ls message (only the sender router > > id is > > >there).if we were to put the senders ip address in the ls message, than > > ya > > >sure we could figure out the ip address. > > > > What IP address do you mean? > > > > If you mean the address mask of the address space that router handles, > > than this should definitely be in the LS announcement. > > > > If you mean the IP address that goes along with the port that the > > router be listening to exchange messages with other routers, than the > > assignment assumes all processes are on the same machine. Thus, > > whatever means you use to pick the IP address you bind to can be done > > by all processes (routers and manager). They don't need to explicitly > > swap that IP address. > > > > In addition, you CAN tell the senders IP address even if it's not in > > the message data. See the recvfrom man page for details. > > > > If you choose to swap that IP address, as I said, please not that in > > your README file along with why. > > > > -John Heidemann > > > > > > ------------------------------ > > > > Message: 10 > > Date: Sat, 20 Mar 2004 21:47:22 -0800 > > From: bhavin shukla > > Subject: [Csci551-talk] LSA packet structure > > To: csci551-talk@mailman.isi.edu > > Message-ID: <868b6e8681d9.8681d9868b6e@usc.edu> > > Content-Type: text/plain; charset=us-ascii > > > > hi, > > CAn some on please explain the meaning of the the following fields in the > > lsa > > packet structure: > > 1. no. of responsible routes > > 2. no. of links > > 3. address of route > > > > thanks > > bhavin > > > > > > > > ------------------------------ > > > > Message: 11 > > Date: Sat, 20 Mar 2004 22:50:40 -0800 > > From: milind shalia > > Subject: [Csci551-talk] Broken Pipe with UDP communication > > To: Csci551-talk@ISI.EDU > > Message-ID: <870a1e8715bc.8715bc870a1e@usc.edu> > > Content-Type: text/plain; charset="us-ascii" > > > > An HTML attachment was scrubbed... > > URL: http://gamma.isi.edu/pipermail/csci551- > > talk/attachments/20040320/4b2b81c8/attachment-0001.html > > > > ------------------------------ > > > > Message: 12 > > Date: Sat, 20 Mar 2004 23:23:21 -0800 > > From: pooja patel > > Subject: [Csci551-talk] Doubt regarding the ACK packet format > > To: csci551-talk@ISI.EDU > > Message-ID: <87b236879268.87926887b236@usc.edu> > > Content-Type: text/plain; charset="us-ascii" > > > > An HTML attachment was scrubbed... > > URL: http://gamma.isi.edu/pipermail/csci551- > > talk/attachments/20040320/f4fe893b/attachment.html > > ------------------------------ > > > > _______________________________________________ > > Csci551-talk mailing list > > Csci551-talk@mailman.isi.edu > > http://mailman.isi.edu/mailman/listinfo/csci551-talk > > > > > > End of Csci551-talk Digest, Vol 3, Issue 17 > > ******************************************* > > > From rkulkarn at usc.edu Tue Mar 23 02:45:09 2004 From: rkulkarn at usc.edu (rohit kulkarni) Date: Tue Mar 23 02:45:28 2004 Subject: [Csci551-talk] Output for Stage 2 Message-ID: Hi, But i have observed in the output files for the routers that many times whole consecutive routing tables are identical. why is that so ?? Rohit ----- Original Message ----- From: Yuan Li Date: Monday, March 22, 2004 11:27 pm Subject: Re: [Csci551-talk] Output for Stage 2 > You need to make sure that whenever there is a change in the routing > table, the whole table gets printed out. > > Thanks > > Yuan > > > On Sun, 21 Mar 2004, gaurav agarwal wrote: > > > HI > > > > What do you mean by the following in the description: > > > > "This file should contain the complete routing table of the corresponding > > router for each step in the evolution of the routing table" > > > > What does each step in the evolution mean. When all are we supposed to > print> to the s2-X.out file? Is it only at the time the link-state changes > and a LSA > > new packet is sent? Or is it every time a packet (not obsolete or > duplicate)> is received? > > > > Thanks, > > Gaurav > > > > From mike at wakerly.com Tue Mar 23 10:11:57 2004 From: mike at wakerly.com (mike wakerly) Date: Tue Mar 23 10:12:32 2004 Subject: [Csci551-talk] Output for Stage 2 In-Reply-To: References: Message-ID: <92CCD30F-7CF5-11D8-8C7B-000A95A6AAA6@wakerly.com> On Mar 23, 2004, at 2:45 AM, rohit kulkarni wrote: > Hi, > > But i have observed in the output files for the routers that many > times whole > consecutive routing tables are identical. why is that so ?? I think they may just print the routing table any time they update() it. A simple comparison of the table before and after and recomputing would eliminate redundant print-outs (that's what I'm doing, anyway.) Cheers, Mike From payalsin at usc.edu Tue Mar 23 10:14:47 2004 From: payalsin at usc.edu (payal singh) Date: Tue Mar 23 10:15:25 2004 Subject: [Csci551-talk] stage 2 Message-ID: hi.. r we supposed to update the routing table everytime we get a lsa pkt...? and then just print it out?.. lemme know.. thanks.. From johnh at ISI.EDU Tue Mar 23 11:11:07 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:11:33 2004 Subject: [Csci551-talk] external routes In-Reply-To: <81aac6814aca.814aca81aac6@usc.edu> Message-ID: <200403231911.i2NJB7JC023912@dash.isi.edu> On Sat, 20 Mar 2004 16:00:49 PST, amit pande wrote: >hi, >while creating routing table for external routes do we do prefix-matching? >as in can the input file contain entries such as: >PeerRouter ExternalID Prefix Mask MED >1 11 80.0.0.0 8 5 >2 12 80.0.0.0 16 5 >if we do prefix-matching than routers which are closer to 2 will have 2 entries: >one for 80/16 via 2 and another for 80/8 via 1. >do we need to do this way? >amit As a simplification, you may assume that the input data will NOT include overlapping prefixes, and so you can do prefix matching or not at your choice. -John Heidemann From johnh at ISI.EDU Tue Mar 23 11:09:14 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:11:41 2004 Subject: [Csci551-talk] A small query regarding the outputs In-Reply-To: Message-ID: <200403231909.i2NJ9EhE023839@dash.isi.edu> On Sat, 20 Mar 2004 12:03:47 PST, mike wakerly wrote: >Hi Devarshi, > >I noticed that the outputs do the following with external routes: > - if is responsible for that external route, then > print that external router's number as id (and nexthop) > - otherwise, print the known internal router's number as id and > use the appropriate nexthop to that router (as in your example >below) > >So, I would say that your example for 192.163.12.0/14 below is >acceptable for all routers /except/ router 1. On router 1, it should >show 25. This kind of output would be acceptable. -John Heidemann > >(I almost wrote an e-mail about this yesterday but after looking at the >sample outputs and thinking about it, this was what is going on.) > >Cheers, >Mike > >On Mar 20, 2004, at 11:14 AM, Devarshi Shah wrote: >> For example, s4-1.out has this particular route in its routing table :? >> >> 25??????? 192.163.12.0/24? 25 0 (med = 2) >> >> On the other hand, since I integrate this route with 1?s routes, what >> I get is this : >> >> 1???????? 192.163.12.0/14? 1 0 (med = 2). >> >> My question is this : Is this acceptable ?? From johnh at ISI.EDU Tue Mar 23 11:14:58 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:15:01 2004 Subject: [Csci551-talk] LSA packet structure In-Reply-To: <868b6e8681d9.8681d9868b6e@usc.edu> Message-ID: <200403231914.i2NJEw2V023958@dash.isi.edu> On Sat, 20 Mar 2004 21:47:22 PST, bhavin shukla wrote: >hi, >CAn some on please explain the meaning of the the following fields in the lsa >packet structure: >1. no. of responsible routes >2. no. of links >3. address of route Those refer to the routes and links propagated in the message, as come from either the config file or the current link state for that router. -John Heidemann From johnh at ISI.EDU Tue Mar 23 11:17:46 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:18:30 2004 Subject: [Csci551-talk] Broken Pipe with UDP communication In-Reply-To: <870a1e8715bc.8715bc870a1e@usc.edu> Message-ID: <200403231917.i2NJHkHs024016@dash.isi.edu> On Sat, 20 Mar 2004 22:50:40 PST, milind shalia wrote: >hi, > >I am getting "Broken Pipe" error when i am trying to establish communication >between peer routers.. I have done bind on the UDP socket have not closed >the socket anytime... have tried many options but in vain..Anyone who has >got similar error, can you please provide me some solution? You shouldn't get these with UDP sockets, however there was prior discussion on the mailing list about how you may get these errors with TCP sockets to a terminated process. -John Heidemann From johnh at ISI.EDU Tue Mar 23 11:19:34 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:20:34 2004 Subject: [Csci551-talk] Doubt regarding the ACK packet format In-Reply-To: Message-ID: <200403231919.i2NJJYTv024039@dash.isi.edu> If you use a different ACK format, you will need to describe that in your README file. On Sun, 21 Mar 2004 12:28:34 PST, Yuan Li wrote: > >Either way is OK. You can use the LS message format or define a new ACK >message format. > >Thanks > >Yuan > > >On Sat, 20 Mar 2004, pooja patel wrote: > >> >> Hi Everyone, >> >> 1) >> >> In Link State routing the first packet the origin router sends is a hello packet to its neigbours and the neighbours >> send an ACK back to the origin router..Do we have to use a separate ACK format or are we supposed to use the LS >> format and pad the uneccessary fields? >> >> >> >> Patel Pooja. >> >> >> From johnh at ISI.EDU Tue Mar 23 11:21:14 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:21:25 2004 Subject: [Csci551-talk] Doubt regarding the ACK packet format[Csci551-talk] Doubt regarding the ACK packet format In-Reply-To: <89f19589e7fa.89e7fa89f195@usc.edu> Message-ID: <200403231921.i2NJLEIe024063@dash.isi.edu> On Sun, 21 Mar 2004 08:47:18 PST, suresh venkataramani wrote: >For sake of efficiency I think we can use a much shorter Ack packet. >Also as long as we are marshalling /unmarshalling we can convert things into an >Ascii string before sending and unmarshall at the other end. Why would you convert things to an ASCII string? To process the data, it must be in binary format. To send it over the wire, the packet format is required to be binary. Converting things to strings does not seem like right path, except for debugging printouts. -John Heidemann From johnh at ISI.EDU Tue Mar 23 11:24:29 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:25:30 2004 Subject: [Csci551-talk] problem with running code on solaris In-Reply-To: <893cd7893df3.893df3893cd7@usc.edu> Message-ID: <200403231924.i2NJOThb024096@dash.isi.edu> On Sun, 21 Mar 2004 01:45:46 PST, swara tambe wrote: >Hi all, > >I'm facing a problem with running my code on Solaris and hopefully someone >will be able to give me some insight into this. My code runs fine on Linux for >stage 1. Each of the router processes get assigned unique UDP ports. However, >when I run the same code on Solaris, all processes seem to be getting UDP >port=0. The same thing is happening with the TCP ports they get assigned for >communicating with the manager. Does anyone have any idea on what might be >causing this? >Thanks. > >Swara Sounds like you're not determining the port correctly. -John Heidemann From salpekar at usc.edu Tue Mar 23 11:24:27 2004 From: salpekar at usc.edu (ajay salpekar) Date: Tue Mar 23 11:25:42 2004 Subject: [Csci551-talk] Dijkstra's when? Message-ID: On what occassion must the router run Dijkstra's? Is it on the receipt of any/every packet, or only when its Links change, or only when it's routing matrix changes? I think it's the third... but this causes the s2_3 table at router 2 to change only twice, whereas the output file shows 4 instances of output from router 2. Please help me out here, thanks. From johnh at ISI.EDU Tue Mar 23 11:26:40 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 11:26:44 2004 Subject: [Csci551-talk] marshalling [was Re: Csci551-talk Digest, Vol 3, Issue 17] In-Reply-To: <895d3888ef53.88ef53895d38@usc.edu> Message-ID: <200403231926.i2NJQf8o024117@dash.isi.edu> On Sun, 21 Mar 2004 03:44:31 PST, rahul pilani wrote: >regarding the marshalling thing.. > >as far as I know.. marshalling and unmarshalling is used in RPCs to change the >endianness of the byte format for machine independent compatibility.. >and I tried to search .. but couldnt find anything on it in C++.. > >and since we are using the same machine (nunki).. is it really necessary?? > >please enlighten.. The project specifies the required message format. You will not be able to get that format without marshalling for at least two reasons: (1) compilers can (and do!) insert padding bytes into structures, (2) the structure has multiple variable-length fields. Therefore you will need to do marshalling and unmarshalling to complete the assignment correctly. -John Heidemann From stambe at usc.edu Tue Mar 23 11:39:38 2004 From: stambe at usc.edu (swara tambe) Date: Tue Mar 23 11:40:36 2004 Subject: [Csci551-talk] Re: problem with running code on solaris Message-ID: Hi again, I did add a sleep() after the fork() in the code I had on Solaris (nunki) and it started printing out unique tcp and udp ports, so I thought I had the problem solved. However, once again I am facing the same issue...the code runs fine on Linux (all udp ports are unique), but on Solaris I get either 0 or the same tcp port of 11028 and udp port of 62528 for all routers. Adding a sleep() had cured the problem last time, but its not working this time! What puzzles is the fact that the very same code runs fine on Linux. Is anyone facing similar problems. Why does it do this on Solaris and what is the solution to it? Please advice. Thanks. Swara From baruah at usc.edu Tue Mar 23 12:33:52 2004 From: baruah at usc.edu (pritam baruah) Date: Tue Mar 23 12:33:59 2004 Subject: [Csci551-talk] KILL THE MARSHALL (unmarshall him) hawhaw Message-ID: Someone asked about marshalling/unmarshalling. There is no need to do it if the compiler is instructed a-priori not to insert padding on word boundaries within structures. Another way is manually inserting a dummy 8 bit field after the "type" field and a dummy 16 bit field after the "number of links" field. These are little hacks so you should use them at your own peril. Beware :- Dummy fields require cognizance of endianness of the processor architecture. You can use preprocessor macros to selectively produce "endian" adjusted compiler inputs. Hope this helps, ~Pritam. ----- Original Message ----- From: csci551-talk-request@mailman.isi.edu Date: Saturday, March 20, 2004 11:24 pm Subject: Csci551-talk Digest, Vol 3, Issue 17 > Send Csci551-talk mailing list submissions to > csci551-talk@mailman.isi.edu > > To subscribe or unsubscribe via the World Wide Web, visit > http://mailman.isi.edu/mailman/listinfo/csci551-talk > or, via email, send a message with subject or body 'help' to > csci551-talk-request@mailman.isi.edu > > You can reach the person managing the list at > csci551-talk-owner@mailman.isi.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Csci551-talk digest..." > > > Today's Topics: > > 1. Re: LS Message counts in samples (John Heidemann) > 2. proja linking on Solaris (John Heidemann) > 3. Re: UDP recvfrom (John Heidemann) > 4. Re: Must we marshal-unmarshal? (John Heidemann) > 5. Re: can we send the neighbour ip addresses to a router > (John Heidemann) > 6. Re: Neighbour UDP ports (John Heidemann) > 7. Re: can we send the neighbour ip addresses to a router > (amit pande) > 8. Re: can we send the neighbour ip addresses to a router > (mike wakerly) > 9. Re: can we send the neighbour ip addresses to a router > (John Heidemann) > 10. LSA packet structure (bhavin shukla) > 11. Broken Pipe with UDP communication (milind shalia) > 12. Doubt regarding the ACK packet format (pooja patel) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 20 Mar 2004 17:12:16 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] LS Message counts in samples > To: mike wakerly > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210112.i2L1CGpV024028@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 12:07:04 PST, mike wakerly wrote: > >Hi Devarshi, > > > >Thanks for the info. While I agree that forwarded messages should be > >counted, I just can't read that ACKs should be as well. I'll live > >dangerously and print ACK totals separately, since if you were > >analyzing the project with no packet loss, you could assume #ACKs = #of > >LS Messages sent, and just double that number. > > > >Cheers, > >Mike > > > >On Mar 20, 2004, at 11:08 AM, Devarshi Shah wrote: > >> We do need to count the ACKS and the number of forwarded messages in > >> the > >> total number of messages received and sent respectively by the router. > >> I had > >> this same question, which Dr. Heidemann clarified as under : > > Devarshi Shah's follow-up was correct. > > I previously wrote: > }It says "A is the number of LS messages that router X sent". > }It does not say "originated", so I would not assume a more restrictive > }definition. The same applies to ACKs... don't assume a more restrictive > }definition than is given. > > "messages" are ALL messages, LS announcements, ACKs, and anything else > sent between the routers. > > -John Heidemann > > > ------------------------------ > > Message: 2 > Date: Sat, 20 Mar 2004 17:16:56 -0800 > From: John Heidemann > Subject: [Csci551-talk] proja linking on Solaris > To: csci551-talk@ISI.EDU > Message-ID: <200403210116.i2L1GutG024086@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > > A student asked: > > > Another very wierd thing is I couldn't compile the short program I just > >mentioned above on nunki nor aludra! It compiles under cygwin! (And the > >included header files are copied from a previous program I wrote which > ran on > >aludra. ) The error is as follows: > >--------------------------------------------------------------------------- > --- > >"Undefined first referenced > > symbol in file > >getsockname /var/tmp/ccDvnDwL.o > >inet_aton /var/tmp/ccDvnDwL.o > >bind /var/tmp/ccDvnDwL.o > >socket /var/tmp/ccDvnDwL.o > >ld: fatal: Symbol referencing errors. No output written to gt > >collect2: ld returned 1 exit status" > >--------------------------------------------------------------------------- > --- > > How come these symbols are undifined?? > > On Solaris you need to link with -lnsl and -lsocket to get these > functions. > > -John Heidemann > > > ------------------------------ > > Message: 3 > Date: Sat, 20 Mar 2004 17:18:47 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] UDP recvfrom > To: gaurav agarwal > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210118.i2L1IlS9024108@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 04:29:45 PST, gaurav agarwal wrote: > >Hi > > > >I was wondering, until what condition should the router loop until while > >receiving LSA packets from other routers. I am having a problem, that if > I > >loop until more than the packets that are recvd, my processes dont exit > and > >keep going. ( I think I unknowingly ran too many processes on nunki... > oops ) > > > >Thanks, > >Gaurav > > The project assignment says: > > You should figure out a way to determine when the routing exchange > has converged. This can be as simple as waiting for several seconds. > > and later that you should document what you do in the README file. > > -John Heidemann > > > > ------------------------------ > > Message: 4 > Date: Sat, 20 Mar 2004 17:20:47 -0800 > From: John Heidemann > Subject: [Csci551-talk] Re: Must we marshal-unmarshal? > To: ajay salpekar > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210120.i2L1KmwU024131@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 12:34:18 PST, ajay salpekar wrote: > >Good Afternoon... urgent, low-level doubt: > > > >We've been given the format for the LSA update messages, in bytes, I > presume. > >Now does this necessitate that we marshal-unmarshall these fields into and > out > >of bytes, or can we just make a nice friendly structure and send that all > over > >the place from router to router, as an update? > > > >Oh please let me know... > > I think you'll find that to get the correct format, yes, you must > marshal and unmarshall. > > Compilers will insert padding around byte-width fields (as they > should, for efficient operation) that make a simple structure > insufficient. > > -John Heidemann > > > ------------------------------ > > Message: 5 > Date: Sat, 20 Mar 2004 17:22:49 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: amit pande > Cc: john@ISI.EDU, csci551-talk@ISI.EDU > Message-ID: <200403210122.i2L1MnhU024185@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > >hi, > >can we send the neighbour ip addresses from the manager to the router(when > we > >are sending the udp port info)? > >since an ls_msg doesnt contain the senders ip address, a router has no way > to > >know neighbours ip address, unless manager tells it? or i am missing some > point?>amit > > If you do extend the information you send, you need to document what > you do and why in the README file. > > BUT... why do you need to send neighbor IP addresses? Can't you > discover that info in the first LS announcement you hear from them? > > -John Heidemann > > > ------------------------------ > > Message: 6 > Date: Sat, 20 Mar 2004 17:24:13 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] Neighbour UDP ports > To: gaurav agarwal > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210124.i2L1ODaV024206@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Fri, 19 Mar 2004 11:45:03 PST, gaurav agarwal wrote: > >Hi, > > > >Arent the routers supposed to provide the manager with their UDP ports > through > >the TCP connection. How then can the UDP ports of the neighbours be > forwarded > >in the same TCP connection? Is anyone passing the UDP ports of all the > >routers through global variables. And at what exact point are you sending > the > >manager the UDP ports? > > This was discussed previously on the list. You might want to go to > the list archives about "port-passing problems". > > -John Heidemann > > > > ------------------------------ > > Message: 7 > Date: Sat, 20 Mar 2004 18:08:17 -0800 > From: amit pande > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: John Heidemann , csci551-talk@ISI.EDU > Message-ID: <83ac4b83bb5f.83bb5f83ac4b@usc.edu> > Content-Type: text/plain; charset=us-ascii > > hi, > > BUT... why do you need to send neighbor IP addresses? Can't you > > discover that info in the first LS announcement you hear from them? > > > > -John Heidemann > > the router cannot figure out the ip address from the ls announcement, since > we > dontput the senders ip address in the ls message (only the sender router id > is > there).if we were to put the senders ip address in the ls message, than ya > sure we could figure out the ip address. > amit > > ----- Original Message ----- > From: John Heidemann > Date: Saturday, March 20, 2004 5:22 pm > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to a router > > > On Sat, 20 Mar 2004 12:38:42 PST, amit pande wrote: > > >hi, > > >can we send the neighbour ip addresses from the manager to the > > router(when we > > >are sending the udp port info)? > > >since an ls_msg doesnt contain the senders ip address, a router has no > > way to > > >know neighbours ip address, unless manager tells it? or i am missing > some > > point?>amit > > > > If you do extend the information you send, you need to document what > > you do and why in the README file. > > > > BUT... why do you need to send neighbor IP addresses? Can't you > > discover that info in the first LS announcement you hear from them? > > > > -John Heidemann > > > > > > ------------------------------ > > Message: 8 > Date: Sat, 20 Mar 2004 19:09:06 -0800 > From: mike wakerly > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: amit pande > Cc: csci551-talk@ISI.EDU > Message-ID: <1D594D9E-7AE5-11D8-B21B-000A95A9BB90@wakerly.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > On Mar 20, 2004, at 6:08 PM, amit pande wrote: > > the router cannot figure out the ip address from the ls announcement, > > since we > > dontput the senders ip address in the ls message (only the sender > > router id is > > there).if we were to put the senders ip address in the ls message, > > than ya > > sure we could figure out the ip address. > > For this assignment, all routers are on the same host, so you can > probably make a good guess at where to reach any router.. > > Cheers, > Mike > > > > ------------------------------ > > Message: 9 > Date: Sat, 20 Mar 2004 20:25:39 -0800 > From: John Heidemann > Subject: Re: [Csci551-talk] can we send the neighbour ip addresses to > a router > To: amit pande > Cc: csci551-talk@ISI.EDU > Message-ID: <200403210425.i2L4PeZA025809@dash.isi.edu> > Content-Type: text/plain; charset=US-ASCII > > On Sat, 20 Mar 2004 18:08:17 PST, amit pande wrote: > >hi, > >> BUT... why do you need to send neighbor IP addresses? Can't you > >> discover that info in the first LS announcement you hear from them? > >> > >> -John Heidemann > > > >the router cannot figure out the ip address from the ls announcement, > since we > >dontput the senders ip address in the ls message (only the sender router > id is > >there).if we were to put the senders ip address in the ls message, than ya > >sure we could figure out the ip address. > > What IP address do you mean? > > If you mean the address mask of the address space that router handles, > than this should definitely be in the LS announcement. > > If you mean the IP address that goes along with the port that the > router be listening to exchange messages with other routers, than the > assignment assumes all processes are on the same machine. Thus, > whatever means you use to pick the IP address you bind to can be done > by all processes (routers and manager). They don't need to explicitly > swap that IP address. > > In addition, you CAN tell the senders IP address even if it's not in > the message data. See the recvfrom man page for details. > > If you choose to swap that IP address, as I said, please not that in > your README file along with why. > > -John Heidemann > > > ------------------------------ > > Message: 10 > Date: Sat, 20 Mar 2004 21:47:22 -0800 > From: bhavin shukla > Subject: [Csci551-talk] LSA packet structure > To: csci551-talk@mailman.isi.edu > Message-ID: <868b6e8681d9.8681d9868b6e@usc.edu> > Content-Type: text/plain; charset=us-ascii > > hi, > CAn some on please explain the meaning of the the following fields in the > lsa > packet structure: > 1. no. of responsible routes > 2. no. of links > 3. address of route > > thanks > bhavin > > > > ------------------------------ > > Message: 11 > Date: Sat, 20 Mar 2004 22:50:40 -0800 > From: milind shalia > Subject: [Csci551-talk] Broken Pipe with UDP communication > To: Csci551-talk@ISI.EDU > Message-ID: <870a1e8715bc.8715bc870a1e@usc.edu> > Content-Type: text/plain; charset="us-ascii" > > An HTML attachment was scrubbed... > URL: http://gamma.isi.edu/pipermail/csci551- > talk/attachments/20040320/4b2b81c8/attachment-0001.html > > ------------------------------ > > Message: 12 > Date: Sat, 20 Mar 2004 23:23:21 -0800 > From: pooja patel > Subject: [Csci551-talk] Doubt regarding the ACK packet format > To: csci551-talk@ISI.EDU > Message-ID: <87b236879268.87926887b236@usc.edu> > Content-Type: text/plain; charset="us-ascii" > > An HTML attachment was scrubbed... > URL: http://gamma.isi.edu/pipermail/csci551- > talk/attachments/20040320/f4fe893b/attachment.html > ------------------------------ > > _______________________________________________ > Csci551-talk mailing list > Csci551-talk@mailman.isi.edu > http://mailman.isi.edu/mailman/listinfo/csci551-talk > > > End of Csci551-talk Digest, Vol 3, Issue 17 > ******************************************* > From gvagarwa at usc.edu Tue Mar 23 13:10:12 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Tue Mar 23 13:10:14 2004 Subject: [Csci551-talk] Neighbour IPs Message-ID: HI Is it acceptable if I send far end router IP address and mask along with the far end router id? Thanks, Gaurav From samirmeh at usc.edu Tue Mar 23 13:43:14 2004 From: samirmeh at usc.edu (samir mehta) Date: Tue Mar 23 13:43:18 2004 Subject: [Csci551-talk] Max Retransmit Message-ID: <100e616100e8cc.100e8cc100e616@usc.edu> What is the max retransmit timer that we should set ? This is reqd. in case the loss rate is too high? Say if its 5 . Assume 1-2 link 2-3 link Assume that all routers find that their neighbours r alive i.e. initial links 0 packets get acked Hence 2 passes this information i.e. 1-2 link to router 3 now say a packet transmitted from 1-2 gets dropped 5 times and routers 2 claims that 1-2 link is down. This leads to change in its routing table 1-2 infinity Now Should router 2 pass this new information to 3?? if router 3 doesnt pass this information then therez inconsistency in the routing table of 3 What if router 3 has aldready timed out before he is supposed to receive this new information ?? Router 1 may now claim that router 3 is also down. Plz clarify this. Sincerely Samir Mehta -------------- next part -------------- A non-text attachment was scrubbed... Name: samirmeh.vcf Type: text/x-vcard Size: 300 bytes Desc: Card for samir mehta Url : http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040323/d6471fb4/samirmeh.vcf From daftary at usc.edu Tue Mar 23 15:26:12 2004 From: daftary at usc.edu (chaitali daftary) Date: Tue Mar 23 15:26:22 2004 Subject: [Csci551-talk] Problem with number of messages sent and received Message-ID: <1081df9107db09.107db091081df9@usc.edu> I'm having a problem with number of messages sent and received in stage 2. I'm discarding messages whos ttl has expired and whose sequence number is not recent and if im sending the message back to the origin id. I'm considering all other messages each router sends to itself and its neighbors, forwarded messages and acks. But I dont get the output given in the sample output as Router 1: messages-sent 14 messages-received 14 Router 2: messages-sent 28 messages-received 28 ROuter 3: messages-sent 14 messages-received 14 Instead I get it as: Router 1: messages-sent 10 messages-received 10 Router 2: messages-sent 18 messages-received 18 ROuter 3: messages-sent 10 messages-received 10 Professor had mentioned in one of his previous mails that the count need not be exactly the same. But if it can be different, can someone please tell me as why would the count differ Chaitali From baruah at usc.edu Tue Mar 23 15:44:23 2004 From: baruah at usc.edu (pritam baruah) Date: Tue Mar 23 15:44:27 2004 Subject: [Csci551-talk] Queuing LSA messages Message-ID: <1099d301094a59.1094a591099d30@usc.edu> 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 :( !!! What is the use of the "last-hop router id" field in the LSA packet??? 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. From rkulkarn at usc.edu Tue Mar 23 15:46:02 2004 From: rkulkarn at usc.edu (rohit kulkarni) Date: Tue Mar 23 15:46:29 2004 Subject: [Csci551-talk] LSA packet structure Message-ID: <109cbc9109c794.109c794109cbc9@usc.edu> Hi, I still dont get the difference between responsible routes and links. The responsible routes would include the current link state of the router and that number would be equal to the number of links right ? So why are there two separate fields ? Why not have the far-end router id field as part of the responsible route fields ? Am i getting something wrong here ?? thanks, Rohit ----- Original Message ----- From: John Heidemann Date: Tuesday, March 23, 2004 11:14 am Subject: Re: [Csci551-talk] LSA packet structure > On Sat, 20 Mar 2004 21:47:22 PST, bhavin shukla wrote: > >hi, > >CAn some on please explain the meaning of the the following fields in the > lsa > >packet structure: > >1. no. of responsible routes > >2. no. of links > >3. address of route > > Those refer to the routes and links propagated in the message, > as come from either the config file or the current link state for that > router. > > -John Heidemann > From johnh at ISI.EDU Tue Mar 23 18:48:34 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 18:49:25 2004 Subject: [Csci551-talk] Prioritization of routes In-Reply-To: Message-ID: <200403240248.i2O2mY1r027523@dash.isi.edu> Mike's interpretation is correct in effect. Perhaps a clearer way to state it in the specification is, that, given otherwise equivalent routes, break ties in favor of lowest router id. -John Heidemann On Mon, 22 Mar 2004 13:48:17 PST, mike wakerly wrote: >Hi Amit, > >Next-hop value. This would make the most sense, even if you just >consider the information Dijkstra's algorithm requires. > >So if you had 2-<[3 or 4]>-5-6, all other things being equal, the >shortest path to 6 from 2 would not include 4. > >Cheers, >Mike > >On Mar 21, 2004, at 6:57 AM, amit pande wrote: > >> hi, >> for Prioritization of routes i have a doubt about what last-hop means: >> ex: >> 1-2-3-4-5 >> packets which are sent from 1 to 5 have next-hop as 2(the hop just >> after >> source) and last-hop as 4(the hop just before destination). >> so for prioritization do we take the last-hop as defined above or >> next-hop >> which could be thought as last-hop from incoming packets point of >> view(whose >> destination is 1).while creating a routing table entry at 1 for 5. >> thanks, >> amit >> From johnh at ISI.EDU Tue Mar 23 18:53:47 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 18:54:25 2004 Subject: [Csci551-talk] Can router processes quit without an exit()? In-Reply-To: Message-ID: <200403240253.i2O2rlfB027559@dash.isi.edu> On Mon, 22 Mar 2004 11:14:19 PST, ajay salpekar wrote: >I have this problem in stage2, where my routers seem to die on me. They don't >exit the while(1) loop (that contains the select), and they still dont show up >in the process list after I do a "ps gx". I don't even have an "exit()" >command anywhere in my router functions. > >Also, and more importantly, my packet flooding just seems to stop - the >program quits, after say about 100 message exchanges. Where have all my >routers gone? Anyone any ideas please? > > Sounds like your program has a bug and is crashing. You need to debug it. I recommend printfs or gdb or ddd. See the gdb and ddd "attach" commands to connect to forked processes. -John Heidemann From johnh at ISI.EDU Tue Mar 23 18:56:38 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 18:57:24 2004 Subject: [Csci551-talk] 'interrupted system call error ' In-Reply-To: Message-ID: <200403240256.i2O2uc1H027580@dash.isi.edu> On Mon, 22 Mar 2004 13:59:57 CST, dhanu agnihotri wrote: >i have a problem in stage 2: >when i receive packets it sends me ' interrupted system call ' error... >but it is receiving data correctly and the routers are exiting normally. >any idea why this is happening? >Thanks >dhanu Plugging "interrupted system call" (without the quotes) into Google shows a very helpful explanation that David Madore did. -John Heidemann From johnh at ISI.EDU Tue Mar 23 19:03:33 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 19:04:25 2004 Subject: [Csci551-talk] doubt about responsible routes In-Reply-To: Message-ID: <200403240303.i2O33XXn027723@dash.isi.edu> On Mon, 22 Mar 2004 16:52:17 PST, chaitali daftary wrote: > >I'm not able to clearly understand what does the responsible routes field in >the lsa packet mean. In case, there are no external routes then what would >this field indicate. >If it indicates the internal routes then what exactly are considered as >internal routes. Can someone please make this clear please. >Chaitali Basically it's a field that tells you how many routes to expect in the LS message---the number of routes that that router is "responsible" for. The project assignment says: > For stages 2 and 3, the "responsible" routes are whichever routes >are assigned to that origin router. For stage 3 you may relax this to >include routes injected from other ASes if you'd like. Since the config file only allows one route to be assigned to routers wihtout external routes, number of responsible routes will be pretty boring for them (just 1). For routers with external routes, the assignment gives other guidelines. A better term would be the nubmer of routes that that router originates, but for routers with external routes, one could argue that external routes originate externally. -John Heidemann From devarshi at ieee.org Tue Mar 23 17:47:47 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Tue Mar 23 19:37:25 2004 Subject: [Csci551-talk] LSA packet structure In-Reply-To: <109cbc9109c794.109c794109cbc9@usc.edu> Message-ID: The difference is this : Responsible routes = routes that you are responsible for handling. For example, if router 1 aggregates 192.168.0.0/16, it is said to be "responsible" for 192.168.0.0/16. The project definition says that a router may choose to propagate the injected (external) routes as its own - this means that for example, if 12.0.0.0/8 is injected into router 1, it can now propagate 12.0.0.0/8 as one of the routes it is "responsible" for. Thus, the "responsible" routes IS NOT the current link state of the router. On the other hand, links = number of directly connected neighbours. It does not bear any relation to the responsible routes. This can represent the current link state of the router. Hope that helps ! --devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rohit kulkarni Sent: Tuesday, March 23, 2004 3:46 PM To: John Heidemann Cc: csci551-talk@ISI.EDU Subject: Re: [Csci551-talk] LSA packet structure Hi, I still dont get the difference between responsible routes and links. The responsible routes would include the current link state of the router and that number would be equal to the number of links right ? So why are there two separate fields ? Why not have the far-end router id field as part of the responsible route fields ? Am i getting something wrong here ?? thanks, Rohit ----- Original Message ----- From: John Heidemann Date: Tuesday, March 23, 2004 11:14 am Subject: Re: [Csci551-talk] LSA packet structure > On Sat, 20 Mar 2004 21:47:22 PST, bhavin shukla wrote: > >hi, > >CAn some on please explain the meaning of the the following fields in the > lsa > >packet structure: > >1. no. of responsible routes > >2. no. of links > >3. address of route > > Those refer to the routes and links propagated in the message, > as come from either the config file or the current link state for that > router. > > -John Heidemann > From gvagarwa at usc.edu Tue Mar 23 21:33:20 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Tue Mar 23 21:33:25 2004 Subject: [Csci551-talk] Stage 2 Message-ID: <11cfe6711d14b3.11d14b311cfe67@usc.edu> Hi Do we print the output for stage 2 even when we consider an update but do not atually update. Thats the only reason I can think of why there are entries in the routing tables that do not change. Is this correct? Also I am getting exactly half the no of packets as in the example. Is that ok? Thanks Gaurav From johnh at ISI.EDU Tue Mar 23 21:52:43 2004 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 23 21:53:26 2004 Subject: [Csci551-talk] Are socket() return values supposed to be uniquely different, for processes? In-Reply-To: <20040319112539.9442.qmail@web41708.mail.yahoo.com> Message-ID: <200403240552.i2O5qhw9030741@dash.isi.edu> On Fri, 19 Mar 2004 03:25:39 PST, Nirav Jasapara wrote: >Hi, > >I faced the same problem. I think ( conclude ) file >descriptors can be same across process but unique >within a process. So getting a same return value from >socket() in router processes shouldnt be a problem ( >its the port numbers that should be unique ). This statement is correct. File descriptors in each process are allocated sequentially (0, 1, 2, etc.). Just like each process can have its own memory at a the same virtual memory address (pointer), each process can have its own "virtual" file descriptors with the same numeric value but pointing to different files. (Threads, on the other hand, share file descriptors with other threads in the same process.) For more details, see CSci402 or CSci555. -John Heidemann > >-- Nirav Jasapara. > >--- ajay salpekar wrote: >> I came across this while debugging.. wonder if it's >> a mistake with my code, or >> if things really are this way... >> >> I found that every time a router-process is forked, >> the integer return value >> from the socket( , , ) function is the SAME! >> >> in my case, it gives me tempsock = 5, for every >> router. Aren't these integers >> supposed to be unique, in the system? or is it ok >> for them to be the same, >> because each process has its own memory space (the >> integers represent separate >> sockets in UNIX, so I doubt this) >> >> >> I ask because I think this may be why my routers >> have trouble receiving their >> config info, in the last stage1 step. >> > > >__________________________________ >Do you Yahoo!? >Yahoo! Mail - More reliable, more storage, less spam >http://mail.yahoo.com From baruah at usc.edu Tue Mar 23 22:54:55 2004 From: baruah at usc.edu (pritam baruah) Date: Tue Mar 23 22:54:58 2004 Subject: [Csci551-talk] Re: Csci551-talk Digest, Vol 3, Issue 22 Message-ID: <120f9f0120ef18.120ef18120f9f0@usc.edu> >> What is the use of the "last-hop router id" field in the LSA packet??? Sorry for asking this ridiculous question. I had misunderstood the "last-hop" part of the field name. From atu011 at earthlink.net Tue Mar 23 23:06:16 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Tue Mar 23 23:06:22 2004 Subject: [Csci551-talk] Stuck in Stage 1. Need Help. In-Reply-To: <200403210724.i2L7OSk04972@gamma.isi.edu> Message-ID: <000001c4116e$80573490$08503e9f@LATUALP> I'm still stuck in stage 1, any help is appreciated. For each router child process, do we create a separate UDP port for receiving LS Msg from each neighboring router and a separate UDP port for sending LS Msg? For example, if router #1 is connected to router #2 and #3, do I create a two UDP ports for receiving LS msg from router #2 and #3 and a separate UDP port to send LS msg to them? When sending LS Update to a router, do we wait until ACK is received from that router before proceeding to sending the same LS Update msg to another router? Please advice. Aaron From atu011 at earthlink.net Tue Mar 23 23:11:56 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Tue Mar 23 23:12:02 2004 Subject: [Csci551-talk] What does reliable flooding mean? In-Reply-To: <200403210724.i2L7OSk04972@gamma.isi.edu> Message-ID: <000101c4116f$4aefad40$08503e9f@LATUALP> What does reliable flooding mean? Particularly what is meant by flooding? Broadcast? With UDP??? Aaron From liyuan at pollux.usc.edu Wed Mar 24 01:34:47 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Wed Mar 24 01:35:26 2004 Subject: [Csci551-talk] Stage 2 In-Reply-To: <11cfe6711d14b3.11d14b311cfe67@usc.edu> Message-ID: On Tue, 23 Mar 2004, gaurav agarwal wrote: > Hi > > Do we print the output for stage 2 even when we consider an update but do not > atually update. Thats the only reason I can think of why there are entries in > the routing tables that do not change. Is this correct? As long as the output shows each evolution of the routing table (whenever it changes), that is fine. To help the grading, it would be better if your program does not print out identical consecutive routing tables. > > Also I am getting exactly half the no of packets as in the example. Is that ok? You are not required to get exactly the same message counts as our implementation. > > Thanks > Gaurav > From liyuan at pollux.usc.edu Wed Mar 24 01:39:39 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Wed Mar 24 01:39:43 2004 Subject: [Csci551-talk] Neighbour IPs In-Reply-To: Message-ID: I am not sure why you need to do this. If you want to change the LS message format, please document it in the readme file and explain why the change is needed. Thanks Yuan On Tue, 23 Mar 2004, gaurav agarwal wrote: > HI > > Is it acceptable if I send far end router IP address and mask along with the > far end router id? > > Thanks, > Gaurav > From wpun at usc.edu Wed Mar 24 01:21:35 2004 From: wpun at usc.edu (Raymond Pun) Date: Wed Mar 24 09:07:29 2004 Subject: [Csci551-talk] Last ls message dump Message-ID: <00b301c411c2$5fef4360$a701a8c0@raymond> hi, is there any format i have to follow for the message dump? What I am now doing is simply print out the msg byte by byte, straight forward... disregarding the endian and the structure of the message. I found my dump is different from the sample output. e.g. for the sequence number 1, the sample output will have 0001, mine will have 0100. will it be a problem? regards, Raymond From johnh at ISI.EDU Wed Mar 24 10:09:59 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 10:10:45 2004 Subject: [Csci551-talk] Bus Error. In-Reply-To: <20040319113500.82615.qmail@web41709.mail.yahoo.com> Message-ID: <200403241809.i2OI9xPP005208@dash.isi.edu> On Fri, 19 Mar 2004 03:35:00 PST, Nirav Jasapara wrote: >Hi, > >My code was working just fine and suddenly this 'Bus >Error' poped up. > >It is encountered when the following function tries to >return . > ><> >void getnextline(char *temp){ > int i=0; > gets(temp); >... >... >... > printf(" --------- %s --------- \n",temp); > printf(" return\n"); > return; >} ><> > >Anybody else got this kinda error ? >Any solutions ? You should to review your C and memory allocation. As a place to start, see the C FAQ, particularly . You may also want to come in to the TA or my office hours to discuss this question. -John Heidemann From coolrocks at tom.com Wed Mar 24 11:17:37 2004 From: coolrocks at tom.com (Coolrocks) Date: Wed Mar 24 11:18:39 2004 Subject: [Csci551-talk] doubt about responsible routes References: <200403240303.i2O33XXn027723@dash.isi.edu> Message-ID: <007b01c411d4$ad4621d0$6500a8c0@coolrocks> Hi, The following email confused me. In an LS message, where do "I"(original router) put "my" neighbors'(both internal and external) information, which includes IP/prefix, med, router ID? If I consider an external router as a "link" too, there is only a "far-end router ID" field for each link, where do I put the rest of the information (IP/prefix & med)?? As a solution, if we treat external and internal routes as the same, I suggest that extend the definition of "number of responsible routes" to "number of neighbors", thus, we can fill in all the information (including IP/prefix, med & router ID)about "routes" in the fields for "each responsible route". Hence, the "number of links" & "far-end router id" field can be removed. Please enlighten! Thanks! ----- Original Message ----- From: "John Heidemann" To: "chaitali daftary" Cc: ; Sent: Tuesday, March 23, 2004 7:03 PM Subject: Re: [Csci551-talk] doubt about responsible routes > On Mon, 22 Mar 2004 16:52:17 PST, chaitali daftary wrote: > > > >I'm not able to clearly understand what does the responsible routes field in > >the lsa packet mean. In case, there are no external routes then what would > >this field indicate. > >If it indicates the internal routes then what exactly are considered as > >internal routes. Can someone please make this clear please. > >Chaitali > > Basically it's a field that tells you how many routes to expect in the > LS message---the number of routes that that router is "responsible" for. > > The project assignment says: > > > For stages 2 and 3, the "responsible" routes are whichever routes > >are assigned to that origin router. For stage 3 you may relax this to > >include routes injected from other ASes if you'd like. > > > Since the config file only allows one route to be assigned to routers > wihtout external routes, number of responsible routes will be pretty > boring for them (just 1). > > For routers with external routes, the assignment gives other guidelines. > > > A better term would be the nubmer of routes that that router > originates, but for routers with external routes, one could argue that > external routes originate externally. > > > -John Heidemann > > From johnh at ISI.EDU Wed Mar 24 18:00:50 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:01:30 2004 Subject: [Csci551-talk] stage 2 In-Reply-To: Message-ID: <200403250200.i2P20o8T009740@dash.isi.edu> On Tue, 23 Mar 2004 10:14:47 PST, payal singh wrote: >hi.. > >r we supposed to update the routing table everytime we get a lsa pkt...? >and then just print it out?.. > >lemme know.. > >thanks.. The assignment says in the stage 2 output section: }This file should contain the complete routing table of the }corresponding router for each step in the evolution of the routing }table. So, you must print the table AT LEAST every time it changes. It's OK if you print it some extra times (like each time that router gets an LSA packet). It's not OK if you print it an unreasonably large number of times (like every microsecond!). -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:04:16 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:04:29 2004 Subject: [Csci551-talk] Dijkstra's when? In-Reply-To: Message-ID: <200403250204.i2P24Gpc009767@dash.isi.edu> On Tue, 23 Mar 2004 11:24:27 PST, ajay salpekar wrote: >On what occassion must the router run Dijkstra's? >Is it on the receipt of any/every packet, or only when its Links change, or >only when it's routing matrix changes? > >I think it's the third... but this causes the s2_3 table at router 2 to change >only twice, whereas the output file shows 4 instances of output from router 2. > >Please help me out here, thanks. As often as necessary to get the right answer. You should think about what the inputs and outputs are and, what changes to the inputs affect the outputs. -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:09:07 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:09:30 2004 Subject: [Csci551-talk] Re: problem with running code on solaris In-Reply-To: Message-ID: <200403250209.i2P297pL009815@dash.isi.edu> On Tue, 23 Mar 2004 11:39:38 PST, swara tambe wrote: >Hi again, > >I did add a sleep() after the fork() in the code I had on Solaris (nunki) and >it started printing out unique tcp and udp ports, so I thought I had the >problem solved. > >However, once again I am facing the same issue...the code runs fine on Linux >(all udp ports are unique), but on Solaris I get either 0 or the same tcp port >of 11028 and udp port of 62528 for all routers. Adding a sleep() had cured the >problem last time, but its not working this time! What puzzles is the fact >that the very same code runs fine on Linux. Is anyone facing similar problems. >Why does it do this on Solaris and what is the solution to it? Please advice. You need to think about how to debug this kind of problem. If your full program is too complicated to debug, I recommend you write a smaller test program to just test socket + fork. As I said before, adding sleep() to "fix" something suggests that you're doing something incorrectly. See also the "strange problems" section of the C FAQ for hints about "This program runs perfectly on one machine, but I get weird results on another": http://www.eskimo.com/~scs/C-faq/s16.html -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:15:38 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:15:40 2004 Subject: [Csci551-talk] KILL THE MARSHALL (unmarshall him) hawhaw In-Reply-To: Message-ID: <200403250215.i2P2FcBE009867@dash.isi.edu> On Tue, 23 Mar 2004 12:33:52 PST, pritam baruah wrote: > >Someone asked about marshalling/unmarshalling. There is no need to do it if the >compiler is instructed a-priori not to insert padding on word boundaries within >structures. Another way is manually inserting a dummy 8 bit field after the >"type" field and a dummy 16 bit field after the "number of links" field. These >are little hacks so you should use them at your own peril. Beware :- Dummy >fields require cognizance of endianness of the processor architecture. You can >use preprocessor macros to selectively produce "endian" adjusted compiler >inputs. Let me be explicit: For this project, you WILL NEED to use marshalling. You're correct that in some cases you can make special requests of the compiler to avoid padding. However that is not portable code. It will also produce code that runs VERY slowly because the program will have to pack and unpack those variables ANY time it accesses them. A program that manipulates the compiler in this way would not be worth full credit for this assignment. But more importantly, if you look at the structure, it has two variable length fields. How are you going to handle both of these with complier tricks? -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:17:27 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:17:29 2004 Subject: [Csci551-talk] Neighbour IPs In-Reply-To: Message-ID: <200403250217.i2P2HRfw009886@dash.isi.edu> On Tue, 23 Mar 2004 13:10:12 PST, gaurav agarwal wrote: >HI > >Is it acceptable if I send far end router IP address and mask along with the >far end router id? > >Thanks, >Gaurav The project assignment says in the readmefile: Message format: Did you make any changes to the LS message format? Did you add any fields? If so, what and why? If you make changes to other messages, you shoudl document what changes you make and why in the README. However, you should not NEED to make any additions as you're describing. -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:18:36 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:18:38 2004 Subject: [Csci551-talk] Max Retransmit In-Reply-To: <100e616100e8cc.100e8cc100e616@usc.edu> Message-ID: <200403250218.i2P2Ia7s009906@dash.isi.edu> On Tue, 23 Mar 2004 13:43:14 PST, samir mehta wrote: >What is the max retransmit timer that we should set ? >This is reqd. in case the loss rate is too high? >Say if its 5 . > >Assume 1-2 link 2-3 link > >Assume that all routers find that their neighbours r alive i.e. initial links >0 packets get acked >Hence 2 passes this information i.e. 1-2 link to router 3 > >now say a packet transmitted from 1-2 gets dropped 5 times and routers 2 >claims that 1-2 link is down. >This leads to change in its routing table 1-2 infinity >Now Should router 2 pass this new information to 3?? >if router 3 doesnt pass this information then therez inconsistency in the >routing table of 3 > > >What if router 3 has aldready timed out before he is supposed to receive this >new information ?? > >Router 1 may now claim that router 3 is also down. > >Plz clarify this. You can assume that the loss rate will not be exhorbitant. You should be prepared to handle multiple losses of a message, but not an infintie number. -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:20:37 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:20:39 2004 Subject: [Csci551-talk] Problem with number of messages sent and received In-Reply-To: <1081df9107db09.107db091081df9@usc.edu> Message-ID: <200403250220.i2P2KbGS009927@dash.isi.edu> On Tue, 23 Mar 2004 15:26:12 PST, chaitali daftary wrote: >I'm having a problem with number of messages sent and received in stage 2. I'm >discarding messages whos ttl has expired and whose sequence number is not >recent and if im sending the message back to the origin id. I'm considering >all other messages each router sends to itself and its neighbors, forwarded >messages and acks. But I dont get the output given in the sample output as >Router 1: >messages-sent 14 >messages-received 14 >Router 2: >messages-sent 28 >messages-received 28 >ROuter 3: >messages-sent 14 >messages-received 14 > >Instead I get it as: > >Router 1: >messages-sent 10 >messages-received 10 >Router 2: >messages-sent 18 >messages-received 18 >ROuter 3: >messages-sent 10 >messages-received 10 > >Professor had mentioned in one of his previous mails that the count need not >be exactly the same. But if it can be different, can someone please tell me as >why would the count differ Turn that question around. What requirements would it take to make the message count the same in everyone's program? (Hint about one reason: how much control do you have about the execution order of independent processes?) Then it should be apparent why messages might be different. -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:32:57 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:33:30 2004 Subject: [Csci551-talk] Last ls message dump In-Reply-To: <00b301c411c2$5fef4360$a701a8c0@raymond> Message-ID: <200403250232.i2P2WvpG010134@dash.isi.edu> On Wed, 24 Mar 2004 01:21:35 PST, "Raymond Pun" wrote: >hi, > >is there any format i have to follow for the message dump? >What I am now doing is simply print out the msg byte by byte, straight >forward... disregarding the endian and the structure of the message. I found >my dump is different from the sample output. >e.g. >for the sequence number 1, the sample output will have 0001, mine will have >0100. >will it be a problem? > >regards, >Raymond YES, you should just print out the message byte-wise, as per this code: char *message; // should be pointer to your raw, over-the-wire message for (int i = 0; i < NUMBER_OF_BYTES_SENT; i++) { char buf[10]; sprintf(buf, "%02x", message[i]); cout << buf; }; If your output doesn't match ours, then that would indicate that you have improperly encoded your message. (See the discussion on the list about marshalling!) -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:37:32 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:37:34 2004 Subject: [Csci551-talk] Queuing LSA messages In-Reply-To: <1099d301094a59.1094a591099d30@usc.edu> Message-ID: <200403250237.i2P2bW86010155@dash.isi.edu> 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. -John Heidemann From johnh at ISI.EDU Wed Mar 24 18:50:45 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:51:33 2004 Subject: [Csci551-talk] doubt about responsible routes In-Reply-To: <007b01c411d4$ad4621d0$6500a8c0@coolrocks> Message-ID: <200403250250.i2P2ojNn010244@dash.isi.edu> On Wed, 24 Mar 2004 11:17:37 PST, "Coolrocks" wrote: >Hi, > The following email confused me. In an LS message, where do >"I"(original router) put "my" neighbors'(both internal and external) >information, which includes IP/prefix, med, router ID? If I consider an >external router as a "link" too, there is only a "far-end router ID" field >for each link, where do I put the rest of the information (IP/prefix & >med)?? > As a solution, if we treat external and internal routes as the same, I >suggest that extend the definition of "number of responsible routes" to >"number of neighbors", thus, we can fill in all the information (including >IP/prefix, med & router ID)about "routes" in the fields for "each >responsible route". Hence, the "number of links" & "far-end router id" field >can be removed. > Please enlighten! I think you need to review link state routing about the differences between routes and links. You may want to look the Peterson and Davies book recommended in the syllabus, or review your notes from EE450, or come in during my or the TA's office hours to discuss this. Ignoring internal and external routes for the moment, you do not add neighbor routes to your LS messages. That's not how LS routing works. (That is part of how distance-vector routing works, but this assignment is LS, not DV!) For this assignment, as a simplification, we do not create processes to represent for external routers. Thus, for this assignment, a router can be "responsible" for both its routes and the external routes associated with it. But you should not try to generalize this to other interal routes. -John Heidemann > >Thanks! > >----- Original Message ----- >From: "John Heidemann" >To: "chaitali daftary" >Cc: ; >Sent: Tuesday, March 23, 2004 7:03 PM >Subject: Re: [Csci551-talk] doubt about responsible routes > > >> On Mon, 22 Mar 2004 16:52:17 PST, chaitali daftary wrote: >> > >> >I'm not able to clearly understand what does the responsible routes field >in >> >the lsa packet mean. In case, there are no external routes then what >would >> >this field indicate. >> >If it indicates the internal routes then what exactly are considered as >> >internal routes. Can someone please make this clear please. >> >Chaitali >> >> Basically it's a field that tells you how many routes to expect in the >> LS message---the number of routes that that router is "responsible" for. >> >> The project assignment says: >> >> > For stages 2 and 3, the "responsible" routes are whichever routes >> >are assigned to that origin router. For stage 3 you may relax this to >> >include routes injected from other ASes if you'd like. >> >> >> Since the config file only allows one route to be assigned to routers >> wihtout external routes, number of responsible routes will be pretty >> boring for them (just 1). >> >> For routers with external routes, the assignment gives other guidelines. >> >> >> A better term would be the nubmer of routes that that router >> originates, but for routers with external routes, one could argue that >> external routes originate externally. >> >> >> -John Heidemann >> >> > From johnh at ISI.EDU Wed Mar 24 18:53:58 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 18:54:01 2004 Subject: [Csci551-talk] What does reliable flooding mean? In-Reply-To: <000101c4116f$4aefad40$08503e9f@LATUALP> Message-ID: <200403250253.i2P2rwOx010265@dash.isi.edu> On Tue, 23 Mar 2004 23:11:56 PST, "Aaron Tu" wrote: >What does reliable flooding mean? Particularly what is meant by >flooding? Broadcast? With UDP??? > >Aaron Reliable flooding is part of the standard LS algorithm. You should review your EE450 notes or the Peterson and Davie book (recommended in the syllabus). If it's not clear after that, please send me additional mail or come in during my or the TA's office hours to discuss it. -John Heidemann From devarshi at ieee.org Wed Mar 24 19:03:27 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Wed Mar 24 19:11:24 2004 Subject: [Csci551-talk] Last ls message dump In-Reply-To: <200403250232.i2P2WvpG010134@dash.isi.edu> Message-ID: Hi Dr. Heidemann, Just one question regarding the output. S4-1.out lists the last-lsa-msg-sent as : 00 0001 000f 0001 0001 0002 0001 0a010100100000c0a30c001800020002 The project definition does not specify that the type (1st field) is to be set to 0 for a LSA message. So, since I set it to 1, what I get is this : 01 0002 0010 0001 0001 0002 0001 0a010100100000c0a30c001800020002 Moreover, the definition says that TTL (3rd field) needs to be set to 16 - which turns out to be 0010 and not 000f as the sample output indicates. I hope that these two, and the difference in sequence numbers are tolerable differences in the outputs - or are they not ?? --Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of John Heidemann Sent: Wednesday, March 24, 2004 6:33 PM To: Raymond Pun Cc: csci551-talk@ISI.EDU Subject: Re: [Csci551-talk] Last ls message dump On Wed, 24 Mar 2004 01:21:35 PST, "Raymond Pun" wrote: >hi, > >is there any format i have to follow for the message dump? >What I am now doing is simply print out the msg byte by byte, straight >forward... disregarding the endian and the structure of the message. I found >my dump is different from the sample output. >e.g. >for the sequence number 1, the sample output will have 0001, mine will have >0100. >will it be a problem? > >regards, >Raymond YES, you should just print out the message byte-wise, as per this code: char *message; // should be pointer to your raw, over-the-wire message for (int i = 0; i < NUMBER_OF_BYTES_SENT; i++) { char buf[10]; sprintf(buf, "%02x", message[i]); cout << buf; }; If your output doesn't match ours, then that would indicate that you have improperly encoded your message. (See the discussion on the list about marshalling!) -John Heidemann From johnh at ISI.EDU Wed Mar 24 19:16:19 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 19:16:32 2004 Subject: [Csci551-talk] Output for Stage 2 In-Reply-To: Message-ID: <200403250316.i2P3GJfk010771@dash.isi.edu> On Tue, 23 Mar 2004 02:45:09 PST, rohit kulkarni wrote: >Hi, > >But i have observed in the output files for the routers that many times whole >consecutive routing tables are identical. why is that so ?? I wrote earlier tonight: } }The assignment says in the stage 2 output section: } }}This file should contain the complete routing table of the }}corresponding router for each step in the evolution of the routing }}table. } }So, you must print the table AT LEAST every time it changes. } }It's OK if you print it some extra times (like each time that router }gets an LSA packet). } }It's not OK if you print it an unreasonably large number of times }(like every microsecond!). This would be an example of "some extra times" in the sample output. -John Heidemann From johnh at ISI.EDU Wed Mar 24 19:28:00 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 24 19:28:59 2004 Subject: [Csci551-talk] Last ls message dump In-Reply-To: Message-ID: <200403250328.i2P3S0Fn011010@dash.isi.edu> On Wed, 24 Mar 2004 19:03:27 PST, "Devarshi Shah" wrote: >Hi Dr. Heidemann, > >Just one question regarding the output. S4-1.out lists the last-lsa-msg-sent >as : >00 0001 000f 0001 0001 0002 0001 0a010100100000c0a30c001800020002 > >The project definition does not specify that the type (1st field) is to be >set to 0 for a LSA message. So, since I set it to 1, what I get is this : > >01 0002 0010 0001 0001 0002 0001 0a010100100000c0a30c001800020002 > >Moreover, the definition says that TTL (3rd field) needs to be set to 16 - >which turns out to be 0010 and not 000f as the sample output indicates. > >I hope that these two, and the difference in sequence numbers are tolerable >differences in the outputs - or are they not ?? Yes, if the project definition does not mandate something, then you can do other things. You should document in the README file where and why you have diffrences, though. And yes, the sample code sets TTL to 15. Based on the flurry of e-mail messages today and yesterday, that would be a bug :-). -John Heidemann From baruah at usc.edu Wed Mar 24 20:03:59 2004 From: baruah at usc.edu (pritam baruah) Date: Wed Mar 24 20:04:02 2004 Subject: [Csci551-talk] beating the retreat - the marshall is here! Message-ID: <14b48c14b308.14b30814b48c@usc.edu> To Prof. Heidemann, Point noted :) To the group, One thing I forgot to point out in my previously stated hacks is that variable length fields have to be handled explictly. There are delimiting techniques within a packed structure which might allow for some degree of lessened work but as of tonite, all of you have heard what the new rule is - so I am not responsible for any lost points in your grades. I have washed my hands off this. I am going to marshall/unmarshall myself. hasty retreat, Pritam. From amitpand at usc.edu Wed Mar 24 20:20:36 2004 From: amitpand at usc.edu (amit pande) Date: Wed Mar 24 20:20:45 2004 Subject: [Csci551-talk] last lsa message Message-ID: <15a3c9153986.15398615a3c9@usc.edu> Hi, what does the lsa message sent mean: last lsa message generated by the node or it could also include forwarded message in which case hex output would be quite different depending on which was the last message forwarded? so should we print the last lsa message generated by the node? amit From paragsha at usc.edu Wed Mar 24 20:37:34 2004 From: paragsha at usc.edu (parag shah) Date: Wed Mar 24 20:37:38 2004 Subject: [Csci551-talk] stage 2 infinite loop exiting Message-ID: <1604ee159ac6.159ac61604ee@usc.edu> hey all i am doing udp communication in an infinite while loop , without any code to explicitily come out of the while loop(as i have not implemented the time outs as yet). still when i run the prog , after some communication .... i get a prompt ie the program exits normally!!! any idea wht this might be due to thanks parag From harshits at usc.edu Wed Mar 24 21:22:44 2004 From: harshits at usc.edu (harshit shah) Date: Wed Mar 24 21:22:47 2004 Subject: [Csci551-talk] stage 2 infinite loop exiting Message-ID: <1722471736a5.1736a5172247@usc.edu> Not sure, but while using select, if it times out and there was no else condition, it exits out of the process.. Try putting something in the else field of the ISSET used with select and put a continue or somethin to go on in the loop Harshit ----- Original Message ----- From: parag shah Date: Wednesday, March 24, 2004 8:37 pm Subject: [Csci551-talk] stage 2 infinite loop exiting > hey all > > i am doing udp communication in an infinite while loop , without any code > to > explicitily come out of the while loop(as i have not implemented the time > outs > as yet). > > still when i run the prog , after some communication .... i get a prompt > ie > the program exits normally!!! > > any idea wht this might be due to > > thanks > parag > > > From amitpand at usc.edu Wed Mar 24 22:30:27 2004 From: amitpand at usc.edu (amit pande) Date: Wed Mar 24 22:31:51 2004 Subject: [Csci551-talk] make Message-ID: <1a950e1ac9a0.1ac9a01a950e@usc.edu> Hi, can we use gmake instead of make. (the timer makefile gives error with make but works perfectly with gmake.) amit From mqin at usc.edu Wed Mar 24 22:54:59 2004 From: mqin at usc.edu (min) Date: Wed Mar 24 22:57:31 2004 Subject: [Csci551-talk] does last-message-sent dump include forwarding messages? Message-ID: <00b001c41236$16d77750$aade6e45@jimmy> Hi, is the last-message sent only related to the mesage sent by the router itself? or does it also could be a forwarding message? Min -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040324/6a8ecbf4/attachment.html From mqin at usc.edu Thu Mar 25 01:23:19 2004 From: mqin at usc.edu (min) Date: Thu Mar 25 01:25:40 2004 Subject: [Csci551-talk] print out the routing table problem Message-ID: <004901c4124a$cf938d10$aade6e45@jimmy> Hi, I have a problem when should be print out the routing table, especially when loss rate is high considered the following situation, router 1 connects to router 2 and router 2 connects to router 3, there is no connection between 1 and 3 Now suppose the LS message created by router 2 is always dropped due to bad luck(but forwarding message through 2 always got through). So when router 1 get a message from router 3 forwarded by router 2, it is not able to change its routing table, because it don't know the information of router 2. Only when it receives a LS message from router2, it can print out the routing table, am I right? Min -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040325/ced74b6a/attachment.html From gvagarwa at usc.edu Thu Mar 25 03:09:07 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Thu Mar 25 03:09:10 2004 Subject: [Csci551-talk] Stage 4 Message-ID: <2252672212fa.2212fa225267@usc.edu> Hi What is the use of the external ID, if we are anyways always going to use the peer id? Also do we assume the distance of the peer to the ext as 1? Thanks Gaurav From wpun at usc.edu Thu Mar 25 03:27:17 2004 From: wpun at usc.edu (Raymond Pun) Date: Thu Mar 25 03:27:38 2004 Subject: [Csci551-talk] stage 2 infinite loop exiting References: <1722471736a5.1736a5172247@usc.edu> Message-ID: <02a001c4125c$21d70f50$a701a8c0@raymond> I guess you get some segmentation fault in the middle of the loop. In my case, seg fault in the forked process doesn't show any error, it simple quit... so.... u can print some lines to see which line get seg fault hope this help regards, Raymond ----- Original Message ----- From: "harshit shah" To: "parag shah" ; Sent: Wednesday, March 24, 2004 21:22 Subject: Re: [Csci551-talk] stage 2 infinite loop exiting > Not sure, but while using select, if it times out and there was no else > condition, it exits out of the process.. > > Try putting something in the else field of the ISSET used with select and put > a continue or somethin to go on in the loop > > Harshit > > ----- Original Message ----- > From: parag shah > Date: Wednesday, March 24, 2004 8:37 pm > Subject: [Csci551-talk] stage 2 infinite loop exiting > > > hey all > > > > i am doing udp communication in an infinite while loop , without any code > > to > > explicitily come out of the while loop(as i have not implemented the time > > outs > > as yet). > > > > still when i run the prog , after some communication .... i get a prompt > > ie > > the program exits normally!!! > > > > any idea wht this might be due to > > > > thanks > > parag > > > > > > > > From wpun at usc.edu Thu Mar 25 03:50:35 2004 From: wpun at usc.edu (Raymond Pun) Date: Thu Mar 25 03:51:33 2004 Subject: [Csci551-talk] Last ls message dump References: <200403250232.i2P2WvpG010134@dash.isi.edu> Message-ID: <033201c4125f$6299b490$a701a8c0@raymond> Hi, What do u mean exactly by marshalling? In my interpretation, marshalling is to encode the message in such a format that the receiver side is able to read it. The marshalling method I am doing now is using memcpy() to copy the fields in my structure to the raw message. Therefore, my raw message i send out follows exactly as the project description specified. By "follow exactly", I mean it in terms of the size of each field in the raw mesage. But, the project descritption does not sepcify how the bytes in a field with 2 bytes or 4 bytes should be ordered. Should we use big endian or little endian, or should be convert it into network byte order? If we have to follow the dump format.... what method should we use to marshall the message? or there is a standard way to do so but I dont' know? please advice. many thanks. regards, Raymond ----- Original Message ----- From: "John Heidemann" To: "Raymond Pun" Cc: Sent: Wednesday, March 24, 2004 18:32 Subject: Re: [Csci551-talk] Last ls message dump > On Wed, 24 Mar 2004 01:21:35 PST, "Raymond Pun" wrote: > >hi, > > > >is there any format i have to follow for the message dump? > >What I am now doing is simply print out the msg byte by byte, straight > >forward... disregarding the endian and the structure of the message. I found > >my dump is different from the sample output. > >e.g. > >for the sequence number 1, the sample output will have 0001, mine will have > >0100. > >will it be a problem? > > > >regards, > >Raymond > > > YES, you should just print out the message byte-wise, as per this > code: > > char *message; // should be pointer to your raw, over-the-wire message > for (int i = 0; i < NUMBER_OF_BYTES_SENT; i++) { > char buf[10]; > sprintf(buf, "%02x", message[i]); > cout << buf; > }; > > If your output doesn't match ours, then that would indicate that you > have improperly encoded your message. > (See the discussion on the list about marshalling!) > > -John Heidemann > From liyuan at pollux.usc.edu Thu Mar 25 09:27:43 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Thu Mar 25 09:28:32 2004 Subject: [Csci551-talk] does last-message-sent dump include forwarding messages? In-Reply-To: <00b001c41236$16d77750$aade6e45@jimmy> Message-ID: It is the last message generated and sent by the router. It does not include the forwarded packets. Thanks Yuan On Wed, 24 Mar 2004, min wrote: > Hi, > is the last-message sent only related to the mesage sent by the router itself? or does it also could be a forwarding message? > > > Min > From liyuan at pollux.usc.edu Thu Mar 25 09:29:43 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Thu Mar 25 09:29:47 2004 Subject: [Csci551-talk] last lsa message In-Reply-To: <15a3c9153986.15398615a3c9@usc.edu> Message-ID: the last lsa message generated by the node. Thanks Yuan On Wed, 24 Mar 2004, amit pande wrote: > Hi, > what does the lsa message sent mean: > last lsa message generated by the node or it could also include forwarded > message in which case hex output would be quite different depending on which > was the last message forwarded? > so should we print the last lsa message generated by the node? > amit > From johnh at ISI.EDU Thu Mar 25 11:30:33 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 25 11:30:39 2004 Subject: [Csci551-talk] last lsa message In-Reply-To: Message-ID: <200403251930.i2PJUXGZ029184@dash.isi.edu> On Thu, 25 Mar 2004 09:29:43 PST, Yuan Li wrote: > >the last lsa message generated by the node. > >Thanks > >Yuan > >On Wed, 24 Mar 2004, amit pande wrote: > >> Hi, >> what does the lsa message sent mean: >> last lsa message generated by the node or it could also include forwarded >> message in which case hex output would be quite different depending on which >> was the last message forwarded? >> so should we print the last lsa message generated by the node? >> amit >> Yuan's comment is correct. Rather than last-ls-msg-sent, it should really be last ls message ORIGINIATED. (Please don't change the label, though.) As opposed to messages-sent which refers to both originated and forwarded. My apologies for the ambiguity. -John Heidemann From johnh at ISI.EDU Thu Mar 25 11:42:59 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 25 11:43:42 2004 Subject: [Csci551-talk] make In-Reply-To: <1a950e1ac9a0.1ac9a01a950e@usc.edu> Message-ID: <200403251942.i2PJgxch029256@dash.isi.edu> On Wed, 24 Mar 2004 22:30:27 PST, amit pande wrote: >Hi, >can we use gmake instead of make. (the timer makefile gives error with make >but works perfectly with gmake.) >amit THis question is covered in the specification. The timer makefile should work with Solaris make. If not, you should modify it as necessary. -John Heidemann From johnh at ISI.EDU Thu Mar 25 11:43:50 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 25 11:44:30 2004 Subject: [Csci551-talk] network byte order on Project A Message-ID: <200403251943.i2PJhobq029280@dash.isi.edu> A student asked if Project A requires the data be encoded network byte order. The assignment does not specify what byte ordering to use, so you may chose to use network-byte order or not. You should mention which you do in the "message format" section of the README file. (The sample output does use network byte order. You may wish to review htonl/htons/ntohl/ntohs functions in the standard library to handle conversions if you chose to do them.) -John Heidemann From johnh at ISI.EDU Thu Mar 25 11:46:36 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 25 11:46:41 2004 Subject: [Csci551-talk] Stage 4 In-Reply-To: <2252672212fa.2212fa225267@usc.edu> Message-ID: <200403251946.i2PJkar2029327@dash.isi.edu> On Thu, 25 Mar 2004 03:09:07 PST, gaurav agarwal wrote: >Hi > >What is the use of the external ID, if we are anyways always going to use the >peer id? >Also do we assume the distance of the peer to the ext as 1? Since the project doesn't specify distances, yes. -John Heidemann From johnh at ISI.EDU Thu Mar 25 11:50:38 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 25 11:51:38 2004 Subject: [Csci551-talk] print out the routing table problem In-Reply-To: <004901c4124a$cf938d10$aade6e45@jimmy> Message-ID: <200403251950.i2PJodfW029381@dash.isi.edu> On Thu, 25 Mar 2004 01:23:19 PST, min wrote: >Hi, > I have a problem when should be print out the routing table, especially >when loss rate is high > > considered the following situation, router 1 connects to router 2 and >router 2 connects to router 3, there is no connection between 1 and 3 > > Now suppose the LS message created by router 2 is always dropped due >to bad luck(but forwarding message through 2 always got through). So when >router 1 get a message from router 3 forwarded by router 2, it is not able >to change its routing table, because it don't know the information of router >2. Only when it receives a LS message from router2, it can print out the >routing table, am I right? > >Min > > I previously posted to the list: }The assignment says in the stage 2 output section: } }}This file should contain the complete routing table of the }}corresponding router for each step in the evolution of the routing }}table. } }So, you must print the table AT LEAST every time it changes. } }It's OK if you print it some extra times (like each time that router }gets an LSA packet). } }It's not OK if you print it an unreasonably large number of times }(like every microsecond!). -John Heidemann From johnh at ISI.EDU Thu Mar 25 14:27:31 2004 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 25 14:28:34 2004 Subject: [Csci551-talk] marshalling in class tomorrow Message-ID: <200403252227.i2PMRVdv030443@dash.isi.edu> Because of the number of comments about marshalling regarding the project, I will talk about it briefly at the beginning of class tomorrow. -John Heidemann From gvagarwa at usc.edu Thu Mar 25 20:48:29 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Thu Mar 25 20:48:36 2004 Subject: [Csci551-talk] Stage 4 Message-ID: <52dcb252ed7d.52ed7d52dcb2@usc.edu> Hi Professor What about the first question? > >What is the use of the external ID, if we are anyways always going to use > the peer id? In my routing table I am using the peer ID, is that ok? Thanks Gaurav ----- Original Message ----- From: John Heidemann Date: Thursday, March 25, 2004 11:46 am Subject: Re: [Csci551-talk] Stage 4 > On Thu, 25 Mar 2004 03:09:07 PST, gaurav agarwal wrote: > >Hi > > > >What is the use of the external ID, if we are anyways always going to use > the > >peer id? > >Also do we assume the distance of the peer to the ext as 1? > > Since the project doesn't specify distances, yes. > > -John Heidemann > From liyuan at pollux.usc.edu Fri Mar 26 10:20:59 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Fri Mar 26 10:21:32 2004 Subject: [Csci551-talk] More clarifications on Slip Day Message-ID: More clarifications: There is no penalty for using the slip day. It is free! Everyone has ONE slip day for this class. Thanks Yuan From atu011 at earthlink.net Fri Mar 26 12:20:34 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Fri Mar 26 12:20:50 2004 Subject: [Csci551-talk] Periodic Update In-Reply-To: <200403262000.i2QK03k10419@gamma.isi.edu> Message-ID: <000301c4136f$cb7fbb60$6401a8c0@LATUALP> Do we have to send periodic update? If so, how often? Aaron From atu011 at earthlink.net Fri Mar 26 12:23:06 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Fri Mar 26 12:23:18 2004 Subject: [Csci551-talk] Different Stages In-Reply-To: <200403262000.i2QK03k10419@gamma.isi.edu> Message-ID: <000401c41370$26422330$6401a8c0@LATUALP> Are we suppose to have different executable for each stage (1-5)? Aaron From atu011 at earthlink.net Fri Mar 26 12:26:18 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Fri Mar 26 12:26:29 2004 Subject: [Csci551-talk] Timer Lib In-Reply-To: <200403262000.i2QK03k10419@gamma.isi.edu> Message-ID: <000501c41370$9870a300$6401a8c0@LATUALP> Are we allowed to include the handle for the timer (lib) in the LS message? Is there a better way to keep track of all the timers? Aaron From atu011 at earthlink.net Fri Mar 26 12:34:16 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Fri Mar 26 12:34:28 2004 Subject: [Csci551-talk] RE: More clarifications on Slip Day In-Reply-To: <200403262000.i2QK03k10419@gamma.isi.edu> Message-ID: <000601c41371$b5703b40$6401a8c0@LATUALP> ------------------------------ Message: 3 Date: Fri, 26 Mar 2004 10:20:59 -0800 (PST) From: Yuan Li Subject: [Csci551-talk] More clarifications on Slip Day How do we elect this option? Do I just submit the project before noon Monday instead of Sunday? I think I will need an extra day. Aaron From liyuan at pollux.usc.edu Fri Mar 26 12:40:22 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Fri Mar 26 12:40:26 2004 Subject: [Csci551-talk] Periodic Update In-Reply-To: <000301c4136f$cb7fbb60$6401a8c0@LATUALP> Message-ID: As specified in the handout: "(You need not implement periodic update routing messages.)" Thanks Yuan On Fri, 26 Mar 2004, Aaron Tu wrote: > Do we have to send periodic update? If so, how often? > > Aaron > From liyuan at pollux.usc.edu Fri Mar 26 12:44:14 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Fri Mar 26 12:44:18 2004 Subject: [Csci551-talk] Different Stages In-Reply-To: <000401c41370$26422330$6401a8c0@LATUALP> Message-ID: 1. There are only 4 stages in the project , not 5. 2. Your program should generate one excutable file only. Thanks Yuan On Fri, 26 Mar 2004, Aaron Tu wrote: > Are we suppose to have different executable for each stage (1-5)? > > Aaron > From wpun at usc.edu Fri Mar 26 10:52:11 2004 From: wpun at usc.edu (Raymond Pun) Date: Fri Mar 26 14:33:42 2004 Subject: [Csci551-talk] Stage 4 References: <200403251946.i2PJkar2029327@dash.isi.edu> Message-ID: <028801c41382$5d6e4340$a701a8c0@raymond> In the test case 4, the distance of the ext route is 0. So... should be be 1 or 0 or both correct? regards, Raymond ----- Original Message ----- From: "John Heidemann" To: "gaurav agarwal" Cc: Sent: Thursday, March 25, 2004 11:46 Subject: Re: [Csci551-talk] Stage 4 > On Thu, 25 Mar 2004 03:09:07 PST, gaurav agarwal wrote: > >Hi > > > >What is the use of the external ID, if we are anyways always going to use the > >peer id? > >Also do we assume the distance of the peer to the ext as 1? > > Since the project doesn't specify distances, yes. > > -John Heidemann > From wpun at usc.edu Fri Mar 26 10:59:07 2004 From: wpun at usc.edu (Raymond Pun) Date: Fri Mar 26 14:33:47 2004 Subject: [Csci551-talk] last lsa message References: <200403251930.i2PJUXGZ029184@dash.isi.edu> Message-ID: <028901c41382$5e6fadb0$a701a8c0@raymond> Hi, I am still confused... since there is resend operations.... should I dump the message that is originated from the router with largest sequence number ? or should I dump the message that is originated from the router and is sent last ? thanks. regards, Raymond ----- Original Message ----- From: "John Heidemann" To: "Yuan Li" Cc: ; "amit pande" Sent: Thursday, March 25, 2004 11:30 Subject: Re: [Csci551-talk] last lsa message > On Thu, 25 Mar 2004 09:29:43 PST, Yuan Li wrote: > > > >the last lsa message generated by the node. > > > >Thanks > > > >Yuan > > > >On Wed, 24 Mar 2004, amit pande wrote: > > > >> Hi, > >> what does the lsa message sent mean: > >> last lsa message generated by the node or it could also include forwarded > >> message in which case hex output would be quite different depending on which > >> was the last message forwarded? > >> so should we print the last lsa message generated by the node? > >> amit > >> > > Yuan's comment is correct. > > Rather than last-ls-msg-sent, it should really be last ls message > ORIGINIATED. (Please don't change the label, though.) > > As opposed to messages-sent which refers to both originated and > forwarded. > > My apologies for the ambiguity. > > -John Heidemann > > > From wpun at usc.edu Fri Mar 26 11:41:48 2004 From: wpun at usc.edu (Raymond Pun) Date: Fri Mar 26 14:34:31 2004 Subject: [Csci551-talk] Assumption on the input Message-ID: <028a01c41382$5f2e69d0$a701a8c0@raymond> Hi, I have made an assumption on the input file that... the number of uncommented lines after "0 0" (the end of describing the links) and before "0.0.0.0 0" (the end of describing the addresses aand masks for the routers) is exactly the same as the number of routers. That is ... an input with 5 routers, and gives 6 lines of addresses and masks for internal routes could crash my program. Is that assumption reasonable? regards, Raymond From devarshi at ieee.org Fri Mar 26 14:43:02 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Fri Mar 26 14:43:46 2004 Subject: [Csci551-talk] 'make' query Message-ID: Hi. I had one question about 'make'. Unfortunately, for some odd reason, make does not appear in my default path anywhere (while gmake does). I tried searching for make and found /usr/ccs/bin/make. Is that the make binary which is going to be used to 'make' our project ? If not, would it be possible for me to know which ( I mean, the whole path to) make binary Is going to be used ? I would really appreciate that. Regards, Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040326/0214df5b/attachment.html From atu011 at earthlink.net Fri Mar 26 16:25:30 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Fri Mar 26 16:25:42 2004 Subject: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work In-Reply-To: <200403262000.i2QK03k10419@gamma.isi.edu> Message-ID: <000701c41392$02a27250$6401a8c0@LATUALP> Has anyone able to successfully remove the timer using Timers_RemoveTimer()? The timer still fires after I attempted to remove it. Any idea? Aaron From liyuan at pollux.usc.edu Fri Mar 26 18:42:29 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Fri Mar 26 18:43:31 2004 Subject: [Csci551-talk] Assumption on the input In-Reply-To: <028a01c41382$5f2e69d0$a701a8c0@raymond> Message-ID: Yes. It is a reasonable assumption. Thanks Yuan On Fri, 26 Mar 2004, Raymond Pun wrote: > Hi, > > I have made an assumption on the input file that... the number of > uncommented lines after "0 0" (the end of describing the links) and before > "0.0.0.0 0" (the end of describing the addresses aand masks for the > routers) is exactly the same as the number of routers. > That is ... an input with 5 routers, and gives 6 lines of addresses and > masks for internal routes could crash my program. > > Is that assumption reasonable? > > regards, > Raymond > From liyuan at pollux.usc.edu Fri Mar 26 19:30:31 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Fri Mar 26 19:30:43 2004 Subject: [Csci551-talk] last lsa message In-Reply-To: <028901c41382$5e6fadb0$a701a8c0@raymond> Message-ID: It is the message a router sent last. Thanks Yuan On Fri, 26 Mar 2004, Raymond Pun wrote: > Hi, > > I am still confused... since there is resend operations.... > > should I dump the message that is originated from the router with largest > sequence number ? > or > should I dump the message that is originated from the router and is sent > last ? > > thanks. > > regards, > Raymond > > > > ----- Original Message ----- > From: "John Heidemann" > To: "Yuan Li" > Cc: ; "amit pande" > Sent: Thursday, March 25, 2004 11:30 > Subject: Re: [Csci551-talk] last lsa message > > > > On Thu, 25 Mar 2004 09:29:43 PST, Yuan Li wrote: > > > > > >the last lsa message generated by the node. > > > > > >Thanks > > > > > >Yuan > > > > > >On Wed, 24 Mar 2004, amit pande wrote: > > > > > >> Hi, > > >> what does the lsa message sent mean: > > >> last lsa message generated by the node or it could also include > forwarded > > >> message in which case hex output would be quite different depending on > which > > >> was the last message forwarded? > > >> so should we print the last lsa message generated by the node? > > >> amit > > >> > > > > Yuan's comment is correct. > > > > Rather than last-ls-msg-sent, it should really be last ls message > > ORIGINIATED. (Please don't change the label, though.) > > > > As opposed to messages-sent which refers to both originated and > > forwarded. > > > > My apologies for the ambiguity. > > > > -John Heidemann > > > > > > > From stambe at usc.edu Fri Mar 26 19:53:30 2004 From: stambe at usc.edu (swara tambe) Date: Fri Mar 26 19:54:33 2004 Subject: [Csci551-talk] Retransmission doubt Message-ID: <25a64025ae95.25ae9525a640@usc.edu> Hi, How many copies of a packet does a node store for retransmission? For example, if node 1 sends 3 packets to node 2 and doesn't receive an ACK for any of them, it will have to have a copy of each of the three unique packets so that it can retransmit them. What is the maximum number of packets that a node should store for retransmission? Or is it that node 1 won't forward any more packets until and ACK for the last packet has been recieved from 2? What is the right approach? Thanks, Swara From baruah at usc.edu Fri Mar 26 22:57:26 2004 From: baruah at usc.edu (pritam baruah) Date: Fri Mar 26 22:57:29 2004 Subject: [Csci551-talk] broken pipe on UDP Message-ID: <288fbd28ad57.28ad57288fbd@usc.edu> A pathological error has suddenly descended on my humble code. A broken pipe on UDP while communicating with peer routers. Strangely, it was working till yesterday. I have diagnosed the error to a SIGPIPE within a sendto (while flooding) and spent 10 hours trying to debug it. I havent issued connect() on the UDP socket so I think there is no reason to get a broken pipe. Any help will be highly appreciated. I have implemented my own timers. I hope that using the provided library is not mandatory! ~Pritam. From vraj at usc.edu Fri Mar 26 23:16:59 2004 From: vraj at usc.edu (vinith raj) Date: Fri Mar 26 23:17:01 2004 Subject: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work Message-ID: <28cbf128d0c2.28d0c228cbf1@usc.edu> Each time you send a packet (a newly generated LS Message/LS msg that needs to be forwarded ) you call the Timers_Addtimer function that takes care of handling timeouts(via the timeout handler function) Whenever a packet is received , the Receiver would send an ACK msg back to the sender. (ofcourse ACKs are re-ACKed..that would cause a lot of problem). and when you receive an ACK from another Router , you need to have a structure where you would update the information about the last acked packet. Structure would contain information about all the latest acks received from different routers(an entry for a router). When the timer expires and the timeout handler is called, you need to check (in your timeout handler) whether the packet you are resending has been already acked or not. (You could make use of seq. no to give each packet a unique number and store that value in the structure that records the ack info.). if the packet has been acked , it means it has been received properly and hence do not resend , instead return a -1 . so this timer is not added back to the timer queue. if the packet has not been acked...resend the packet, and return a 0 , so that you again add this to the timer queue.(since this packet could get dropped again and you might want to resend it...) -Raj ----- Original Message ----- From: "Aaron Tu" To: "'Vinith B Raj'" Sent: Friday, March 26, 2004 4:36 PM Subject: RE: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > Raj, > > How do you stop the timer from firing after you received ack? Do you > handle resending of the previous LS Msg in the timer callback function? > Your help is greatly appreciated. > > Aaron > > -----Original Message----- > From: Vinith B Raj [mailto:vraj@usc.edu] > Sent: Friday, March 26, 2004 4:32 PM > To: Aaron Tu > Subject: Re: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > > You do not have to explicitly remove the timer... > if your timeout handler function returns a <-1> then the timer is > removed > and will not be readded back to the timerlist. > if the handler returns a 0 the handler along with the argument pointer > will > be added once more to the timer queue > > (the value returned by the timeout handler function will be captured by > the > Timer) > > -Raj > ----- Original Message ----- > From: "Aaron Tu" > To: > Sent: Friday, March 26, 2004 4:25 PM > Subject: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > > > > Has anyone able to successfully remove the timer using > > Timers_RemoveTimer()? The timer still fires after I attempted to > remove > > it. Any idea? > > > > Aaron > > > > > > From wpun at usc.edu Fri Mar 26 23:29:07 2004 From: wpun at usc.edu (Raymond Pun) Date: Fri Mar 26 23:29:33 2004 Subject: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work References: <28cbf128d0c2.28d0c228cbf1@usc.edu> Message-ID: <03a801c413cd$330d7580$a701a8c0@raymond> There is another approach. My whole program has only 1 timer. It is invoked every second. The handler check if there is any packet need to be resent. regards, Raymond ----- Original Message ----- From: "vinith raj" To: Sent: Friday, March 26, 2004 23:16 Subject: Re: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > Each time you send a packet (a newly generated LS Message/LS msg that needs > to be forwarded ) you call the Timers_Addtimer function that takes care of > handling timeouts(via the timeout handler function) > > Whenever a packet is received , the Receiver would send an ACK msg back to > the sender. (ofcourse ACKs are re-ACKed..that would cause a lot of problem). > and when you receive an ACK from another Router , you need to have a > structure where you would update the information about the last acked > packet. Structure would contain information about all the latest acks > received from different routers(an entry for a router). > > When the timer expires and the timeout handler is called, you need to check > (in your timeout handler) whether the packet you are resending has been > already acked or not. (You could make use of seq. no to give each packet a > unique number and store that value in the structure that records the ack > info.). if the packet has been acked , it means it has been received > properly and hence do not resend , instead return a -1 . so this timer is > not added back to the timer queue. > if the packet has not been acked...resend the packet, and return a 0 , so > that you again add this to the timer queue.(since this packet could get > dropped again and you might want to resend it...) > > -Raj > > > ----- Original Message ----- > From: "Aaron Tu" > To: "'Vinith B Raj'" > Sent: Friday, March 26, 2004 4:36 PM > Subject: RE: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > > > > Raj, > > > > How do you stop the timer from firing after you received ack? Do you > > handle resending of the previous LS Msg in the timer callback function? > > Your help is greatly appreciated. > > > > Aaron > > > > -----Original Message----- > > From: Vinith B Raj [mailto:vraj@usc.edu] > > Sent: Friday, March 26, 2004 4:32 PM > > To: Aaron Tu > > Subject: Re: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > > > > You do not have to explicitly remove the timer... > > if your timeout handler function returns a <-1> then the timer is > > removed > > and will not be readded back to the timerlist. > > if the handler returns a 0 the handler along with the argument pointer > > will > > be added once more to the timer queue > > > > (the value returned by the timeout handler function will be captured by > > the > > Timer) > > > > -Raj > > ----- Original Message ----- > > From: "Aaron Tu" > > To: > > Sent: Friday, March 26, 2004 4:25 PM > > Subject: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work > > > > > > > Has anyone able to successfully remove the timer using > > > Timers_RemoveTimer()? The timer still fires after I attempted to > > remove > > > it. Any idea? > > > > > > Aaron > > > > > > > > > > > > > From liyuan at pollux.usc.edu Sat Mar 27 00:20:23 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sat Mar 27 00:20:27 2004 Subject: [Csci551-talk] RE: More clarifications on Slip Day In-Reply-To: <000601c41371$b5703b40$6401a8c0@LATUALP> Message-ID: Please check my previous messages on the mail list. Thanks Yuan On Fri, 26 Mar 2004, Aaron Tu wrote: > ------------------------------ > > Message: 3 > Date: Fri, 26 Mar 2004 10:20:59 -0800 (PST) > From: Yuan Li > Subject: [Csci551-talk] More clarifications on Slip Day > How do we elect this option? Do I just submit the project before noon > Monday instead of Sunday? I think I will need an extra day. > > Aaron > From pilani at usc.edu Sat Mar 27 12:09:34 2004 From: pilani at usc.edu (rahul pilani) Date: Sat Mar 27 12:09:37 2004 Subject: [Csci551-talk] Some more assumptions Message-ID: <2fced42ff0bb.2ff0bb2fced4@usc.edu> I am also assuming that all the routers whos processes need to be forked.. thier IDs are sequential and start from 1. i.e forked router processes always start from 1 and sequentially to n (when n=number of routers).. is this assumption reasonable?.. i made this assumption since all the sample input files dont indicate otherwise and it makes my job easier.. :) Also.. do we have to consider links going down..?. as in if you dont get an ACK from a router even after 3 or so retries do you consider it dead and down the link??.. pls guide.. Thanks, Rahul Pilani From devarshi at ieee.org Sat Mar 27 12:34:16 2004 From: devarshi at ieee.org (Devarshi Shah) Date: Sat Mar 27 12:34:38 2004 Subject: [Csci551-talk] nunki issues Message-ID: Hi, I was just in the process of my final round of checks.. and noticed something over which I guess we have no control. What I noticed is this : One of the test inputs which forks 10 processes - which was working one moment - starts giving me Broken Pipe errors the next. This does not happen for the test inputs with a lower number of routers. I just checked nunki utilization, and it was above 98%.. My conclusion is this : Given such a utilization, processes above a certain number get killed by the OS - and that's what leads to those broken pipe errors. Now, this is something over which I have no control. My code is not buggy. and if such a thing happens during the evaluation of the project, I was just wondering how it would be considered. Moreover, I had posted a query regarding the make binary which the project would be graded with - and since I have received no reply to that, can I assume that the one present at : '/usr/ccs/bin/make' is going to be used ? Unfortunately, my default paths do not give me access to any make, and hence this confusion. Thanks, Devarshi Devarshi P. Shah -------------------------------------------------------------- Graduate Student (Computer Science), University of Southern California, LA. -------------------------------------------------------------- Web : http://devarshi.shah.name email : devarshi@ieee.org Cell : 323-363-3791, Home :323-373-0318 -------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://gamma.isi.edu/pipermail/csci551-talk/attachments/20040327/d72ebb14/attachment.html From vbahl at usc.edu Sat Mar 27 19:35:53 2004 From: vbahl at usc.edu (varun bahl) Date: Sat Mar 27 19:36:34 2004 Subject: [Csci551-talk] problem in UDP communication in 10 node topology only Message-ID: <39cc0d39e8c5.39e8c539cc0d@usc.edu> In the 10 nodes topology case, some UDP messages arent reaching the destinations. I am having a problem in UDP communication only in case of teh 10 node topology. For other topologies, my code runs fine. what could be the reason? could it be that the 10th router doesnt even get forked before the 1st message is sent to it?? need advice... Regards, Varun From liyuan at pollux.usc.edu Sat Mar 27 19:37:15 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sat Mar 27 19:37:18 2004 Subject: [Csci551-talk] Some more assumptions In-Reply-To: <2fced42ff0bb.2ff0bb2fced4@usc.edu> Message-ID: On Sat, 27 Mar 2004, rahul pilani wrote: > I am also assuming that all the routers whos processes need to be forked.. > thier IDs are sequential and start from 1. > > i.e forked router processes always start from 1 and sequentially to n (when > n=number of routers).. > > is this assumption reasonable?.. i made this assumption since all the sample > input files dont indicate otherwise and it makes my job easier.. :) Yes, it is a reasonable assumption. > > Also.. do we have to consider links going down..?. as in if you dont get an > ACK from a router even after 3 or so retries do you consider it dead and down > the link??.. You do not need to consider dynamic change in the network, like links going down. Thanks Yuan > > pls guide.. > > Thanks, > Rahul Pilani > > From johnh at ISI.EDU Sat Mar 27 20:40:59 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 20:41:12 2004 Subject: [Csci551-talk] Stage 4 In-Reply-To: <52dcb252ed7d.52ed7d52dcb2@usc.edu> Message-ID: <200403280440.i2S4exlW003724@dash.isi.edu> On Thu, 25 Mar 2004 20:48:29 PST, gaurav agarwal wrote: >Hi Professor >What about the first question? > >> >What is the use of the external ID, if we are anyways always going to use >> the peer id? > >In my routing table I am using the peer ID, is that ok? That was answered in a previous message on the mailing list, and in the "note" paragraph out the output for stage 4 of the assignment.< -John Heidemann From johnh at ISI.EDU Sat Mar 27 20:43:05 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 20:43:14 2004 Subject: [Csci551-talk] Timer Lib In-Reply-To: <000501c41370$9870a300$6401a8c0@LATUALP> Message-ID: <200403280443.i2S4h55X003763@dash.isi.edu> On Fri, 26 Mar 2004 12:26:18 PST, "Aaron Tu" wrote: >Are we allowed to include the handle for the timer (lib) in the LS >message? Is there a better way to keep track of all the timers? > >Aaron The project specification already says: 1. what you should do if you add something to the LS message (document what you add and why in the README file) 2. that the current message format should be sufficient. -John Heidemann From johnh at ISI.EDU Sat Mar 27 20:50:36 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 20:51:34 2004 Subject: [Csci551-talk] Retransmission doubt In-Reply-To: <25a64025ae95.25ae9525a640@usc.edu> Message-ID: <200403280450.i2S4oaT3003928@dash.isi.edu> On Fri, 26 Mar 2004 19:53:30 PST, swara tambe wrote: >Hi, >How many copies of a packet does a node store for retransmission? For example, >if node 1 sends 3 packets to node 2 and doesn't receive an ACK for any of >them, it will have to have a copy of each of the three unique packets so that >it can retransmit them. What is the maximum number of packets that a node >should store for retransmission? > >Or is it that node 1 won't forward any more packets until and ACK for the last >packet has been recieved from 2? What is the right approach? > >Thanks, >Swara The goal of reliable flooding is to reliably send enough information to compute routing tables. Therefore you need to store and retransmit whatever packets are needed for that job. Given that multiple routers send LS messages at the same time, I don't see how a program could work that only sent one packet reliably at a time. -John Heidemann From johnh at ISI.EDU Sat Mar 27 20:54:47 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 20:54:57 2004 Subject: [Csci551-talk] broken pipe on UDP In-Reply-To: <288fbd28ad57.28ad57288fbd@usc.edu> Message-ID: <200403280454.i2S4sljr003998@dash.isi.edu> On Fri, 26 Mar 2004 22:57:26 PST, pritam baruah wrote: > >A pathological error has suddenly descended on my humble code. A broken pipe on >UDP while communicating with peer routers. Strangely, it was working till >yesterday. I have diagnosed the error to a SIGPIPE within a sendto (while >flooding) and spent 10 hours trying to debug it. I havent issued connect() on >the UDP socket so I think there is no reason to get a broken pipe. Any help >will be highly appreciated. There were discussions about SIGPIPE in the mailing list. You should be able to search the mailing list archives on its web page. >I have implemented my own timers. I hope that using the provided library is not >mandatory! The answer to this question is covered in the handout. -John Heidemann From mbhatia at usc.edu Sat Mar 27 20:59:57 2004 From: mbhatia at usc.edu (meghana bhatia) Date: Sat Mar 27 20:59:59 2004 Subject: [Csci551-talk] input file constraints Message-ID: <3b41f83b23a1.3b23a13b41f8@usc.edu> Hi, Are we supposed to handle only 2 constraints ( comments anywhere beginning with # and whitespaces)? Or is the code going to be checked with other constraints such as invalid edges (eg. 1 5 when the no. of nodes is 4), negative numbers etc.? Thanks, Meghana. From johnh at ISI.EDU Sat Mar 27 21:01:11 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 21:01:35 2004 Subject: [Csci551-talk] nunki issues In-Reply-To: Message-ID: <200403280501.i2S51Bax004146@dash.isi.edu> On Sat, 27 Mar 2004 12:34:16 PST, "Devarshi Shah" wrote: >I was just in the process of my final round of checks.. and noticed something >over which I guess we have no control. What I noticed is this : One of the >test inputs which forks 10 processes ? which was working one moment ? starts >giving me Broken Pipe errors the next. This does not happen for the test >inputs with a lower number of routers. I just checked nunki utilization, and >it was above 98%.. My conclusion is this : Given such a utilization, processes >above a certain number get killed by the OS ? and that?s what leads to those >broken pipe errors. Now, this is something over which I have no control. My >code is not buggy? and if such a thing happens during the evaluation of the >project, I was just wondering how it would be considered. There should not be that small a limit on nunki (although there may be on aludra). You may want to test your program on a workstation to verify your hyptohesis on why you see failures, though. >Moreover, I had posted a query regarding the make binary which the project >would be graded with ? and since I have received no reply to that, can I >assume that the one present at : ?/usr/ccs/bin/make? is going to be used ? >Unfortunately, my default paths do not give me access to any make, and hence >this confusion. The assignment requires Sun's make. I believe that's a correct path for it. -John Heidemann From johnh at ISI.EDU Sat Mar 27 21:04:00 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 21:04:35 2004 Subject: [Csci551-talk] problem in UDP communication in 10 node topology only In-Reply-To: <39cc0d39e8c5.39e8c539cc0d@usc.edu> Message-ID: <200403280504.i2S540RN004234@dash.isi.edu> On Sat, 27 Mar 2004 19:35:53 PST, varun bahl wrote: >In the 10 nodes topology case, some UDP messages arent reaching the >destinations. >I am having a problem in UDP communication only in case of teh 10 node >topology. For other topologies, my code runs fine. > >what could be the reason? >could it be that the 10th router doesnt even get forked before the 1st message >is sent to it?? > >need advice... You should be able to answer this question... (In fact, ONLY you can answer it!) ...fork includes a return code to tell you. -John Heidemann From johnh at ISI.EDU Sat Mar 27 21:21:17 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 27 21:21:28 2004 Subject: [Csci551-talk] Timers_RemoveTimer() doesn't seem to work In-Reply-To: <000701c41392$02a27250$6401a8c0@LATUALP> Message-ID: <200403280521.i2S5LHfO004587@dash.isi.edu> On Fri, 26 Mar 2004 16:25:30 PST, "Aaron Tu" wrote: >Has anyone able to successfully remove the timer using >Timers_RemoveTimer()? The timer still fires after I attempted to remove >it. Any idea? It works for me in a small test program I just wrote. -John Heidemann From atu011 at earthlink.net Sat Mar 27 22:42:04 2004 From: atu011 at earthlink.net (Aaron Tu) Date: Sat Mar 27 22:42:21 2004 Subject: [Csci551-talk] Increasingly longer routing message In-Reply-To: <200403280501.i2S51bk25057@gamma.isi.edu> Message-ID: <000001c4148f$c91d8390$6701a8c0@LATUALP> When a router received a LS Message and found that its new or most recent, does the router forward only the LS Message it just received or does it forward all its current links? What do you mean by "increasingly longer routing messages? Do we have to implement the message as a variable length or can we have fixed length (e.g. assumed 100 links capacity)? Aaron From liyuan at pollux.usc.edu Sun Mar 28 01:58:32 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sun Mar 28 01:58:35 2004 Subject: [Csci551-talk] Office hour change from next week Message-ID: Dear Class, I will need to change my regular office hour to 8:00am - 9:45am on Mondays. This change is permanent and effective from March 29th. Thanks Yuan From vbahl at usc.edu Sun Mar 28 05:04:39 2004 From: vbahl at usc.edu (varun bahl) Date: Sun Mar 28 05:04:41 2004 Subject: [Csci551-talk] unreliable UDP communication even with Prob of Loss = 0 Message-ID: <3fa6de3fdabc.3fdabc3fa6de@usc.edu> For some reason my UDP messages many times dont reach the destination. The port number and all is correct, the msg is sent, but not read by the receiving process? I have 2 sockets, 1 for sending and 1 for receiving from all other routers. Can anyone suggest what could be going wrong?? Varun. From daftary at usc.edu Sun Mar 28 05:14:36 2004 From: daftary at usc.edu (chaitali daftary) Date: Sun Mar 28 05:14:38 2004 Subject: [Csci551-talk] duplicate IP addresses in input file?? Message-ID: <3fe75f3f8fad.3f8fad3fe75f@usc.edu> Can the input file contain duplicate IP addresses ? If yes,can they be for both internal and external routes?? Are we supposed to neglect them? Chaitali From liyuan at pollux.usc.edu Sun Mar 28 12:02:43 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sun Mar 28 12:02:47 2004 Subject: [Csci551-talk] ProjectA Submission Tag Message-ID: Please use tag proja instead of proj1. Thanks Yuan From liyuan at pollux.usc.edu Sun Mar 28 12:39:07 2004 From: liyuan at pollux.usc.edu (Yuan Li) Date: Sun Mar 28 12:39:10 2004 Subject: [Csci551-talk] Slip Day confirmation Email Message-ID: I have sent out a confirmation email to students who requested a slip day for Project A. If you believe that you sent the request but did not receive a confirmation email, please check the request format I posted on the mail list on March 22 and send me the request again ASAP. The request format: http://mailman.isi.edu/pipermail/csci551-talk/2004-March/000762.html Thanks Yuan From wpun at usc.edu Sun Mar 28 16:14:57 2004 From: wpun at usc.edu (Raymond Pun) Date: Sun Mar 28 16:15:29 2004 Subject: [Csci551-talk] ProjectA Submission Tag References: Message-ID: <048201c41522$e4743970$a701a8c0@raymond> Oh... I have submitted the project yesterday, and I got this mail after the deadline. Should I resubmit it? regards, Raymond ----- Original Message ----- From: "Yuan Li" To: Sent: Sunday, March 28, 2004 12:02 Subject: [Csci551-talk] ProjectA Submission Tag > > Please use tag proja instead of proj1. > > Thanks > > Yuan > > > From johnh at ISI.EDU Sun Mar 28 17:34:09 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sun Mar 28 17:34:20 2004 Subject: [Csci551-talk] last lsa message In-Reply-To: <028901c41382$5e6fadb0$a701a8c0@raymond> Message-ID: <200403290134.i2T1Y9Lu026928@dash.isi.edu> On Fri, 26 Mar 2004 10:59:07 PST, "Raymond Pun" wrote: >Hi, > >I am still confused... since there is resend operations.... > >should I dump the message that is originated from the router with largest >sequence number ? >or >should I dump the message that is originated from the router and is sent >last ? In prior mail on the mailing list I said it is lsat message originated. -John Heidemann < From johnh at ISI.EDU Sun Mar 28 17:36:05 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sun Mar 28 17:36:16 2004 Subject: [Csci551-talk] input file constraints In-Reply-To: <3b41f83b23a1.3b23a13b41f8@usc.edu> Message-ID: <200403290136.i2T1a5Wp026967@dash.isi.edu> You may assume that we will not intentionally give you incorrect input (input that is nonsensical). (However, in general, it's not a bad idea to check for incorrect input!) -John Heidemann On Sat, 27 Mar 2004 20:59:57 PST, meghana bhatia wrote: > >Hi, > >Are we supposed to handle only 2 constraints ( comments anywhere beginning >with # and whitespaces)? Or is the code going to be checked with other >constraints such as invalid edges (eg. 1 5 when the no. of nodes is 4), >negative numbers etc.? > >Thanks, >Meghana. From johnh at ISI.EDU Sun Mar 28 17:37:34 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sun Mar 28 17:37:47 2004 Subject: [Csci551-talk] Increasingly longer routing message In-Reply-To: <000001c4148f$c91d8390$6701a8c0@LATUALP> Message-ID: <200403290137.i2T1bZUf027026@dash.isi.edu> On Sat, 27 Mar 2004 22:42:04 PST, "Aaron Tu" wrote: >When a router received a LS Message and found that its new or most >recent, does the router forward only the LS Message it just received or >does it forward all its current links? What do you mean by "increasingly >longer routing messages? Do we have to implement the message as a >variable length or can we have fixed length (e.g. assumed 100 links >capacity)? > >Aaron The statement "increasingly longer routing messages" in the assignment was incorrect. This was clarified on the mailing list and in the assignment on Mar 24. The format of the LS message on the wire is specified in the assignment. -John Heidemann From johnh at ISI.EDU Sun Mar 28 17:39:15 2004 From: johnh at ISI.EDU (John Heidemann) Date: Sun Mar 28 17:39:26 2004 Subject: [Csci551-talk] Re: duplicate IP addresses in input file?? In-Reply-To: <3fe75f3f8fad.3f8fad3fe75f@usc.edu> Message-ID: <200403290139.i2T1dFHA027066@dash.isi.edu> On Sun, 28 Mar 2004 05:14:36 PST, chaitali daftary wrote: >Can the input file contain duplicate IP addresses ? If yes,can they be for >both internal and external routes?? Are we supposed to neglect them? > >Chaitali You may assume that we will not intentionally give you incorrect input (input that is nonsensical). -John Heidemann From gvagarwa at usc.edu Sun Mar 28 23:35:19 2004 From: gvagarwa at usc.edu (gaurav agarwal) Date: Sun Mar 28 23:35:21 2004 Subject: [Csci551-talk] Problem Message-ID: <5c43425c12fa.5c12fa5c4342@usc.edu> Hi I am facing this weird problem. When I use cin im getting a bug. But if I run it by hardcoding the filename it works fine. ANy idea? Thanks Gaurav From johnh at ISI.EDU Mon Mar 29 13:04:11 2004 From: johnh at ISI.EDU (John Heidemann) Date: Mon Mar 29 13:05:04 2004 Subject: [Csci551-talk] midterm exams Message-ID: <200403292104.i2TL4B9i031314@dash.isi.edu> Several folks have asked about midterm exams. Please see me during office hours or before/after class to get yours. Mean and standard deviation were announced in class last time, see the admin info slideset. I will take a little time at the beginning of class next time to review a couple of frequent questions, and take other questions about the exam. (You can also discussion questions in office hours.) -John Heidemann From johnh at ISI.EDU Wed Mar 31 21:38:04 2004 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 31 21:39:01 2004 Subject: [Csci551-talk] csci551 homework updates Message-ID: <200404010538.i315c4tw001236@dash.isi.edu> I've posted homework 3 and the key to homework 2 to the class web site. Looking ahead, I expect homework 4 (the last homework) to be posted April 16 and due April 30, and Project B to be posted by April 9 and due on May 10. (Project B will be shorter than Project A.) -John Heidemann