Commit 74aecb6d authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Implement send_wildcard_retraction.

parent ab5796b1
...@@ -1030,6 +1030,31 @@ send_update_resend(struct network *net, ...@@ -1030,6 +1030,31 @@ send_update_resend(struct network *net,
record_resend(RESEND_UPDATE, prefix, plen, 0, 0, NULL, delay); record_resend(RESEND_UPDATE, prefix, plen, 0, 0, NULL, delay);
} }
void
send_wildcard_retraction(struct network *net)
{
if(net == NULL) {
struct network *n;
FOR_ALL_NETS(n)
send_wildcard_retraction(n);
return;
}
if(!net->up)
return;
start_message(net, MESSAGE_UPDATE, 10);
accumulate_byte(net, 0);
accumulate_byte(net, 0x40);
accumulate_byte(net, 0);
accumulate_byte(net, 0);
accumulate_short(net, 0xFFFF);
accumulate_short(net, myseqno);
accumulate_short(net, 0xFFFF);
end_message(net, MESSAGE_UPDATE, 10);
net->have_buffered_id = 0;
}
void void
update_myseqno(int force) update_myseqno(int force)
......
...@@ -66,6 +66,7 @@ void send_update(struct network *net, int urgent, ...@@ -66,6 +66,7 @@ void send_update(struct network *net, int urgent,
const unsigned char *prefix, unsigned char plen); const unsigned char *prefix, unsigned char plen);
void send_update_resend(struct network *net, void send_update_resend(struct network *net,
const unsigned char *prefix, unsigned char plen); const unsigned char *prefix, unsigned char plen);
void send_wildcard_retraction(struct network *net);
void update_myseqno(int force); void update_myseqno(int force);
void send_self_update(struct network *net, int force_seqno); void send_self_update(struct network *net, int force_seqno);
void send_ihu(struct neighbour *neigh, struct network *net); void send_ihu(struct neighbour *neigh, struct network *net);
......
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