Project

General

Profile

Configuration File Format » History » Revision 9

Revision 8 (A K M Mahmudul Hoque, 05/05/2014 09:31 AM) → Revision 9/27 (A K M Mahmudul Hoque, 05/05/2014 11:17 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 section 
    
         network /ndn           
     ; name router prefix consist of the three components: network the name, site name and router belongs to in ndn URI format 
         name 
     ; for below example network part is /ndn, site name part is /memphis.edu      and router 
     ; name of part is /cs/pollux makes up the site the router belongs to in ndn URI format prefix /ndn/memphis.edu/cs/pollux 
    
         router-prefix 
         router /cs/pollux      { 
             name /ndn/memphis.edu/cs/pollux       ; name prefix of the network the router belongs to in ndn URI format 
         } 
     } 

     ; the hello section describes the configuration settings for NLSR hello protocol 
    
     hello 
     { 
     ; in case hello interest timed out, router will try 'retrials' times at 'interval' seconds 
     ; interval before giving up for any neighbors (deciding link is down)      

        retrials 3                            ; interest retry number in integer. Default value 3 
                                            ; valid values 1-10 

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

     ; neighbor ndnneighbor command is used to configure router's neighbor. Each neighbor will need 
     ; one block of neighbor command 
    
        neighbor 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 
     { 
     ; commands in this section follows a strict order 
     ; the switch is used to set hyperbolic routing calculation in NLSR 

         state 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 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 
         } 
     }