Commit 5a01d744 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Only send requests for unfeasible routes to the advertising neighbour.

parent 1a1c8054
......@@ -422,13 +422,13 @@ update_route(const unsigned char *a, const unsigned char *p, unsigned char plen,
if(feasible)
trigger_route_change(route, oldsrc, oldmetric);
else
send_unfeasible_request(seqno, metric, a, p, plen);
send_unfeasible_request(neigh, seqno, metric, a, p, plen);
if(lost)
route_lost(oldsrc, oldmetric);
} else {
if(!feasible) {
send_unfeasible_request(seqno, metric, a, p, plen);
send_unfeasible_request(neigh, seqno, metric, a, p, plen);
return NULL;
}
if(refmetric >= INFINITY)
......@@ -459,7 +459,8 @@ update_route(const unsigned char *a, const unsigned char *p, unsigned char plen,
/* We just received an unfeasible update. If it's any good, send
a request for a new seqno. */
void
send_unfeasible_request(unsigned short seqno, unsigned short metric,
send_unfeasible_request(struct neighbour *neigh,
unsigned short seqno, unsigned short metric,
const unsigned char *a,
const unsigned char *prefix, unsigned char plen)
{
......@@ -475,7 +476,7 @@ send_unfeasible_request(unsigned short seqno, unsigned short metric,
}
if(!route || route->metric >= metric + 256) {
send_request_resend(NULL, prefix, plen,
send_request_resend(neigh, prefix, plen,
src->metric >= INFINITY ?
src->seqno : seqno_plus(src->seqno, 1),
hash_id(src->address));
......
......@@ -65,7 +65,8 @@ struct route *update_route(const unsigned char *a,
unsigned short seqno, unsigned short refmetric,
struct neighbour *neigh,
const unsigned char *nexthop);
void send_unfeasible_request(unsigned short seqno, unsigned short metric,
void send_unfeasible_request(struct neighbour *neigh,
unsigned short seqno, unsigned short metric,
const unsigned char *a,
const unsigned char *prefix, unsigned char plen);
void consider_route(struct route *route);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment