summaryrefslogtreecommitdiff
path: root/sys/net
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2014-08-13 12:03:41 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2014-08-13 12:03:41 +0000
commitbec9492028b90f56da2cd3e0ad854b35fa2f8ba4 (patch)
tree0ee8c5c1d0e64afc56f16e601c42de20fe9889a4 /sys/net
parentba98576cb672f09fa301dcb104a0b646b4439865 (diff)
Correctly set the rtable ID of the packet header when sending
Active Discovery Terminate packets. ok mikeb@, henning@, phessler@
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/if_pppoe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/net/if_pppoe.c b/sys/net/if_pppoe.c
index efa97fe3d85..507da6d4f91 100644
--- a/sys/net/if_pppoe.c
+++ b/sys/net/if_pppoe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_pppoe.c,v 1.40 2014/07/12 18:44:22 tedu Exp $ */
+/* $OpenBSD: if_pppoe.c,v 1.41 2014/08/13 12:03:40 mpi Exp $ */
/* $NetBSD: if_pppoe.c,v 1.51 2003/11/28 08:56:48 keihan Exp $ */
/*
@@ -1398,6 +1398,9 @@ pppoe_send_padt(struct ifnet *outgoing_if, u_int session, const u_int8_t *dest)
memcpy(&eh->ether_dhost, dest, ETHER_ADDR_LEN);
m0->m_flags &= ~(M_BCAST|M_MCAST);
+ /* encapsulated packet is forced into rdomain of physical interface */
+ m0->m_pkthdr.ph_rtableid = outgoing_if->if_rdomain;
+
return (outgoing_if->if_output(outgoing_if, m0, &dst, NULL));
}