commit 8e86ffce8251f4e48f61b6d8e89966d037ef8e59
Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
Date:   Sun Jul 1 01:03:16 2018 +0200

    BGP: Use implicit-NULL label when announcing MPLS routes with local next-hop
    
    We currently cannot assing local labels, but we can still be LSP egress
    router. Therefore when we announce labeled route with local next-hop, we
    should announce implicit-NULL label instead of rejecting it completely.

diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index d67ef0b2..c40b8ec2 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -875,7 +875,10 @@ bgp_update_next_hop_ip(struct bgp_export_state *s, eattr *a, ea_list **to)
 
       /* TODO: Use local MPLS assigned label */
       if (s->mpls)
-	bgp_unset_attr(to, s->pool, BA_MPLS_LABEL_STACK);
+      {
+	u32 implicit_null = BGP_MPLS_NULL;
+	bgp_set_attr_data(to, s->pool, BA_MPLS_LABEL_STACK, 0, &implicit_null, 4);
+      }
     }
   }
 
