xref: /openbmc/linux/net/6lowpan/core.c (revision 6a613ac6)
1 /* This program is free software; you can redistribute it and/or modify
2  * it under the terms of the GNU General Public License version 2
3  * as published by the Free Software Foundation.
4  *
5  * This program is distributed in the hope that it will be useful,
6  * but WITHOUT ANY WARRANTY; without even the implied warranty of
7  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8  * GNU General Public License for more details.
9  *
10  * Authors:
11  * (C) 2015 Pengutronix, Alexander Aring <aar@pengutronix.de>
12  */
13 
14 #include <linux/module.h>
15 
16 #include <net/6lowpan.h>
17 
18 void lowpan_netdev_setup(struct net_device *dev, enum lowpan_lltypes lltype)
19 {
20 	dev->addr_len = EUI64_ADDR_LEN;
21 	dev->type = ARPHRD_6LOWPAN;
22 	dev->mtu = IPV6_MIN_MTU;
23 	dev->priv_flags |= IFF_NO_QUEUE;
24 
25 	lowpan_priv(dev)->lltype = lltype;
26 }
27 EXPORT_SYMBOL(lowpan_netdev_setup);
28 
29 static int __init lowpan_module_init(void)
30 {
31 	request_module_nowait("ipv6");
32 
33 	request_module_nowait("nhc_dest");
34 	request_module_nowait("nhc_fragment");
35 	request_module_nowait("nhc_hop");
36 	request_module_nowait("nhc_ipv6");
37 	request_module_nowait("nhc_mobility");
38 	request_module_nowait("nhc_routing");
39 	request_module_nowait("nhc_udp");
40 
41 	return 0;
42 }
43 module_init(lowpan_module_init);
44 
45 MODULE_LICENSE("GPL");
46