forked from Minki/linux
4d6a6aed22
This patch moves values for all lowpan interface to the shared
implementation of 6lowpan. This patch also quietly fixes the forgotten
IFF_NO_QUEUE flag for the bluetooth 6LoWPAN interface. An identically
commit is 4afbc0d
("net: 6lowpan: convert to using IFF_NO_QUEUE") which
wasn't changed for bluetooth 6lowpan.
All 6lowpan interfaces should be virtual with IFF_NO_QUEUE, using EUI64
address length, the mtu size is 1280 (IPV6_MIN_MTU) and the netdev type
is ARPHRD_6LOWPAN.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
/* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* Authors:
|
|
* (C) 2015 Pengutronix, Alexander Aring <aar@pengutronix.de>
|
|
*/
|
|
|
|
#include <linux/module.h>
|
|
|
|
#include <net/6lowpan.h>
|
|
|
|
void lowpan_netdev_setup(struct net_device *dev, enum lowpan_lltypes lltype)
|
|
{
|
|
dev->addr_len = EUI64_ADDR_LEN;
|
|
dev->type = ARPHRD_6LOWPAN;
|
|
dev->mtu = IPV6_MIN_MTU;
|
|
dev->priv_flags |= IFF_NO_QUEUE;
|
|
|
|
lowpan_priv(dev)->lltype = lltype;
|
|
}
|
|
EXPORT_SYMBOL(lowpan_netdev_setup);
|
|
|
|
static int __init lowpan_module_init(void)
|
|
{
|
|
request_module_nowait("ipv6");
|
|
|
|
request_module_nowait("nhc_dest");
|
|
request_module_nowait("nhc_fragment");
|
|
request_module_nowait("nhc_hop");
|
|
request_module_nowait("nhc_ipv6");
|
|
request_module_nowait("nhc_mobility");
|
|
request_module_nowait("nhc_routing");
|
|
request_module_nowait("nhc_udp");
|
|
|
|
return 0;
|
|
}
|
|
module_init(lowpan_module_init);
|
|
|
|
MODULE_LICENSE("GPL");
|