OLSR daemon for MacOsX
Requirements: xCode (Lastest Version). You can download it from here
Download & Installation
Donwload source code from olsr.org (click here)
You can also download it from a shell with:
wget http://www.olsr.org/releases/0.6/olsrd-0.6.0.tar.gz
Extract it with
tar -xzvf olsrd-0.6.0.tar.gz
cd olsrd-0.6.0
To build:
make
To install(as root):
make install
To make plugins (needed)
make libs
To install plugins
make install_libs
To delete object files run:
make clean
Optionally, to clean all generated files:
make uberclean
you can see the message:
[..cut..]
========= C O N F I G U R A T I O N - F I L E ============ olsrd uses the configfile /etc/olsrd.conf
[..cut..]
This means that you have to modify this file to run Olsrd Daemon.
vi /etc/olsrd.conf
This is the default config file of OLSR :
Put your olsr interfaces here in the config file:
Interface "<OLSRd-Interface1>" "<OLSRd-Interface2>"
# # OLSR.org routing daemon config file # This file contains the usual options for an ETX based # stationary network without fisheye # (for other options see olsrd.conf.default.full) # # Lines starting with a # are discarded #### ATTENTION for IPv6 users #### # Because of limitations in the parser IPv6 addresses must NOT # begin with a ":", so please add a "0" as a prefix. ########################### ### Basic configuration ### ########################### # keep this settings at the beginning of your first configuration file # Debug level (0-9) # If set to 0 the daemon runs in the background, unless "NoFork" is set to true # (Default is 1) # DebugLevel 1 # IP version to use (4 or 6) # (Default is 4) # IpVersion 4 ################################# ### OLSRd agent configuration ### ################################# # this parameters control the settings of the routing agent which are not # related to the OLSR protocol and it's extensions # FIBMetric controls the metric value of the host-routes OLSRd sets. # - "flat" means that the metric value is always 2. This is the preferred value # because it helps the linux kernel routing to clean up older routes # - "correct" use the hopcount as the metric value. # - "approx" use the hopcount as the metric value too, but does only update the # hopcount if the nexthop changes too # (Default is "flat") # FIBMetric "flat" ####################################### ### Linux specific OLSRd extensions ### ####################################### # these parameters are only working on linux at the moment, but might become # useful on BSD in the future # SrcIpRoutes tells OLSRd to set the Src flag of host routes to the originator-ip # of the node. In addition to this an additional localhost device is created # to make sure the returning traffic can be received. # (Default is "no") # SrcIpRoutes no # Specify the proto tag to be used for routes olsr inserts into kernel # currently only implemented for linux # valid values under linux are 1 .. 254 # 1 gets remapped by olsrd to 0 UNSPECIFIED (1 is reserved for ICMP redirects) # 2 KERNEL routes (not very wise to use) # 3 BOOT (should in fact not be used by routing daemons) # 4 STATIC # 8 .. 15 various routing daemons (gated, zebra, bird, & co) # (defaults to 0 which gets replaced by an OS-specific default value # under linux 3 (BOOT) (for backward compatibility) # RtProto 0 # Activates (in IPv6 mode) the automatic use of NIIT # (see README-Olsr-Extensions) # (default is "yes") # UseNiit yes # Activates the smartgateway ipip tunnel feature. # See README-Olsr-Extensions for a description of smartgateways. # (default is "yes") # SmartGateway yes # Allows the selection of a smartgateway with NAT (only for IPv4) # (default is "yes") # SmartGatewayAllowNAT yes # Defines what kind of Uplink this node will publish as a # smartgateway. The existence of the uplink is detected by # a route to 0.0.0.0/0, ::ffff:0:0/96 and/or 2000::/3. # possible values are "none", "ipv4", "ipv6", "both" # (default is "both") # SmartGatewayUplink "both" # Specifies if the local ipv4 uplink use NAT # (default is "yes") # SmartGatewayUplinkNAT yes # Specifies the speed of the uplink in kilobit/s. # First parameter is upstream, second parameter is downstream # (default is 128/1024) # SmartGatewaySpeed 128 1024 # Specifies the EXTERNAL ipv6 prefix of the uplink. A prefix # length of more than 64 is not allowed. # (default is 0::/0 # SmartGatewayPrefix 0::/0 ############################## ### OLSR protocol settings ### ############################## # HNA (Host network association) allows the OLSR to announce # additional IPs or IP subnets to the net that are reachable # through this node. # Syntax for HNA4 is "network-address network-mask" # Syntax for HNA6 is "network-address prefix-length" # (default is no HNA) Hna4 { # Internet gateway # 0.0.0.0 0.0.0.0 # specific small networks reachable through this node # 15.15.0.0 255.255.255.0 } Hna6 { # Internet gateway # 0:: 0 # specific small networks reachable through this node # fec0:2200:106:0:0:0:0:0 48 } ################################ ### OLSR protocol extensions ### ################################ # Link quality algorithm (only for lq level 2) # (see README-Olsr-Extensions) # - "etx_float", a floating point ETX with exponential aging # - "etx_fpm", same as ext_float, but with integer arithmetic # - "etx_ff" (ETX freifunk), an etx variant which use all OLSR # traffic (instead of only hellos) for ETX calculation # - "etx_ffeth", an incompatible variant of etx_ff that allows # ethernet links with ETX 0.1. # (defaults to "etx_ff") # LinkQualityAlgorithm "etx_ff" # Fisheye mechanism for TCs (0 meansoff, 1 means on) # (default is 1) LinkQualityFishEye 0 ##################################### ### Example plugin configurations ### ##################################### # Olsrd plugins to load # This must be the absolute path to the file # or the loader will use the following scheme: # - Try the paths in the LD_LIBRARY_PATH # environment variable. # - The list of libraries cached in /etc/ld.so.cache # - /lib, followed by /usr/lib # # the examples in this list are for linux, so check if the plugin is # available if you use windows/BSD. # each plugin should have a README file in it's lib subfolder # LoadPlugin "olsrd_txtinfo.dll" LoadPlugin "olsrd_txtinfo.so.0.1" { . # port number the txtinfo plugin will be listening, default 2006 # PlParam "port" "81" . # ip address that can access the plugin, use "0.0.0.0" # to allow everyone PlParam "Accept" "127.0.0.1" } ############################################# ### OLSRD default interface configuration ### ############################################# # the default interface section can have the same values as the following # interface configuration. It will allow you so set common options for all # interfaces. InterfaceDefaults { . # Ip4Broadcast 255.255.255.255 } ###################################### ### OLSRd Interfaces configuration ### ###################################### # multiple interfaces can be specified for a single configuration block # multiple configuration blocks can be specified # WARNING, don't forget to insert your interface names here ! Interface "<OLSRd-Interface1>" "<OLSRd-Interface2>" { . # Interface Mode is used to prevent unnecessary # packet forwarding on switched ethernet interfaces # valid Modes are "mesh" and "ether" # (default is "mesh") # Mode "mesh" }
Save the file with
ESC + : + wq
Try to run olsr with
sudo olsrd -f /etc/olsrd.conf