zebra: add implicit-null labels to the rib

Implicit-null labels are never installed in the FIB but we need to keep
track of them because of L2/L3 VPN nexthop resolution.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
Renato Westphal 2017-06-05 22:48:10 -03:00
parent 1e4d264f2b
commit b557e0b6df

View File

@ -1762,16 +1762,14 @@ zread_mpls_labels (int command, struct zserv *client, u_short length,
{ {
mpls_lsp_install (zvrf, type, in_label, out_label, gtype, &gate, mpls_lsp_install (zvrf, type, in_label, out_label, gtype, &gate,
NULL, ifindex); NULL, ifindex);
if (out_label != MPLS_IMP_NULL_LABEL) mpls_ftn_update (1, zvrf, type, &prefix, gtype, &gate, ifindex,
mpls_ftn_update (1, zvrf, type, &prefix, gtype, &gate, ifindex, distance, out_label);
distance, out_label);
} }
else if (command == ZEBRA_MPLS_LABELS_DELETE) else if (command == ZEBRA_MPLS_LABELS_DELETE)
{ {
mpls_lsp_uninstall (zvrf, type, in_label, gtype, &gate, NULL, ifindex); mpls_lsp_uninstall (zvrf, type, in_label, gtype, &gate, NULL, ifindex);
if (out_label != MPLS_IMP_NULL_LABEL) mpls_ftn_update (0, zvrf, type, &prefix, gtype, &gate, ifindex,
mpls_ftn_update (0, zvrf, type, &prefix, gtype, &gate, ifindex, distance, out_label);
distance, out_label);
} }
} }
/* Send response to a label manager connect request to client */ /* Send response to a label manager connect request to client */