Module Name: src
Committed By: ozaki-r
Date: Fri May 25 04:40:27 UTC 2018
Modified Files:
src/sys/dev/pci: if_wm.c
src/sys/dev/pci/ixgbe: ixgbe.c ixv.c
src/sys/net: if_bridge.c if_gif.c if_pppoe.c
Log Message:
Ensure to call if_register after interface initializations finish
To generate a diff of this commit:
cvs rdiff -u -r1.579 -r1.580 src/sys/dev/pci/if_wm.c
cvs rdiff -u -r1.155 -r1.156 src/sys/dev/pci/ixgbe/ixgbe.c
cvs rdiff -u -r1.100 -r1.101 src/sys/dev/pci/ixgbe/ixv.c
cvs rdiff -u -r1.155 -r1.156 src/sys/net/if_bridge.c
cvs rdiff -u -r1.141 -r1.142 src/sys/net/if_gif.c
cvs rdiff -u -r1.137 -r1.138 src/sys/net/if_pppoe.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_wm.c
diff -u src/sys/dev/pci/if_wm.c:1.579 src/sys/dev/pci/if_wm.c:1.580
--- src/sys/dev/pci/if_wm.c:1.579 Thu May 10 03:43:42 2018
+++ src/sys/dev/pci/if_wm.c Fri May 25 04:40:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_wm.c,v 1.579 2018/05/10 03:43:42 msaitoh Exp $ */
+/* $NetBSD: if_wm.c,v 1.580 2018/05/25 04:40:26 ozaki-r Exp $ */
/*
* Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -83,7 +83,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.579 2018/05/10 03:43:42 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.580 2018/05/25 04:40:26 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_net_mpsafe.h"
@@ -2829,8 +2829,8 @@ alloc_retry:
}
sc->sc_ipq = if_percpuq_create(&sc->sc_ethercom.ec_if);
ether_ifattach(ifp, enaddr);
- if_register(ifp);
ether_set_ifflags_cb(&sc->sc_ethercom, wm_ifflags_cb);
+ if_register(ifp);
rnd_attach_source(&sc->rnd_source, xname, RND_TYPE_NET,
RND_FLAG_DEFAULT);
Index: src/sys/dev/pci/ixgbe/ixgbe.c
diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.155 src/sys/dev/pci/ixgbe/ixgbe.c:1.156
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.155 Wed May 23 10:11:07 2018
+++ src/sys/dev/pci/ixgbe/ixgbe.c Fri May 25 04:40:27 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.155 2018/05/23 10:11:07 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.156 2018/05/25 04:40:27 ozaki-r Exp $ */
/******************************************************************************
@@ -1316,7 +1316,6 @@ ixgbe_setup_interface(device_t dev, stru
* We use per TX queue softint, so if_deferred_start_init() isn't
* used.
*/
- if_register(ifp);
ether_set_ifflags_cb(ec, ixgbe_ifflags_cb);
adapter->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
@@ -1365,6 +1364,8 @@ ixgbe_setup_interface(device_t dev, stru
/* Set autoselect media by default */
ifmedia_set(&adapter->media, IFM_ETHER | IFM_AUTO);
+ if_register(ifp);
+
return (0);
} /* ixgbe_setup_interface */
Index: src/sys/dev/pci/ixgbe/ixv.c
diff -u src/sys/dev/pci/ixgbe/ixv.c:1.100 src/sys/dev/pci/ixgbe/ixv.c:1.101
--- src/sys/dev/pci/ixgbe/ixv.c:1.100 Wed May 23 10:11:07 2018
+++ src/sys/dev/pci/ixgbe/ixv.c Fri May 25 04:40:27 2018
@@ -1,4 +1,4 @@
-/*$NetBSD: ixv.c,v 1.100 2018/05/23 10:11:07 msaitoh Exp $*/
+/*$NetBSD: ixv.c,v 1.101 2018/05/25 04:40:27 ozaki-r Exp $*/
/******************************************************************************
@@ -1519,7 +1519,6 @@ ixv_setup_interface(device_t dev, struct
* We use per TX queue softint, so if_deferred_start_init() isn't
* used.
*/
- if_register(ifp);
ether_set_ifflags_cb(ec, ixv_ifflags_cb);
adapter->max_frame_size = ifp->if_mtu + IXGBE_MTU_HDR;
@@ -1558,6 +1557,8 @@ ixv_setup_interface(device_t dev, struct
ifmedia_add(&adapter->media, IFM_ETHER | IFM_AUTO, 0, NULL);
ifmedia_set(&adapter->media, IFM_ETHER | IFM_AUTO);
+ if_register(ifp);
+
return 0;
} /* ixv_setup_interface */
Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.155 src/sys/net/if_bridge.c:1.156
--- src/sys/net/if_bridge.c:1.155 Mon May 14 02:55:03 2018
+++ src/sys/net/if_bridge.c Fri May 25 04:40:27 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bridge.c,v 1.155 2018/05/14 02:55:03 ozaki-r Exp $ */
+/* $NetBSD: if_bridge.c,v 1.156 2018/05/25 04:40:27 ozaki-r Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.155 2018/05/14 02:55:03 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.156 2018/05/25 04:40:27 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_bridge_ipf.h"
@@ -470,9 +470,8 @@ bridge_clone_create(struct if_clone *ifc
return error;
}
- if_register(ifp);
-
if_alloc_sadl(ifp);
+ if_register(ifp);
return 0;
}
Index: src/sys/net/if_gif.c
diff -u src/sys/net/if_gif.c:1.141 src/sys/net/if_gif.c:1.142
--- src/sys/net/if_gif.c:1.141 Tue May 1 07:21:39 2018
+++ src/sys/net/if_gif.c Fri May 25 04:40:27 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_gif.c,v 1.141 2018/05/01 07:21:39 maxv Exp $ */
+/* $NetBSD: if_gif.c,v 1.142 2018/05/25 04:40:27 ozaki-r Exp $ */
/* $KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.141 2018/05/01 07:21:39 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.142 2018/05/25 04:40:27 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -306,9 +306,9 @@ gifattach0(struct gif_softc *sc)
if (rv != 0)
return rv;
- if_register(&sc->gif_if);
if_alloc_sadl(&sc->gif_if);
bpf_attach(&sc->gif_if, DLT_NULL, sizeof(u_int));
+ if_register(&sc->gif_if);
return 0;
}
Index: src/sys/net/if_pppoe.c
diff -u src/sys/net/if_pppoe.c:1.137 src/sys/net/if_pppoe.c:1.138
--- src/sys/net/if_pppoe.c:1.137 Thu May 3 16:52:42 2018
+++ src/sys/net/if_pppoe.c Fri May 25 04:40:27 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_pppoe.c,v 1.137 2018/05/03 16:52:42 maxv Exp $ */
+/* $NetBSD: if_pppoe.c,v 1.138 2018/05/25 04:40:27 ozaki-r Exp $ */
/*-
* Copyright (c) 2002, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_pppoe.c,v 1.137 2018/05/03 16:52:42 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_pppoe.c,v 1.138 2018/05/25 04:40:27 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "pppoe.h"
@@ -336,12 +336,12 @@ pppoe_clone_create(struct if_clone *ifc,
}
sc->sc_sppp.pp_if.if_percpuq = if_percpuq_create(&sc->sc_sppp.pp_if);
sppp_attach(&sc->sc_sppp.pp_if);
- if_register(&sc->sc_sppp.pp_if);
bpf_attach(&sc->sc_sppp.pp_if, DLT_PPP_ETHER, 0);
if (LIST_EMPTY(&pppoe_softc_list)) {
pfil_add_ihook(pppoe_ifattach_hook, NULL, PFIL_IFNET, if_pfil);
}
+ if_register(&sc->sc_sppp.pp_if);
rw_init(&sc->sc_lock);