Project

General

Profile

Configuration File Format » History » Version 6

A K M Mahmudul Hoque, 05/05/2014 09:07 AM

1 1 A K M Mahmudul Hoque
## Configuration File Format
2
3
NLSR is configured using an [INFO file](http://www.boost.org/doc/libs/1_42_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.info_parser).
4
5
## Example configuration
6
7
    ; the router section contains the setting of network, site name 
8
    ; and router name which all together makes router-prefix
9
    
10
    router
11
    {
12 4 A K M Mahmudul Hoque
    ; mandatory configuration command
13 6 A K M Mahmudul Hoque
    
14 1 A K M Mahmudul Hoque
        network
15
        {
16
            name /ndn             ; name prefix of the network router belongs to
17
        }                         ; must be in ndn URI format
18
19 4 A K M Mahmudul Hoque
    ; mandatory configuration command
20 6 A K M Mahmudul Hoque
    
21 1 A K M Mahmudul Hoque
        site-name
22
        {
23
            name /memphis.edu     ; name prefix of the site name router belongs to
24
        }                         ; must be in ndn URI format
25
26 4 A K M Mahmudul Hoque
    ; mandatory configuration command 
27 6 A K M Mahmudul Hoque
    
28 1 A K M Mahmudul Hoque
        router-name
29
        {
30
            name /cs/pollux       ; name prefix of the router
31
        }                         ; must be in ndn URI format
32
    }
33
34
    ; the hello section describes the configuration settings for NLSR hello protocol
35
    
36
    hello
37
    {
38
    ; neighbor command is used to configure router's neighbor. Each neighbor will need
39
    ; one block of neighbor command
40
    
41
       neighbor
42
       {
43
           name /ndn/memphis.edu/cs/castor ; name prefix of the neighbor router consists
44
                                           ; of network, site-name and router-name
45
           
46
           host cs.castor.memphis.edu      ; hostname or ip address of neighbor router
47
           link-cost 20.6                  ; cost of the connecting link to neighbor
48
       }
49
50
    ; interest-retry command is used to configure the interval of hello interest and number
51
    ; of retry interests before a router gives up in case of interest timed out
52
    
53
       interest-retry
54
       {
55
           number    3      ; interest retry number in integer. Default value 3
56
                            ; valid values 1-10
57
58
           interval  10     ; interest sending interval in seconds. Default value 1
59
                            ; valid values 1-15
60
       }
61
    }
62
63
    ; the synchronization section contains all the configuration settings for router's update
64
    ; synchronization with neighbors in the network
65
66
    synchronization
67
    {
68 2 A K M Mahmudul Hoque
    ; all routers in the network must have same sync-prefix. Routers synchronizes routing updates
69
    ; in this prefix across the network. This prefix is routable to each neighbor from every router
70 1 A K M Mahmudul Hoque
71
        sync-prefix
72
        {
73 2 A K M Mahmudul Hoque
            name /ndn/nlsr/sync    ; name in URI format. Default value /ndn/nlsr/sync
74 1 A K M Mahmudul Hoque
        }
75
76 2 A K M Mahmudul Hoque
    ; lsa-refresh-time is the time in seconds, after which router will refresh its LSAs
77
    
78 1 A K M Mahmudul Hoque
        lsa-refresh-time
79
        {
80 2 A K M Mahmudul Hoque
            seconds 1800           ; default value 1800. Valid values 240-7200
81 1 A K M Mahmudul Hoque
        }
82
    }
83
84 2 A K M Mahmudul Hoque
    ; the hyperbolic section contains the configuration settings of enabling a router to calculate
85
    ; routing table using [hyperbolic routing table calculation](http://arxiv.org/abs/0805.1266) method
86
87
    hyperbolic
88 1 A K M Mahmudul Hoque
    {
89 3 A K M Mahmudul Hoque
    ; the switch is used to set hyperbolic routing calculation in NLSR
90 1 A K M Mahmudul Hoque
91 3 A K M Mahmudul Hoque
        switch
92
        {
93
            value off          ; default value 'off', set value 'on' to enable hyperbolic routing table 
94
                               ; calculation which turns link state routing 'off'. set value to 'dry-run"
95
                               ; to test hyperbolic routing and compare with link state routing.  
96
        }
97
98
    ; the coordinate is used to configure the hyperbolic coordinates of the router in geometric system. This
99
    ; values are statically set in each router by system admin. If switch has a value of 'on' or 'dry-run'
100
    ; this configuration command is mandatory for the router.
101 2 A K M Mahmudul Hoque
    
102 1 A K M Mahmudul Hoque
       coordinate
103
       {
104 4 A K M Mahmudul Hoque
            radius   123.456   ; radius of the router in hyperbolic coordinate system
105
            angle    1.45      ; angle of the router in hyperbolic coordinate system
106 2 A K M Mahmudul Hoque
       }
107 1 A K M Mahmudul Hoque
    }
108 5 A K M Mahmudul Hoque
109
    ; the fib section is used to configure fib entry's type to ndn FIB updated by NLSR
110
111 1 A K M Mahmudul Hoque
    fib
112
    {
113 6 A K M Mahmudul Hoque
    ; the tunnel configuration is used to set the tunnel type of the FIB entries by NLSR
114
    
115
        tunnel
116 1 A K M Mahmudul Hoque
        {
117 6 A K M Mahmudul Hoque
            type udp     ; default tunnel type is 'udp', set value to 'tcp' for TCP tunnel
118 1 A K M Mahmudul Hoque
        }
119
120 6 A K M Mahmudul Hoque
    ; the max-faces-per-prefix is used to limit the number of faces for each name prefixes
121
    ; by NLSR in ndn FIB
122
    
123
        max-faces-per-prefix
124 5 A K M Mahmudul Hoque
        {
125 6 A K M Mahmudul Hoque
            number 3     ; default value 0. Valid value 0-60. By default (value 0) NLSR adds
126
                         ; all available faces for each reachable name prefixes in NDN FIB
127 5 A K M Mahmudul Hoque
        }
128
    }