diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 03f31eddfc..3b5261fdf9 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -3445,7 +3445,7 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer, stream_putc(s, BGP_ATTR_PMSI_TUNNEL); stream_putc(s, 9); // Length stream_putc(s, 0); // Flags - stream_putc(s, PMSI_TNLTYPE_INGR_REPL); // IR (6) + stream_putc(s, attr->pmsi_tnl_type); stream_put(s, &(attr->label), BGP_LABEL_BYTES); // MPLS Label / VXLAN VNI stream_put_ipv4(s, attr->nexthop.s_addr); diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 5a67cc4209..bf162b201a 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -1769,8 +1769,10 @@ static int update_evpn_route(struct bgp *bgp, struct bgpevpn *vpn, ZEBRA_MACIP_TYPE_ROUTER_FLAG) ? 1 : 0; /* PMSI is only needed for type-3 routes */ - if (p->prefix.route_type == BGP_EVPN_IMET_ROUTE) + if (p->prefix.route_type == BGP_EVPN_IMET_ROUTE) { attr.flag |= ATTR_FLAG_BIT(BGP_ATTR_PMSI_TUNNEL); + attr.pmsi_tnl_type = PMSI_TNLTYPE_INGR_REPL; + } /* router mac is only needed for type-2 routes here. */ if (p->prefix.route_type == BGP_EVPN_MAC_IP_ROUTE)