decnet.txt
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:7k
- Linux DECnet Networking Layer Information
- ===========================================
- 1) Other documentation....
- o Project Home Pages
- http://www.chygwyn.com/DECnet/ - Kernel info
- http://linux-decnet.sourceforge.net/ - Userland tools
- http://www.sourceforge.net/projects/linux-decnet/ - Status page
- 2) Configuring the kernel
- Be sure to turn on the following options:
- CONFIG_DECNET (obviously)
- CONFIG_PROC_FS (to see what's going on)
- CONFIG_SYSCTL (for easy configuration)
- if you want to try out router support (not properly debugged yet)
- you'll need the following options as well...
- CONFIG_DECNET_ROUTER (to be able to add/delete routes)
- CONFIG_NETFILTER (will be required for the DECnet routing daemon)
- CONFIG_DECNET_ROUTE_FWMARK is optional
- Don't turn on SIOCGIFCONF support for DECnet unless you are really sure
- that you need it, in general you won't and it can cause ifconfig to
- malfunction.
- 3) Command line options
- The kernel command line takes options looking like the following:
- decnet=1,2
- the two numbers are the node address 1,2 = 1.2 For 2.2.xx kernels
- and early 2.3.xx kernels, you must use a comma when specifying the
- DECnet address like this. For more recent 2.3.xx kernels, you may
- use almost any character except space, although a `.` would be the most
- obvious choice :-)
- There used to be a third number specifying the node type. This option
- has gone away in favour of a per interface node type. This is now set
- using /proc/sys/net/decnet/conf/<dev>/forwarding. This file can be
- set with a single digit, 0=EndNode, 1=L1 Router and 2=L2 Router.
- There are also equivalent options for modules. The node address can
- also be set through the /proc/sys/net/decnet/ files, as can other system
- parameters.
- Currently the only supported devices are ethernet and ip_gre. The
- ethernet address of your ethernet card has to be set according to the DECnet
- address of the node in order for it to be recognised (and thus appear in
- /proc/net/decnet_dev). There is a utility available at the above
- FTP sites called dn2ethaddr which can compute the correct ethernet
- address to use. The address can be set by ifconfig either before at
- at the time the device is brought up. If you are using RedHat you can
- add the line:
- MACADDR=AA:00:04:00:03:04
- or something similar, to /etc/sysconfig/network-scripts/ifcfg-eth0 or
- wherever your network card's configuration lives.
- You will also need to set /proc/sys/net/decnet/default_device to the
- device you want DECnet to route packets out of when no specific route
- is available. Usually this will be eth0, for example:
- echo -n "eth0" >/proc/sys/net/decnet/default_device
- There is a list of what the other files under /proc/sys/net/decnet/ do
- on the kernel patch web site (shown above).
- 4) Run time kernel configuration
- This is either done through the sysctl/proc interface (see the kernel web
- pages for details on what the various options do) or through the iproute2
- package in the same way as IPv4/6 configuration is performed.
- Documentation for iproute2 is included with the package, although there is
- as yet no specific section on DECnet, most of the features apply to both
- IP and DECnet, albeit with DECnet addresses instead of IP addresses and
- a reduced functionality.
- If you want to configure a DECnet router you'll need the iproute2 package
- since its the _only_ way to add and delete routes currently. Eventually
- there will be a routing daemon to send and receive routing messages for
- each interface and update the kernel routing tables accordingly. The
- routing daemon will use netfilter to listen to routing packets, and
- rtnetlink to update the kernels routing tables.
- The DECnet raw socket layer has been removed since it was there purely
- for use by the routing daemon which will now use netfilter (a much cleaner
- and more generic solution) instead.
- 5) How can I tell if its working ?
- Here is a quick guide of what to look for in order to know if your DECnet
- kernel subsystem is working.
- - Is the node address set (see /proc/sys/net/decnet/node_address)
- - Is the node of the correct type
- (see /proc/sys/net/decnet/conf/<dev>/forwarding)
- - Is the Ethernet MAC address of each Ethernet card set to match
- the DECnet address. If in doubt use the dn2ethaddr utility available
- at the ftp archive.
- - If the previous two steps are satisfied, and the Ethernet card is up,
- you should find that it is listed in /proc/net/decnet_dev and also
- that it appears as a directory in /proc/sys/net/decnet/conf/. The
- loopback device (lo) should also appear and is required to communicate
- within a node.
- - If you have any DECnet routers on your network, they should appear
- in /proc/net/decnet_neigh, otherwise this file will only contain the
- entry for the node itself (if it doesn't check to see if lo is up).
- - If you want to send to any node which is not listed in the
- /proc/net/decnet_neigh file, you'll need to set the default device
- to point to an Ethernet card with connection to a router. This is
- again done with the /proc/sys/net/decnet/default_device file.
- - Try starting a simple server and client, like the dnping/dnmirror
- over the loopback interface. With luck they should communicate.
- For this step and those after, you'll need the DECnet library
- which can be obtained from the above ftp sites as well as the
- actual utilities themselves.
- - If this seems to work, then try talking to a node on your local
- network, and see if you can obtain the same results.
- - At this point you are on your own... :-)
- 6) How to send a bug report
- If you've found a bug and want to report it, then there are several things
- you can do to help me work out exactly what it is that is wrong. Useful
- information (_most_ of which _is_ _essential_) includes:
- - What kernel version are you running ?
- - What version of the patch are you running ?
- - How far though the above set of tests can you get ?
- - What is in the /proc/decnet* files and /proc/sys/net/decnet/* files ?
- - Which services are you running ?
- - Which client caused the problem ?
- - How much data was being transferred ?
- - Was the network congested ?
- - If there was a kernel panic, please run the output through ksymoops
- before sending it to me, otherwise its _useless_.
- - How can the problem be reproduced ?
- - Can you use tcpdump to get a trace ? (N.B. Most (all?) versions of
- tcpdump don't understand how to dump DECnet properly, so including
- the hex listing of the packet contents is _essential_, usually the -x flag.
- You may also need to increase the length grabbed with the -s flag. The
- -e flag also provides very useful information (ethernet MAC addresses))
- 7) Mailing list
- If you are keen to get involved in development, or want to ask questions
- about configuration, or even just report bugs, then there is a mailing
- list that you can join, details are at:
- http://sourceforge.net/mail/?group_id=4993
- 8) Legal Info
- The Linux DECnet project team have placed their code under the GPL. The
- software is provided "as is" and without warranty express or implied.
- DECnet is a trademark of Compaq. This software is not a product of
- Compaq. We acknowledge the help of people at Compaq in providing extra
- documentation above and beyond what was previously publicly available.
- Steve Whitehouse <SteveW@ACM.org>