UPDATE: MPLS: BUGFIX!!!

Whoops... oversight... due to label binding maps to
aggregate set of routes on network interfaces some
changes targeting mpls_arp_output() and finally
mpls_output() (see netmpls/mpls_output.c):

    if (ro == NULL) {
        ftn = &ftn0;
        bzero(ftn, sizeof(*ftn));
        tn->ftn_gw = dst;

        if (m->m_flags & M_MPLS) {
/*
 * Bypass tagging, if MPI was tx by mpls_arpoutput.
 */
            m->m_flags &= ~M_MPLS;
            goto done;
        }
/*
 * Otherwise, MPI must pass mpls_encap, if tx interface
 * maps to MPLS label denotes aggregate set of routes.
 */
        goto pass;
    }

To ensure such that former during runtime of mpls_arprequest()
by llentry{} cached (MPLS tagged) MPI does not pass mpls_encap()
twice, any by M_MPLS (during mpls_arpoutput()) anotated MPI bypasses
encapsulation by jmp to "done".
    By mpls_mpls_arpresolve() caused annotation M_MPLS is unset
(see above) during mpls_output() and not during mpls_arpoutput().
Otherwise, jmp to

/*
 * If NHLFE maps to tx link layer interface, any
 * MPI maps to aggregate set of routes.
 */
    if ((ftn->ftn_ifa = mii->mii_nhlfe) != NULL) {
        ftn->ftn_flags |= ifatonhlfe(ftn->ftn_ifa)->nhlfe_flags;
        ftn->ftn_nh = ftn->ftn_ifa->ifa_dstaddr;
        ftn->ftn_gw = sftntosa(&ftn->ftn_dst);

        if  (ftn->ftn_ifa->ifa_flags & IFA_NHLFE) {
/*
 * If out-segment maps to link layer interface, prepend.
 */
            if ((m = mpls_encap(m, dst, ftn)) == NULL) {
                error = ECONNABORTED;
                goto out;
            }
        }
    }

takes place, as default behaviour, iff tx interface remains
in MPLS enabled state.
    Finally, I've started reviewing

  o netmpls/mpls.c

and

  o netmpls/mpls_rmx.c

due to simplefieing present implementation as precondition
for refactoring mpls_rt_output() and route(8) entirely,
because I'm not happy about present implementation (it is
too much complicated and not clean)!!!
    Be patient, I'm rethinking present implementation
entirely, especially how MPLS related code sections in

  o route(8)

and

  o netstat(8)

should be refactored.

Well, I should drink more coffee... :-)