Fri Jan 16 10:36:14 2015 UTC ()
Introduce defflag for NET_MPSAFE


(ozaki-r)
diff -r1.1124 -r1.1125 src/sys/conf/files
diff -r1.14 -r1.15 src/sys/dev/pci/if_vioif.c
diff -r1.308 -r1.309 src/sys/dev/pci/if_wm.c
diff -r1.307 -r1.308 src/sys/net/if.c
diff -r1.22 -r1.23 src/sys/net/if_bridgevar.h
diff -r1.78 -r1.79 src/sys/net/if_vlan.c

cvs diff -r1.1124 -r1.1125 src/sys/conf/files (expand / switch to unified diff)

--- src/sys/conf/files 2015/01/11 14:22:53 1.1124
+++ src/sys/conf/files 2015/01/16 10:36:14 1.1125
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: files,v 1.1124 2015/01/11 14:22:53 jmcneill Exp $ 1# $NetBSD: files,v 1.1125 2015/01/16 10:36:14 ozaki-r Exp $
2# @(#)files.newconf 7.5 (Berkeley) 5/10/93 2# @(#)files.newconf 7.5 (Berkeley) 5/10/93
3 3
4version 20141030 4version 20141030
5 5
6# 6#
7# device classes 7# device classes
8# 8#
9devclass disk 9devclass disk
10devclass tape 10devclass tape
11devclass ifnet 11devclass ifnet
12devclass tty 12devclass tty
13devclass audiodev 13devclass audiodev
14devclass displaydev 14devclass displaydev
@@ -41,26 +41,27 @@ defflag BUFQ_FCFS @@ -41,26 +41,27 @@ defflag BUFQ_FCFS
41defflag BUFQ_PRIOCSCAN 41defflag BUFQ_PRIOCSCAN
42defflag BUFQ_READPRIO 42defflag BUFQ_READPRIO
43defflag NEW_BUFQ_STRATEGY # same as BUFQ_READPRIO 43defflag NEW_BUFQ_STRATEGY # same as BUFQ_READPRIO
44 44
45defflag opt_sched.h SCHED_4BSD 45defflag opt_sched.h SCHED_4BSD
46defflag opt_sched.h SCHED_M2 46defflag opt_sched.h SCHED_M2
47 47
48defparam SOMAXKVA 48defparam SOMAXKVA
49defflag opt_sock_counters.h SOSEND_COUNTERS 49defflag opt_sock_counters.h SOSEND_COUNTERS
50defflag opt_sosend_loan.h SOSEND_NO_LOAN 50defflag opt_sosend_loan.h SOSEND_NO_LOAN
51defflag opt_route.h RTCACHE_DEBUG RTFLUSH_DEBUG 51defflag opt_route.h RTCACHE_DEBUG RTFLUSH_DEBUG
52 52
53defflag MULTIPROCESSOR 53defflag MULTIPROCESSOR
 54defflag NET_MPSAFE
54 55
55defflag opt_config.h INCLUDE_CONFIG_FILE INCLUDE_JUST_CONFIG 56defflag opt_config.h INCLUDE_CONFIG_FILE INCLUDE_JUST_CONFIG
56 57
57defparam opt_dump.h DUMP_ON_PANIC 58defparam opt_dump.h DUMP_ON_PANIC
58 59
59defflag opt_callout.h CALLWHEEL_STATS 60defflag opt_callout.h CALLWHEEL_STATS
60 61
61defflag CPU_IN_CKSUM 62defflag CPU_IN_CKSUM
62 63
63defflag opt_dtrace.h KDTRACE_HOOKS 64defflag opt_dtrace.h KDTRACE_HOOKS
64 65
65defflag opt_sysv.h SYSVMSG SYSVSEM SYSVSHM 66defflag opt_sysv.h SYSVMSG SYSVSEM SYSVSHM
66defparam opt_sysvparam.h SHMMAXPGS SEMMNI SEMMNS SEMUME SEMMNU 67defparam opt_sysvparam.h SHMMAXPGS SEMMNI SEMMNS SEMUME SEMMNU

cvs diff -r1.14 -r1.15 src/sys/dev/pci/if_vioif.c (expand / switch to unified diff)

