Routing table creation based on LQ compiles. Not tested at all.
[olsrd.git] / OLSRD_FAQ
1 THIS IS THE FAQ FROM THE OLSRd HOME PAGE(www.olsr.org):
2
3
4 Q: When using 255.255.255.255 as broadcast address nodes with addresses from different subnets, but on the same link, don't hear eachother!
5 A: To make this work you must disable ingress filtering on the interfaces. This is done by typing:
6 echo "0" > /proc/sys/net/ipv4/conf/eth0/rp_filter
7 in a shell. Replace eth0 with the interface you are using. From 0.4.4 this will be done automatically by olsrd.
8
9 Q: When using IPv6 I get a Cannot assign requested address error.
10 A: Olsrd uses a site-local multicast address for control traffic when using IPv6(since broadcast is not avalible in IPv6). If your interfaces are not configured with a site-local address then you should eiter configure them with a site-local address or use a global multicast address like ff0e::1. The multicast address to use can be set by the IP6MULTI directive in the config file.
11
12 Q: I get a bind: Address already in use when trying to run OLSRd on multiple interfaces.
13 A: If you are using a 2.6 kernel this will occure in all olsrd versions prior to 0.4.1. Either upgrade olsrd(preferred) or downgrade your kernel.
14
15 Q: I change the uolsrd.conf file and nothing happens! Or: olsrd will no linger start when I run the uolsrd command!
16 A: From release 0.3.6 the binary is named olsrd and the configfile is named olsrd.conf. You should remove old configfiles!
17
18 Q: Does uOLSRd compile for strong-ARM architecture?
19 A: Yes.Get this cross-compiler.
20 ARM binaries can also be downloaded from the download section.
21
22 Q: Can I use uOLSRd in simulators such as NS2?
23 A: Not to my knowledge. There is no simulator specific code in uOLSRd.
24
25 Q: Does uOLSRd have IPv6 support?
26 A: Yes.
27
28 Q: What keeps uOLSRd from compiling on, say, FreeBSD?
29 A: Various issues prevents this - the main one is that when running on multiple interfaes uOLSRd sets up one socket on each interface to be able to control on what interfaces messages are sent. To do this the flag SO_BINDTODEVICE is set on the socket using the setsockopt(2) call. This flag, or any similar, does not exist in freeBSD.
30 uOLSRd will work without SO_BINDTODEVICE if no two OLSR interfaces use tha same broadcastaddress. This is a unacceptable limitation IMO.
31 I am going to look into BPF(BSD packet filter) one day - as this seem to might provide the functionallity needed.
32
33 UPDATE:
34 I have consulted the helpfull folks at the freebsd-net mailinglist, and I think this problem will be solved now! So a FreeBSD port will hopefully happen somwhere in the 0.4 branch.
35
36 Q: I get uOLSRd up and running - but the nodes don't seem to "hear" eachother! Have I discovered a bug!?
37 A: I would say with 99% certainty that this is a configuration problem. Here are the most common mistakes:
38
39     * If using IPv4 make sure the interfaces(that are supposed to be on the same network) are using a common broadcastaddress!
40     * If using WLAN interfaces make sure the ESSID/key match and that the cards are set in ad-hoc mode!
41     * Make sure you are not blocking UDP/698. If using netfilter run iptables -L as root to see what rules are set. iptables -F flushes all rules.
42
43
44
45 Q: I can't get uOLSRd to start.... why oh why??
46 A: Some things to check for:
47
48     * You must be root to run uOLSRd.
49     * Interfaces must be preconfigured with IP address and broadcast address for uOLSRd to use them. They must also be set UP and RUNNING(flags). Use the ifconfig tool to configure and check c onfiguration of interfaces.
50     * You must specify on which interface(s) uOLSRd should run(using the -i switch or configfile).
51     * uOLSRd can not run on alias interfaces i.e. interfaces with names containing : like eth0:0.
52
53
54
55 Q: The GUI front-end failed to compile... why?
56 A: You probably don't have GTK2.0 development libraries installed.
57
58 Q: On what platforms does uOLSRd compile?
59 A: As of yet uOLSRd compiles on the Linux(>=2.2) platform.
60