/* * DECnet An implementation of the DECnet protocol suite for the LINUX * operating system. DECnet is implemented using the BSD Socket * interface as the means of communication with the user level. * * DECnet Device Layer * * Authors: Steve Whitehouse <SteveW@ACM.org> * Eduardo Marcelo Serrat <emserrat@geocities.com> * * Changes: * Steve Whitehouse : Devices now see incoming frames so they * can mark on who it came from. * Steve Whitehouse : Fixed bug in creating neighbours. Each neighbour * can now have a device specific setup func. * Steve Whitehouse : Added /proc/sys/net/decnet/conf/<dev>/ * Steve Whitehouse : Fixed bug which sometimes killed timer * Steve Whitehouse : Multiple ifaddr support * Steve Whitehouse : SIOCGIFCONF is now a compile time option * Steve Whitehouse : /proc/sys/net/decnet/conf/<sys>/forwarding * Steve Whitehouse : Removed timer1 - it's a user space issue now * Patrick Caulfield : Fixed router hello message format * Steve Whitehouse : Got rid of constant sizes for blksize for * devices. All mtu based now. */#include <linux/config.h>#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/init.h>#include <linux/net.h>#include <linux/netdevice.h>#include <linux/proc_fs.h>#include <linux/seq_file.h>#include <linux/timer.h>#include <linux/string.h>#include <linux/if_arp.h>#include <linux/if_ether.h>#include <linux/skbuff.h>#include <linux/rtnetlink.h>#include <linux/sysctl.h>#include <linux/notifier.h>#include <asm/uaccess.h>#include <asm/system.h>#include <net/neighbour.h>#include <net/dst.h>#include <net/flow.h>#include <net/dn.h>#include <net/dn_dev.h>#include <net/dn_route.h>#include <net/dn_neigh.h>#include <net/dn_fib.h>#define DN_IFREQ_SIZE (sizeof(struct ifreq) - sizeof(struct sockaddr) + sizeof(struct sockaddr_dn))static char dn_rt_all_end_mcast[ETH_ALEN] = {0xAB,0x00,0x00,0x04,