--- src/sys/dev/pci/if_vioif.c 2014/12/25 06:39:26 1.14
+++ src/sys/dev/pci/if_vioif.c 2015/01/16 10:36:14 1.15
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: if_vioif.c,v 1.14 2014/12/25 06:39:26 ozaki-r Exp $ */ 1/* $NetBSD: if_vioif.c,v 1.15 2015/01/16 10:36:14 ozaki-r Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2010 Minoura Makoto. 4 * Copyright (c) 2010 Minoura Makoto.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer. 11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright 12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the 13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution. 14 * documentation and/or other materials provided with the distribution.
@@ -16,27 +16,31 @@ @@ -16,27 +16,31 @@
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28#include <sys/cdefs.h> 28#include <sys/cdefs.h>
29__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.14 2014/12/25 06:39:26 ozaki-r Exp $"); 29__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.15 2015/01/16 10:36:14 ozaki-r Exp $");
 30
 31#ifdef _KERNEL_OPT
 32#include "opt_net_mpsafe.h"
 33#endif
30 34
31#include <sys/param.h> 35#include <sys/param.h>
32#include <sys/systm.h> 36#include <sys/systm.h>
33#include <sys/kernel.h> 37#include <sys/kernel.h>
34#include <sys/bus.h> 38#include <sys/bus.h>
35#include <sys/condvar.h> 39#include <sys/condvar.h>
36#include <sys/device.h> 40#include <sys/device.h>
37#include <sys/intr.h> 41#include <sys/intr.h>
38#include <sys/kmem.h> 42#include <sys/kmem.h>
39#include <sys/mbuf.h> 43#include <sys/mbuf.h>
40#include <sys/mutex.h> 44#include <sys/mutex.h>
41#include <sys/sockio.h> 45#include <sys/sockio.h>
42#include <sys/cpu.h> 46#include <sys/cpu.h>

cvs diff -r1.308 -r1.309 src/sys/dev/pci/if_wm.c (expand / switch to unified diff)

--- src/sys/dev/pci/if_wm.c 2014/11/16 09:47:35 1.308
+++ src/sys/dev/pci/if_wm.c 2015/01/16 10:36:14 1.309
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: if_wm.c,v 1.308 2014/11/16 09:47:35 msaitoh Exp $ */ 1/* $NetBSD: if_wm.c,v 1.309 2015/01/16 10:36:14 ozaki-r Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. 4 * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Written by Jason R. Thorpe for Wasabi Systems, Inc. 7 * Written by Jason R. Thorpe for Wasabi Systems, Inc.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions 10 * modification, are permitted provided that the following conditions
11 * are met: 11 * are met:
12 * 1. Redistributions of source code must retain the above copyright 12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer. 13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright 14 * 2. Redistributions in binary form must reproduce the above copyright
@@ -71,27 +71,31 @@ @@ -71,27 +71,31 @@
71 * Device driver for the Intel i8254x family of Gigabit Ethernet chips. 71 * Device driver for the Intel i8254x family of Gigabit Ethernet chips.
72 * 72 *
73 * TODO (in order of importance): 73 * TODO (in order of importance):
74 * 74 *
75 * - Check XXX'ed comments 75 * - Check XXX'ed comments
76 * - EEE (Energy Efficiency Ethernet) 76 * - EEE (Energy Efficiency Ethernet)
77 * - MSI/MSI-X 77 * - MSI/MSI-X
78 * - Virtual Function 78 * - Virtual Function
79 * - Set LED correctly (based on contents in EEPROM) 79 * - Set LED correctly (based on contents in EEPROM)
80 * - Rework how parameters are loaded from the EEPROM. 80 * - Rework how parameters are loaded from the EEPROM.
81 */ 81 */
82 82
83#include <sys/cdefs.h> 83#include <sys/cdefs.h>
84__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.308 2014/11/16 09:47:35 msaitoh Exp $"); 84__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.309 2015/01/16 10:36:14 ozaki-r Exp $");
 85
 86#ifdef _KERNEL_OPT
 87#include "opt_net_mpsafe.h"
 88#endif
85 89
86#include <sys/param.h> 90#include <sys/param.h>
87#include <sys/systm.h> 91#include <sys/systm.h>
88#include <sys/callout.h> 92#include <sys/callout.h>
89#include <sys/mbuf.h> 93#include <sys/mbuf.h>
90#include <sys/malloc.h> 94#include <sys/malloc.h>
91#include <sys/kernel.h> 95#include <sys/kernel.h>
92#include <sys/socket.h> 96#include <sys/socket.h>
93#include <sys/ioctl.h> 97#include <sys/ioctl.h>
94#include <sys/errno.h> 98#include <sys/errno.h>
95#include <sys/device.h> 99#include <sys/device.h>
96#include <sys/queue.h> 100#include <sys/queue.h>
97#include <sys/syslog.h> 101#include <sys/syslog.h>

cvs diff -r1.307 -r1.308 src/sys/net/if.c (expand / switch to unified diff)

