Project

General

Profile

Configuration File Format » History » Revision 8

Revision 7 (A K M Mahmudul Hoque, 05/05/2014 09:13 AM) → Revision 8/27 (A K M Mahmudul Hoque, 05/05/2014 09:31 AM)

## Configuration File Format 

 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). 

 ## Example configuration 

     ; the router section contains the setting of network, site name  
     ; and router name which all together makes router-prefix 
    
     router 
     { 
     ; mandatory configuration command 
     
    
         network 
         { 
             name /ndn               ; router name prefix consist of three components: the network name, site name and router name 
     belongs to 
         }                           ; for below example network part is /ndn, site must be in ndn URI format 

     ; mandatory configuration command 
    
         site-name 
         { 
             name part is /memphis.edu and router 
           ; name part is /cs/pollux makes up prefix of the site name router prefix /ndn/memphis.edu/cs/pollux 
    
         router-prefix belongs to 
         }                           ; must be in ndn URI format 

     ; mandatory configuration command  
    
         router-name 
         { 
             name /ndn/memphis.edu/cs/pollux       /cs/pollux         ; name prefix of the router 
         }                           ; must be in ndn URI format 
         } 
     } 

     ; the hello section describes the configuration settings for NLSR hello protocol 
    
     hello 
     { 
     ; ndnneighbor command is used to configure router's neighbor. Each neighbor will need 
     ; one block of neighbor command 
    
        ndnneighbor 
        { 
            name /ndn/memphis.edu/cs/castor ; name prefix of the neighbor router consists 
                                            ; of network, site-name and router-name 
           
            host cs.castor.memphis.edu        ; hostname or ip address of neighbor router 
            link-cost 20.6                    ; cost of the connecting link to neighbor 
        } 

     ; interest-retry command is used to configure the interval of hello interest and number 
     ; of retry interests before a router gives up in case of interest timed out 
    
        interest-retry 
        { 
            number      3        ; interest retry number in integer. Default value 3 
                             ; valid values 1-10 

            interval    10       ; interest sending interval in seconds. Default value 1 
                             ; valid values 1-15 
        } 
     } 

     ; the synchronization section contains all the configuration settings for router's update 
     ; synchronization with neighbors in the network 

     synchronization 
     { 
     ; all routers in the network must have same sync-prefix. Routers synchronizes routing updates 
     ; in this prefix across the network. This prefix is routable to each neighbor from every router 

         sync-prefix 
         { 
             name /ndn/nlsr/sync      ; name in URI format. Default value /ndn/nlsr/sync 
         } 

     ; lsa-refresh-time is the time in seconds, after which router will refresh its LSAs 
    
         lsa-refresh-time 
         { 
             seconds 1800             ; default value 1800. Valid values 240-7200 
         } 
     } 

     ; the hyperbolic section contains the configuration settings of enabling a router to calculate 
     ; routing table using [hyperbolic routing table calculation](http://arxiv.org/abs/0805.1266) method 

     hyperbolic 
     { 
     ; the switch is used to set hyperbolic routing calculation in NLSR 

         switch 
         { 
             value off            ; default value 'off', set value 'on' to enable hyperbolic routing table  
                                ; calculation which turns link state routing 'off'. set value to 'dry-run" 
                                ; to test hyperbolic routing and compare with link state routing.   
         } 

     ; the coordinate is used to configure the hyperbolic coordinates of the router in geometric system. This 
     ; values are statically set in each router by system admin. If switch has a value of 'on' or 'dry-run' 
     ; this configuration command is mandatory for the router. 
    
        coordinate 
        { 
             radius     123.456     ; radius of the router in hyperbolic coordinate system 
             angle      1.45        ; angle of the router in hyperbolic coordinate system 
        } 
     } 

     ; the fib section is used to configure fib entry's type to ndn FIB updated by NLSR 

     fib 
     { 
     ; the tunnel configuration is used to set the tunnel type of the FIB entries by NLSR 
    
         tunnel 
         { 
             type udp       ; default tunnel type is 'udp', set value to 'tcp' for TCP tunnel 
         } 

     ; the max-faces-per-prefix is used to limit the number of faces for each name prefixes 
     ; by NLSR in ndn FIB 
    
         max-faces-per-prefix 
         { 
             number 3       ; default value 0. Valid value 0-60. By default (value 0) NLSR adds 
                          ; all available faces for each reachable name prefixes in NDN FIB 
         } 
     } 

     ; the advertising section contains the configuration settings of the name prefixes  
     ; hosted by this router 

     advertising 
     { 
     ; the ndnname is used to advertised name from the router. To advertise each name prefix 
     ; configure one block of ndnname configuration command for every name prefix. 
    
         ndnname 
         { 
            name /ndn/edu/memphis/cs/netlab ; name in ndn URI format 
         } 
     }