Commit 843b10c8 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Nest: Handle non-MPLS on MPLS case in recursive route update

When non-MPLS recursive route resolves to MPLS underlying route,
then it should get MPLS labels from the the underlying route.
parent 9eace843
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2115,6 +2115,7 @@ no_nexthop:
    memset(nhp, 0, NEXTHOP_MAX_SIZE);
    nhp->iface = nh->iface;
    nhp->weight = nh->weight;

    if (mls)
    {
      nhp->labels = nh->labels + mls->len;
@@ -2132,6 +2133,13 @@ no_nexthop:
	continue;
      }
    }
    else if (nh->labels)
    {
      nhp->labels = nh->labels;
      nhp->labels_orig = 0;
      memcpy(nhp->label, nh->label, nh->labels * sizeof(u32));
    }

    if (ipa_nonzero(nh->gw))
    {
      nhp->gw = nh->gw;			/* Router nexthop */