--- src/sys/net/if.c 2014/12/15 06:52:25 1.307
+++ src/sys/net/if.c 2015/01/16 10:36:14 1.308
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: if.c,v 1.307 2014/12/15 06:52:25 ozaki-r Exp $ */ 1/* $NetBSD: if.c,v 1.308 2015/01/16 10:36:14 ozaki-r Exp $ */
2 2
3/*- 3/*-
4 * Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc. 4 * Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to The NetBSD Foundation 7 * This code is derived from software contributed to The NetBSD Foundation
8 * by William Studenmund and Jason R. Thorpe. 8 * by William Studenmund and Jason R. Thorpe.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -80,33 +80,36 @@ @@ -80,33 +80,36 @@
80 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 80 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
81 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 81 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
82 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 82 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
83 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 83 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
84 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 84 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
85 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 85 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
86 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 86 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
87 * SUCH DAMAGE. 87 * SUCH DAMAGE.
88 * 88 *
89 * @(#)if.c 8.5 (Berkeley) 1/9/95 89 * @(#)if.c 8.5 (Berkeley) 1/9/95
90 */ 90 */
91 91
92#include <sys/cdefs.h> 92#include <sys/cdefs.h>
93__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.307 2014/12/15 06:52:25 ozaki-r Exp $"); 93__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.308 2015/01/16 10:36:14 ozaki-r Exp $");
94 94
 95#if defined(_KERNEL_OPT)
95#include "opt_inet.h" 96#include "opt_inet.h"
96 97
97#include "opt_atalk.h" 98#include "opt_atalk.h"
98#include "opt_natm.h" 99#include "opt_natm.h"
99#include "opt_wlan.h" 100#include "opt_wlan.h"
 101#include "opt_net_mpsafe.h"
 102#endif
100 103
101#include <sys/param.h> 104#include <sys/param.h>
102#include <sys/mbuf.h> 105#include <sys/mbuf.h>
103#include <sys/systm.h> 106#include <sys/systm.h>
104#include <sys/callout.h> 107#include <sys/callout.h>
105#include <sys/proc.h> 108#include <sys/proc.h>
106#include <sys/socket.h> 109#include <sys/socket.h>
107#include <sys/socketvar.h> 110#include <sys/socketvar.h>
108#include <sys/domain.h> 111#include <sys/domain.h>
109#include <sys/protosw.h> 112#include <sys/protosw.h>
110#include <sys/kernel.h> 113#include <sys/kernel.h>
111#include <sys/ioctl.h> 114#include <sys/ioctl.h>
112#include <sys/sysctl.h> 115#include <sys/sysctl.h>

cvs diff -r1.22 -r1.23 src/sys/net/if_bridgevar.h (expand / switch to unified diff)

--- src/sys/net/if_bridgevar.h 2015/01/08 10:47:44 1.22
+++ src/sys/net/if_bridgevar.h 2015/01/16 10:36:14 1.23
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: if_bridgevar.h,v 1.22 2015/01/08 10:47:44 ozaki-r Exp $ */ 1/* $NetBSD: if_bridgevar.h,v 1.23 2015/01/16 10:36:14 ozaki-r Exp $ */
2 2
3/* 3/*
4 * Copyright 2001 Wasabi Systems, Inc. 4 * Copyright 2001 Wasabi Systems, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Written by Jason R. Thorpe for Wasabi Systems, Inc. 7 * Written by Jason R. Thorpe for Wasabi Systems, Inc.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions 10 * modification, are permitted provided that the following conditions
11 * are met: 11 * are met:
12 * 1. Redistributions of source code must retain the above copyright 12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer. 13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright 14 * 2. Redistributions in binary form must reproduce the above copyright
@@ -197,26 +197,30 @@ struct ifbrparam { @@ -197,26 +197,30 @@ struct ifbrparam {
197 uint16_t ifbrpu_int16; 197 uint16_t ifbrpu_int16;
198 uint8_t ifbrpu_int8; 198 uint8_t ifbrpu_int8;
199 } ifbrp_ifbrpu; 199 } ifbrp_ifbrpu;
200}; 200};
201#define ifbrp_csize ifbrp_ifbrpu.ifbrpu_int32 /* cache size */ 201#define ifbrp_csize ifbrp_ifbrpu.ifbrpu_int32 /* cache size */
202#define ifbrp_ctime ifbrp_ifbrpu.ifbrpu_int32 /* cache time (sec) */ 202#define ifbrp_ctime ifbrp_ifbrpu.ifbrpu_int32 /* cache time (sec) */
203#define ifbrp_prio ifbrp_ifbrpu.ifbrpu_int16 /* bridge priority */ 203#define ifbrp_prio ifbrp_ifbrpu.ifbrpu_int16 /* bridge priority */
204#define ifbrp_hellotime ifbrp_ifbrpu.ifbrpu_int8 /* hello time (sec) */ 204#define ifbrp_hellotime ifbrp_ifbrpu.ifbrpu_int8 /* hello time (sec) */
205#define ifbrp_fwddelay ifbrp_ifbrpu.ifbrpu_int8 /* fwd time (sec) */ 205#define ifbrp_fwddelay ifbrp_ifbrpu.ifbrpu_int8 /* fwd time (sec) */
206#define ifbrp_maxage ifbrp_ifbrpu.ifbrpu_int8 /* max age (sec) */ 206#define ifbrp_maxage ifbrp_ifbrpu.ifbrpu_int8 /* max age (sec) */
207#define ifbrp_filter ifbrp_ifbrpu.ifbrpu_int32 /* filtering flags */ 207#define ifbrp_filter ifbrp_ifbrpu.ifbrpu_int32 /* filtering flags */
208 208
209#ifdef _KERNEL 209#ifdef _KERNEL
 210#ifdef _KERNEL_OPT
 211#include "opt_net_mpsafe.h"
 212#endif /* _KERNEL_OPT */
 213
