Project

General

Profile

Configuration File Format » History » Version 8

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