Now attempts to enqueue self-annoucement ack frame (but enqueue function

not implemented).
This commit is contained in:
gardners 2011-09-05 12:37:46 +09:30
parent 37c0955494
commit c3e220e5c1
2 changed files with 9 additions and 8 deletions

View File

@ -209,13 +209,9 @@ int overlay_frame_process(int interface,overlay_frame *f)
if (overlay_get_nexthop(f->destination,f->nexthop,&len)) if (overlay_get_nexthop(f->destination,f->nexthop,&len))
return WHY("Could not find next hop for host - dropping frame"); return WHY("Could not find next hop for host - dropping frame");
f->ttl--; f->ttl--;
/* Queue frame for dispatch */ /* Queue frame for dispatch */
/* XXX We currently have separate overlay_payload structures for sending and WHY("forwarding of frames not implemented");
overlay_frame for receiving. Need to harmonise this. Multiple conversions
are wasteful. We really should be able to cope with a single structure. */
WHY("forwarding of frame not implemented");
/* If the frame was a broadcast frame, then we need to hang around /* If the frame was a broadcast frame, then we need to hang around
so that we can process it, since we are one of the recipients. so that we can process it, since we are one of the recipients.
@ -237,5 +233,5 @@ int overlay_frame_process(int interface,overlay_frame *f)
break; break;
} }
return WHY("Not implemented"); return 0;
} }

View File

@ -464,6 +464,11 @@ int overlay_route_ack_selfannounce(overlay_frame *f,overlay_neighbour *n)
ob_append_byte(out->payload,0); ob_append_byte(out->payload,0);
/* XXX Add to queue */ /* XXX Add to queue */
if (overlay_payload_enqueue(OQ_MESH_MANAGEMENT,out))
{
op_free(out);
return WHY("overlay_payload_enqueue(self-announce ack) failed");
}
/* XXX Remove any stale versions (or should we just freshen, and forget making /* XXX Remove any stale versions (or should we just freshen, and forget making
a new one, since it would be more efficient). */ a new one, since it would be more efficient). */