210#include <sys/pserialize.h> 214#include <sys/pserialize.h>
211#include <sys/workqueue.h> 215#include <sys/workqueue.h>
212 216
213#include <net/pktqueue.h> 217#include <net/pktqueue.h>
214 218
215/* 219/*
216 * Timekeeping structure used in spanning tree code. 220 * Timekeeping structure used in spanning tree code.
217 */ 221 */
218struct bridge_timer { 222struct bridge_timer {
219 uint16_t active; 223 uint16_t active;
220 uint16_t value; 224 uint16_t value;
221}; 225};
222 226

cvs diff -r1.78 -r1.79 src/sys/net/if_vlan.c (expand / switch to unified diff)

--- src/sys/net/if_vlan.c 2014/10/11 10:27:31 1.78
+++ src/sys/net/if_vlan.c 2015/01/16 10:36:14 1.79
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: if_vlan.c,v 1.78 2014/10/11 10:27:31 ozaki-r Exp $ */ 1/* $NetBSD: if_vlan.c,v 1.79 2015/01/16 10:36:14 ozaki-r Exp $ */
2 2
3/*- 3/*-
4 * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. 4 * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to The NetBSD Foundation 7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Andrew Doran, and by Jason R. Thorpe of Zembu Labs, Inc. 8 * by Andrew Doran, and by Jason R. Thorpe of Zembu Labs, Inc.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -68,29 +68,32 @@ @@ -68,29 +68,32 @@
68 * enough of an Ethernet implementation to make ARP work. The way we do 68 * enough of an Ethernet implementation to make ARP work. The way we do
69 * this is by telling everyone that we are an Ethernet interface, and then 69 * this is by telling everyone that we are an Ethernet interface, and then
70 * catch the packets that ether_output() left on our output queue when it 70 * catch the packets that ether_output() left on our output queue when it
71 * calls if_start(), rewrite them for use by the real outgoing interface, 71 * calls if_start(), rewrite them for use by the real outgoing interface,
72 * and ask it to send them. 72 * and ask it to send them.
73 * 73 *
74 * TODO: 74 * TODO:
75 * 75 *
76 * - Need some way to notify vlan interfaces when the parent 76 * - Need some way to notify vlan interfaces when the parent
77 * interface changes MTU. 77 * interface changes MTU.
78 */ 78 */
79 79
80#include <sys/cdefs.h> 80#include <sys/cdefs.h>
81__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.78 2014/10/11 10:27:31 ozaki-r Exp $"); 81__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.79 2015/01/16 10:36:14 ozaki-r Exp $");
82 82
 83#ifdef _KERNEL_OPT
83#include "opt_inet.h" 84#include "opt_inet.h"
 85#include "opt_net_mpsafe.h"
 86#endif
84 87
85#include <sys/param.h> 88#include <sys/param.h>
86#include <sys/kernel.h> 89#include <sys/kernel.h>
87#include <sys/mbuf.h> 90#include <sys/mbuf.h>
88#include <sys/queue.h> 91#include <sys/queue.h>
89#include <sys/socket.h> 92#include <sys/socket.h>
90#include <sys/sockio.h> 93#include <sys/sockio.h>
91#include <sys/systm.h> 94#include <sys/systm.h>
92#include <sys/proc.h> 95#include <sys/proc.h>
93#include <sys/kauth.h> 96#include <sys/kauth.h>
94#include <sys/mutex.h> 97#include <sys/mutex.h>
95 98
96#include <net/bpf.h> 99#include <net/bpf.h>