Commit 672fb78e authored by Ondřej Zajíček's avatar Ondřej Zajíček

Babel: Fix handling of IPv4 retractions

Babel TLV parsing code rejected IPv4 retractions without next-hop,
although next-hop is needed just for regular updates.
parent 268dc7c8
...@@ -593,8 +593,8 @@ babel_read_update(struct babel_tlv *hdr, union babel_msg *m, ...@@ -593,8 +593,8 @@ babel_read_update(struct babel_tlv *hdr, union babel_msg *m,
if (tlv->omitted && !state->def_ip4_prefix_seen) if (tlv->omitted && !state->def_ip4_prefix_seen)
return PARSE_ERROR; return PARSE_ERROR;
/* Need next hop for v4 routes */ /* Update must have next hop, unless it is retraction */
if (ipa_zero(state->next_hop_ip4)) if (ipa_zero(state->next_hop_ip4) && (msg->metric != BABEL_INFINITY))
return PARSE_ERROR; return PARSE_ERROR;
/* Merge saved prefix and received prefix parts */ /* Merge saved prefix and received prefix parts */
......
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