Annotation of src/sys/rump/librump/rumpnet/net_stub.c, Revision 1.45
1.45 ! yamaguch 1: /* $NetBSD: net_stub.c,v 1.44 2021/09/30 03:35:55 yamaguchi Exp $ */
1.1 pooka 2:
3: /*
4: * Copyright (c) 2008 Antti Kantee. All Rights Reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: * 1. Redistributions of source code must retain the above copyright
10: * notice, this list of conditions and the following disclaimer.
11: * 2. Redistributions in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in the
13: * documentation and/or other materials provided with the distribution.
14: *
15: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
16: * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18: * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21: * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25: * SUCH DAMAGE.
26: */
27:
1.5 pooka 28: #include <sys/cdefs.h>
1.45 ! yamaguch 29: __KERNEL_RCSID(0, "$NetBSD: net_stub.c,v 1.44 2021/09/30 03:35:55 yamaguchi Exp $");
1.5 pooka 30:
1.23 ozaki-r 31: #include <sys/mutex.h>
1.1 pooka 32: #include <sys/param.h>
1.3 pooka 33: #include <sys/protosw.h>
34: #include <sys/socketvar.h>
1.23 ozaki-r 35: #include <sys/pslist.h>
36: #include <sys/psref.h>
1.1 pooka 37:
38: #include <net/if.h>
39: #include <net/route.h>
40:
1.26 ozaki-r 41: #include <netipsec/ipsec.h>
42: #include <netipsec/ipsec6.h>
43: #include <netipsec/key.h>
44:
1.1 pooka 45: #include <compat/sys/socket.h>
1.2 pooka 46: #include <compat/sys/sockio.h>
1.1 pooka 47:
1.17 pooka 48: int rumpnet_stub(void);
1.1 pooka 49: int
1.17 pooka 50: rumpnet_stub(void)
1.1 pooka 51: {
52:
1.10 pooka 53: panic("component not available");
1.1 pooka 54: }
1.15 pooka 55:
1.10 pooka 56: /*
57: * Weak symbols so that we can optionally leave components out.
58: * (would be better to fix sys/net* to be more modular, though)
59: */
60:
61: /* bridge */
1.17 pooka 62: __weak_alias(bridge_ifdetach,rumpnet_stub);
63: __weak_alias(bridge_output,rumpnet_stub);
1.37 rin 64: __weak_alias(bridge_calc_csum_flags,rumpnet_stub);
1.10 pooka 65:
1.11 pooka 66: /* agr */
1.17 pooka 67: __weak_alias(agr_input,rumpnet_stub);
68: __weak_alias(ieee8023ad_lacp_input,rumpnet_stub);
69: __weak_alias(ieee8023ad_marker_input,rumpnet_stub);
1.11 pooka 70:
1.22 ozaki-r 71: /* pppoe */
72: __weak_alias(pppoe_input,rumpnet_stub);
73: __weak_alias(pppoedisc_input,rumpnet_stub);
74:
1.24 ozaki-r 75: /* vlan */
76: __weak_alias(vlan_input,rumpnet_stub);
77: __weak_alias(vlan_ifdetach,rumpnet_stub);
1.39 roy 78: __weak_alias(vlan_link_state_changed,rumpnet_stub);
1.24 ozaki-r 79:
1.26 ozaki-r 80: /* ipsec */
81: /* FIXME: should modularize netipsec and reduce reverse symbol references */
82: int ipsec_debug;
83: int ipsec_enabled;
84: int ipsec_used;
85: percpu_t *ipsecstat_percpu;
86: u_int ipsec_spdgen;
87:
88: __weak_alias(ah4_ctlinput,rumpnet_stub);
89: __weak_alias(ah6_ctlinput,rumpnet_stub);
90: __weak_alias(esp4_ctlinput,rumpnet_stub);
91: __weak_alias(esp6_ctlinput,rumpnet_stub);
92: __weak_alias(ipsec4_output,rumpnet_stub);
93: __weak_alias(ipsec4_common_input,rumpnet_stub);
94: __weak_alias(ipsec6_common_input,rumpnet_stub);
95: __weak_alias(ipsec6_check_policy,rumpnet_stub);
96: __weak_alias(ipsec6_process_packet,rumpnet_stub);
1.35 maxv 97: __weak_alias(ipsec_mtu,rumpnet_stub);
1.38 ozaki-r 98: __weak_alias(ipsec_ip_input_checkpolicy,rumpnet_stub);
1.31 maxv 99: __weak_alias(ipsec_set_policy,rumpnet_stub);
1.30 maxv 100: __weak_alias(ipsec_get_policy,rumpnet_stub);
101: __weak_alias(ipsec_delete_pcbpolicy,rumpnet_stub);
1.28 maxv 102: __weak_alias(ipsec_hdrsiz,rumpnet_stub);
1.29 maxv 103: __weak_alias(ipsec_in_reject,rumpnet_stub);
1.33 maxv 104: __weak_alias(ipsec_init_pcbpolicy,rumpnet_stub);
1.26 ozaki-r 105: __weak_alias(ipsec_pcbconn,rumpnet_stub);
106: __weak_alias(ipsec_pcbdisconn,rumpnet_stub);
107: __weak_alias(key_sa_routechange,rumpnet_stub);
1.27 ozaki-r 108: __weak_alias(key_sp_unref,rumpnet_stub);
1.26 ozaki-r 109:
1.42 yamaguch 110: /* lagg */
111: __weak_alias(lagg_ifdetach,rumpnet_stub);
112: __weak_alias(lagg_input_ethernet,rumpnet_stub);
113:
1.43 ozaki-r 114: /* altq */
115: int (*altq_input)(struct mbuf *, int);
116: __weak_alias(in6mask128,rumpnet_stub);
117: __weak_alias(in6mask0,rumpnet_stub);
118: __weak_alias(altq_detach,rumpnet_stub);
119: __weak_alias(altq_disable,rumpnet_stub);
120: __weak_alias(tbr_dequeue,rumpnet_stub);
121:
1.18 rmind 122: struct ifnet_head ifnet_list;
1.23 ozaki-r 123: struct pslist_head ifnet_pslist;
124: kmutex_t ifnet_mtx;
CVSweb <webmaster@jp.NetBSD.org>