<div dir="ltr">Dear all,<div>       I have installed nlsr and try to configure it. However, the prefixes are found not to be advertised properly. Is there any setting like allowing certain port? Before using nlsr, nfdc is used and everything works well. Could someone help me check the problem?</div><div><br></div><div>My configurations are below:</div><div>3 routers are connected to each other: /thu/elop1/%C1.Router/router1 /thu/elop2/%C1.Router/router2  and /thu/elop3/%C1.Router/router3</div><div><br></div><div>The results of nfd-status -r is as below:</div><div><div><b>RIB:</b></div><div><b>  /localhost/nfd/rib route={faceid=258 (origin=0 cost=0 ChildInherit)}</b></div><div><b>  /thu/elop3/%C1.Router/router3 route={faceid=260 (origin=128 cost=25 RibCapture)}</b></div><div><b>  /thu/elop2/%C1.Router/router2 route={faceid=261 (origin=128 cost=30 RibCapture)}</b></div><div><b>  /thu/elop1/%C1.Router/router1 route={faceid=270 (origin=0 cost=0 RibCapture)}</b></div><div><b>  /thu/elop/%C1.Router/router3 route={faceid=260 (origin=128 cost=25 RibCapture)}  (This name is from old settings)</b></div><div><b>  /thu/elop/%C1.Router/router2 route={faceid=261 (origin=128 cost=30 RibCapture)}  (</b><b>This name is from old settings</b><b>)</b></div><div><b>  /thu/NLSR/sync route={faceid=260 (origin=128 cost=25 RibCapture), faceid=261 (origin=128 cost=30 RibCapture)}</b></div><div><b>  /thu/NLSR/LSA/elop1/%C1.Router/router1 route={faceid=270 (origin=0 cost=0 RibCapture)}</b></div><div><b>  /thu/NLSR/LSA route={faceid=260 (origin=128 cost=25 RibCapture), faceid=261 (origin=128 cost=30 RibCapture)}</b></div><div><b>  /ndn/broadcast/KEYS route={faceid=260 (origin=128 cost=25 RibCapture), faceid=261 (origin=128 cost=30 RibCapture), faceid=270 (origin=0 cost=0 RibCapture)}</b></div></div><div><b><br></b></div><div>The prefixes manager by router1 is not shown in this rib which is </div><div><div><b>    /thu/elop1/server-1/repo/1</b></div><div><b>    /thu/elop1/server-1/data/1</b></div></div><div><br></div><div><br></div><div>config file of router1 is as below</div><div><br></div><div><div><b>; nlsr.conf starts here</b></div><div><b>; the general section contains all the general settings for router</b></div><div><b><br></b></div><div><b>general</b></div><div><b>{</b></div><div><b>    ; mandatory configuration command section network, site and router</b></div><div><b>    network /thu/         ; name of the network the router belongs to in ndn URI format</b></div><div><b>    site /elop1/    ; name of the site the router belongs to in ndn URI format</b></div><div><b>    router /%C1.Router/router1    ; name of the network the router belongs to in ndn URI format</b></div><div><b><br></b></div><div><b>    ; lsa-refresh-time is the time in seconds, after which router will refresh its LSAs</b></div><div><b>    lsa-refresh-time 1800      ; default value 1800. Valid values 240-7200</b></div><div><b><br></b></div><div><b>    ; InterestLifetime (in seconds) for LSA fetching</b></div><div><b>    lsa-interest-lifetime 4    ; default value 4. Valid values 1-60</b></div><div><b><br></b></div><div><b>    ; log-level is to set the levels of log for NLSR</b></div><div><b>    log-level  INFO       ; default value INFO, valid value DEBUG, INFO</b></div><div><b>    log-dir /var/log/nlsr/</b></div><div><b>    seq-dir /var/lib/nlsr/</b></div><div><b>}</b></div><div><b><br></b></div><div><b>; the neighbors section contains the configuration for router's neighbors and hello's behavior</b></div><div><b><br></b></div><div><b>neighbors</b></div><div><b>{</b></div><div><b>   ; in case hello interest timed out, router will try 'hello-retries' times at 'hello-time-out'</b></div><div><b>   ; seconds interval before giving up for any neighbors (deciding link is down)</b></div><div><b><br></b></div><div><b>   hello-retries 3                     ; interest retries number in integer. Default value 3</b></div><div><b>                                       ; valid values 1-10</b></div><div><b><br></b></div><div><b>   hello-timeout 1                    ; interest time out value in integer. Default value 1</b></div><div><b>                                      ; Valid values 1-15</b></div><div><b><br></b></div><div><b>   hello-interval  60                  ; interest sending interval in seconds. Default value 60</b></div><div><b>                                       ; valid values 30-90</b></div><div><b>   ; neighbor command is used to configure router's neighbor. Each neighbor will need</b></div><div><b>   ; one block of neighbor command</b></div><div><b><br></b></div><div><b>  neighbor</b></div><div><b>  {</b></div><div><b>      name /thu/elop3/%C1.Router/router3        ; name prefix of the neighbor router consists</b></div><div><b>                                                      ; of network, site-name and router-name</b></div><div><b><br></b></div><div><b>      face-uri  udp4://<a href="http://52.1.251.14">52.1.251.14</a>  ; face uri of the face connected to the neighbor</b></div><div><b>      link-cost 25                         ; cost of the connecting link to neighbor</b></div><div><b>  }</b></div><div><b><br></b></div><div><b>  neighbor</b></div><div><b>  {</b></div><div><b>      name /thu/elop2/%C1.Router/router2          ; name prefix of the neighbor router consists</b></div><div><b>                                               ; of network, site-name and router-name</b></div><div><b><br></b></div><div><b>      face-uri  udp4://<a href="http://54.152.174.232">54.152.174.232</a>     ; face uri of the face connected to the neighbor</b></div><div><b>      link-cost 30                        ; cost of the connecting link to neighbor</b></div><div><b>  }</b></div><div><b>}</b></div><div><b><br></b></div><div><b>; the hyperbolic section contains the configuration settings of enabling a router to calculate</b></div><div><b>; routing table using `hyperbolic routing table calculation`_ method</b></div><div><b><br></b></div><div><b>hyperbolic</b></div><div><b>{</b></div><div><b>    ; commands in this section follows a strict order</b></div><div><b>    ; the switch is used to set hyperbolic routing calculation in NLSR</b></div><div><b><br></b></div><div><b>    state off             ; default value 'off', set value 'on' to enable hyperbolic routing table</b></div><div><b>                          ; calculation which turns link state routing 'off'. set value to 'dry-run'</b></div><div><b>                          ; to test hyperbolic routing and compare with link state routing.</b></div><div><b><br></b></div><div><b><br></b></div><div><b>    radius   123.456       ; radius of the router in hyperbolic coordinate system</b></div><div><b>    angle    1.45          ; angle of the router in hyperbolic coordinate system</b></div><div><b>}</b></div><div><b><br></b></div><div><b><br></b></div><div><b>; the fib section is used to configure fib entry's type to ndn FIB updated by NLSR</b></div><div><b><br></b></div><div><b>fib</b></div><div><b>{</b></div><div><b>    ; the max-faces-per-prefix is used to limit the number of faces for each name prefixes</b></div><div><b>    ; by NLSR in ndn FIB</b></div><div><b><br></b></div><div><b>    max-faces-per-prefix 3   ; default value 0. Valid value 0-60. By default (value 0) NLSR adds</b></div><div><b>                             ; all available faces for each reachable name prefixes in NDN FIB</b></div><div><b><br></b></div><div><b>}</b></div><div><b><br></b></div><div><b>; the advertising section contains the configuration settings of the name prefixes</b></div><div><b>; hosted by this router</b></div><div><b><br></b></div><div><b>advertising</b></div><div><b>{</b></div><div><b>    ; the ndnname is used to advertised name from the router. To advertise each name prefix</b></div><div><b>    ; configure one block of ndnname configuration command for every name prefix.</b></div><div><b><br></b></div><div><b>    prefix /thu/elop1/server-1/repo/1</b></div><div><b>    prefix /thu/elop1/server-1/data/1</b></div><div><b>}</b></div></div><div><b><br></b></div><div>config file of router2 is as below:</div><div><br></div><div><div><b>; nlsr.conf starts here</b></div><div><b>; the general section contains all the general settings for router</b></div><div><b><br></b></div><div><b>general</b></div><div><b>{</b></div><div><b>    ; mandatory configuration command section network, site and router</b></div><div><b>    network /thu/         ; name of the network the router belongs to in ndn URI format</b></div><div><b>    site /elop2/    ; name of the site the router belongs to in ndn URI format</b></div><div><b>    router /%C1.Router/router2    ; name of the network the router belongs to in ndn URI format</b></div><div><b><br></b></div><div><b>    ; lsa-refresh-time is the time in seconds, after which router will refresh its LSAs</b></div><div><b>    lsa-refresh-time 1800      ; default value 1800. Valid values 240-7200</b></div><div><b><br></b></div><div><b>    ; InterestLifetime (in seconds) for LSA fetching</b></div><div><b>    lsa-interest-lifetime 4    ; default value 4. Valid values 1-60</b></div><div><b><br></b></div><div><b>    ; log-level is to set the levels of log for NLSR</b></div><div><b>    log-level  INFO       ; default value INFO, valid value DEBUG, INFO</b></div><div><b>    log-dir /var/log/nlsr/</b></div><div><b>    seq-dir /var/lib/nlsr/</b></div><div><b>}</b></div><div><b><br></b></div><div><b>; the neighbors section contains the configuration for router's neighbors and hello's behavior</b></div><div><b><br></b></div><div><b>neighbors</b></div><div><b>{</b></div><div><b>   ; in case hello interest timed out, router will try 'hello-retries' times at 'hello-time-out'</b></div><div><b>   ; seconds interval before giving up for any neighbors (deciding link is down)</b></div><div><b><br></b></div><div><b>   hello-retries 3                     ; interest retries number in integer. Default value 3</b></div><div><b>                                       ; valid values 1-10</b></div><div><b><br></b></div><div><b>   hello-timeout 1                    ; interest time out value in integer. Default value 1</b></div><div><b>                                      ; Valid values 1-15</b></div><div><b><br></b></div><div><b>   hello-interval  60                  ; interest sending interval in seconds. Default value 60</b></div><div><b>                                       ; valid values 30-90</b></div><div><b>   ; neighbor command is used to configure router's neighbor. Each neighbor will need</b></div><div><b>   ; one block of neighbor command</b></div><div><b><br></b></div><div><b>  neighbor</b></div><div><b>  {</b></div><div><b>      name /thu/elop3/%C1.Router/router3        ; name prefix of the neighbor router consists</b></div><div><b>                                                      ; of network, site-name and router-name</b></div><div><b><br></b></div><div><b>      face-uri  udp://<a href="http://52.1.251.14">52.1.251.14</a>  ; face uri of the face connected to the neighbor</b></div><div><b>      link-cost 25                         ; cost of the connecting link to neighbor</b></div><div><b>  }</b></div><div><b><br></b></div><div><b>  neighbor</b></div><div><b>  {</b></div><div><b>      name /thu/elop1/%C1.Router/router1          ; name prefix of the neighbor router consists</b></div><div><b>                                               ; of network, site-name and router-name</b></div><div><b><br></b></div><div><b>      face-uri  udp://<a href="http://54.152.123.79">54.152.123.79</a>     ; face uri of the face connected to the neighbor</b></div><div><b>      link-cost 30                        ; cost of the connecting link to neighbor</b></div><div><b>  }</b></div><div><b>}</b></div><div><b><br></b></div><div><b>; the hyperbolic section contains the configuration settings of enabling a router to calculate</b></div><div><b>; routing table using `hyperbolic routing table calculation`_ method</b></div><div><b><br></b></div><div><b>hyperbolic</b></div><div><b>{</b></div><div><b>    ; commands in this section follows a strict order</b></div><div><b>    ; the switch is used to set hyperbolic routing calculation in NLSR</b></div><div><b><br></b></div><div><b>    state off             ; default value 'off', set value 'on' to enable hyperbolic routing table</b></div><div><b>                          ; calculation which turns link state routing 'off'. set value to 'dry-run'</b></div><div><b>                          ; to test hyperbolic routing and compare with link state routing.</b></div><div><b><br></b></div><div><b><br></b></div><div><b>    radius   123.456       ; radius of the router in hyperbolic coordinate system</b></div><div><b>    angle    1.45          ; angle of the router in hyperbolic coordinate system</b></div><div><b>}</b></div><div><b><br></b></div><div><b><br></b></div><div><b>; the fib section is used to configure fib entry's type to ndn FIB updated by NLSR</b></div><div><b><br></b></div><div><b>fib</b></div><div><b>{</b></div><div><b>    ; the max-faces-per-prefix is used to limit the number of faces for each name prefixes</b></div><div><b>    ; by NLSR in ndn FIB</b></div><div><b><br></b></div><div><b>    max-faces-per-prefix 3   ; default value 0. Valid value 0-60. By default (value 0) NLSR adds</b></div><div><b>                             ; all available faces for each reachable name prefixes in NDN FIB</b></div><div><b><br></b></div><div><b>}</b></div><div><b><br></b></div><div><b>; the advertising section contains the configuration settings of the name prefixes</b></div><div><b>; hosted by this router</b></div><div><b><br></b></div><div><b>advertising</b></div><div><b>{</b></div><div><b>    ; the ndnname is used to advertised name from the router. To advertise each name prefix</b></div><div><b>    ; configure one block of ndnname configuration command for every name prefix.</b></div><div><b><br></b></div><div><b>    prefix /thu/elop2/server-2/repo/1</b></div><div><b>    prefix /thu/elop2/server-2/data/1</b></div><div><b>}</b></div></div><div><b><br></b></div><div>----</div><div>Shuo Chen</div><div>Tsinghua University</div><div><br></div></div>