From: Mark H. <ma...@os...> - 2004-06-10 16:16:34
|
On Thu, 2004-06-10 at 08:36, Mark Haverkamp wrote: > On Thu, 2004-06-10 at 02:41, Ling, Xiaofeng wrote: > > Yes, that's problem.The broadcast packet is not received by sender, > > maybe we need to copy one to sender self. > > how about this patch? (The reture value still need to be resolved) > > That seemed to work OK. One small thing. The patch declares the struct sk_buff below the start of the code block. This isn't standard C. Mark. cvs diff -u sendbcast.c Index: sendbcast.c =================================================================== RCS file: /cvsroot/tipc/source/unstable/net/tipc/sendbcast.c,v retrieving revision 1.18 diff -u -r1.18 sendbcast.c --- sendbcast.c 2 Jun 2004 21:31:36 -0000 1.18 +++ sendbcast.c 10 Jun 2004 16:15:45 -0000 @@ -238,8 +238,11 @@ tipc_forward_buf2nameseq(ref, (struct tipc_name_seq *) seq, b, &orig, res, 17, &mc_head); } else { + struct sk_buff *copybuf; bcast_set_timer(16 * RTT); check_bcast_outqueue(); + copybuf = buf_clone(b); + bcast_port_recv(copybuf); res = tipc_bsend_buf(b, &mc_head); } free_mclist(&mc_head); > > I am curious about how the TIPC bcast works. Does it do a real ethernet > multicast or broadcast? If so, why do we need to manually send a copy > to ourselves? > > Thanks, > Mark. -- Mark Haverkamp <ma...@os...> |