Skip to content

How to tell distance vector to advertise a route to its neighbors? #141

@Gitopolis

Description

@Gitopolis

Maybe it's a lack of documentation, but I don't understand how to propagate a route to other routers in the network.
This is what I do:

  • start the daemons
    router 1:
    sudo ndnd daemon router1.yml
    
    router2:
    sudo ndnd daemon router2.yml
    
  • both routers have an empty list of neighbors now, so I add them
    router1:
    ndnd dv link-create udp://<ip4>:6363
    ndnd dv link-create udp://[<ip6>]:6363
    
    router2 already have router1 as a neighbor from previous command, so there's no need to add it
  • start pingserver on router1
    ndnd pingserver /ndn/qwe
    
  • at this point I expect /ndn/qwe route to appear on router2's route list, but it is not there, and the pings from router2 to /ndn/qwe timeouted.

router1 route table:

prefix=/localhost/nlsr nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/router1/32=DV nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/32=DV/32=PFS nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/32=DV/32=PFS nexthop=6 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/qwe/ping nexthop=7 origin=app cost=0 flags={child-inherit} expires=never
prefix=/ndn/router2/32=DV nexthop=6 origin=nlsr cost=1 flags={child-inherit} expires=never
prefix=/ndn/router2/32=DV/KEY nexthop=6 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/router2/32=DV nexthop=6 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/router1/32=DV/32=ADV nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/32=DV/32=ADS nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/32=DV/32=ADS/32=PSV nexthop=6 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/32=DV/32=ADS/32=ACT nexthop=6 origin=app cost=0 flags={child-inherit} expires=never

router2 route table:

prefix=/localhost/nlsr nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/router1/32=DV nexthop=4 origin=nlsr cost=1 flags={child-inherit} expires=never
prefix=/ndn/router1/32=DV/KEY nexthop=4 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/router2/32=DV nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/32=DV/32=PFS nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/ndn/32=DV/32=PFS nexthop=4 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/router1/32=DV nexthop=4 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/router2/32=DV/32=ADV nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/32=DV/32=ADS nexthop=3 origin=nlsr cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/32=DV/32=ADS/32=ACT nexthop=7 origin=app cost=0 flags={child-inherit} expires=never
prefix=/localhop/ndn/32=DV/32=ADS/32=PSV nexthop=4 origin=nlsr cost=0 flags={child-inherit} expires=never

If I start pingserver on /ndn/32=DV/32=PFS/qwe instead of /ndn/qwe, then I receive interest and data, so default multicast strategy works. But how to advertise the routes?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions