summaryrefslogtreecommitdiff
path: root/bgpd
diff options
context:
space:
mode:
authorRenato Westphal <renato@openbsd.org>2019-01-14 10:47:03 -0200
committerGitHub <noreply@github.com>2019-01-14 10:47:03 -0200
commit966f3ab69c6d8a174c75e0cf45582481cf725c5a (patch)
tree2e088c81fb9fe5d11b05ca82950d55536f699d89 /bgpd
parent179dd88233810b1f1d660f2bad029b494e3a308a (diff)
parent727cf7c933c438733b1540a3adc5e71ec421577c (diff)
Merge pull request #3593 from donaldsharp/label_to_zebra_7.0
bgpd: Do not send a label to zebra that it doesn't understand
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/bgp_mplsvpn.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c
index cf91faf964..d0ccdcedfb 100644
--- a/bgpd/bgp_mplsvpn.c
+++ b/bgpd/bgp_mplsvpn.c
@@ -289,6 +289,8 @@ void vpn_leak_zebra_vrf_label_update(struct bgp *bgp, afi_t afi)
bgp->vrf_id);
}
+ if (label == BGP_PREVENT_VRF_2_VRF_LEAK)
+ label = MPLS_LABEL_NONE;
zclient_send_vrf_label(zclient, bgp->vrf_id, afi, label, ZEBRA_LSP_BGP);
bgp->vpn_policy[afi].tovpn_zebra_vrf_label_last_sent = label;
}
@@ -316,6 +318,9 @@ void vpn_leak_zebra_vrf_label_withdraw(struct bgp *bgp, afi_t afi)
bgp->name_pretty, bgp->vrf_id);
}
+ if (label == BGP_PREVENT_VRF_2_VRF_LEAK)
+ label = MPLS_LABEL_NONE;
+
zclient_send_vrf_label(zclient, bgp->vrf_id, afi, label, ZEBRA_LSP_BGP);
bgp->vpn_policy[afi].tovpn_zebra_vrf_label_last_sent = label;
}