Use interface index and if_{put,get} instead of ifnet pointer.
authoryasuoka <yasuoka@openbsd.org>
Sun, 28 May 2017 18:43:51 +0000 (18:43 +0000)
committeryasuoka <yasuoka@openbsd.org>
Sun, 28 May 2017 18:43:51 +0000 (18:43 +0000)
sys/net/if_pppx.c
sys/net/pipex_local.h

index 3d552ad..92f9b77 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_pppx.c,v 1.59 2017/05/28 12:51:34 yasuoka Exp $ */
+/*     $OpenBSD: if_pppx.c,v 1.60 2017/05/28 18:43:51 yasuoka Exp $ */
 
 /*
  * Copyright (c) 2010 Claudio Jeker <claudio@openbsd.org>
@@ -749,7 +749,7 @@ pppx_add_session(struct pppx_dev *pxd, struct pipex_session_req *req)
                    MIN(req->pr_local_address.ss_len, sizeof(session->local)));
 #ifdef PIPEX_PPPOE
        if (req->pr_protocol == PIPEX_PROTO_PPPOE)
-               session->proto.pppoe.over_ifp = over_ifp;
+               session->proto.pppoe.over_ifidx = over_ifp->if_index;
 #endif
 #ifdef PIPEX_PPTP
        if (req->pr_protocol == PIPEX_PROTO_PPTP) {
index 25487f3..18eb986 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: pipex_local.h,v 1.26 2017/05/28 12:51:34 yasuoka Exp $        */
+/*     $OpenBSD: pipex_local.h,v 1.27 2017/05/28 18:43:51 yasuoka Exp $        */
 
 /*
  * Copyright (c) 2009 Internet Initiative Japan Inc.
@@ -77,7 +77,7 @@ struct pipex_mppe {
 
 #ifdef PIPEX_PPPOE
 struct pipex_pppoe_session {
-       struct ifnet *over_ifp;                 /* ether interface */
+       u_int    over_ifidx;                 /* ether interface */
 };
 #endif /* PIPEX_PPPOE */