The following commit has been merged in the master branch: commit a83eb9fe1dbce36f5bb74eea3150331c2f74d45c Author: Marek Lindner lindner_marek@yahoo.de Date: Wed Sep 20 19:52:28 2006 +0200
retransmit packets with unidirectional flag if neighbour && not router
diff --git a/batman.c b/batman.c index f297d33..b59acae 100755 --- a/batman.c +++ b/batman.c @@ -625,6 +625,7 @@ void schedule_forward_packet( struct packet *in, int unidirectional, struct orig if (debug_level >= 2) output("not my best neighbour\n"); } else { + forw_node_new = alloc_memory(sizeof (struct forw_node)); INIT_LIST_HEAD(&forw_node_new->list);
@@ -1021,7 +1022,7 @@ int batman()
/* if a unidirectional neighbour sends us a packet - retransmit it with unidirectional flag to tell him that we get its packets */ - if ( ( in.orig == neigh ) && ( !isBidirectionalNeigh( orig_neigh_node ) ) ) { + if ( ( in.orig == neigh ) && ( ( !isBidirectionalNeigh( orig_neigh_node ) ) || ( orig_node->router != 0 ) ) ) {
schedule_forward_packet(&in, 1, orig_neigh_node, neigh);