summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2017-11-29 19:15:49 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2017-11-29 19:15:49 +0000
commit272303fcac9605ffced23c4681f61fc329cc97d5 (patch)
tree33610028aa243823de44dab19de6ac7a0a8887e4 /sys
parentfaafabce81e16b3e7e5757730e497083a45165f8 (diff)
Revert 1.353, this breaks mpe(4). Also it seems not complete since rt_ifa_del
still had this hack in. This needs to be revisted and better understood. It may be needed to add a mplsrdomain to mpe(4) but MPLS only in the rtable 0 is hardcoded in more places and we should fix them all. OK mpi@
Diffstat (limited to 'sys')
-rw-r--r--sys/net/route.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/net/route.c b/sys/net/route.c
index d766f14a9ce..3d0d66297c3 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: route.c,v 1.367 2017/09/05 10:56:04 mpi Exp $ */
+/* $OpenBSD: route.c,v 1.368 2017/11/29 19:15:48 claudio Exp $ */
/* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */
/*
@@ -1028,8 +1028,11 @@ rt_ifa_add(struct ifaddr *ifa, int flags, struct sockaddr *dst)
info.rti_info[RTAX_LABEL] = rtlabel_id2sa(ifp->if_rtlabelid, &sa_rl);
#ifdef MPLS
- if ((flags & RTF_MPLS) == RTF_MPLS)
+ if ((flags & RTF_MPLS) == RTF_MPLS) {
info.rti_mpls = MPLS_OP_POP;
+ /* MPLS routes only exist in rdomain 0 */
+ rtableid = 0;
+ }
#endif /* MPLS */
if ((flags & RTF_HOST) == 0)