[Nfd-dev] Best Route strategy doesn't work over ethernet multicast?

Nicholas Gordon nmgordon at memphis.edu
Tue Mar 27 12:46:01 PDT 2018


Hi everyone,

I'm trying to get some traffic going over ethernet multicast, and I
can't make it work with the 'best-route' strategy.

My strategy section is simple:

strategy_choice
{
	/ /localhost/nfd/strategy/best-route
}

And the two machines are otherwise connected. This is the output of
`nfdc face list` for each:

Machine 1:
faceid=1 remote=internal:// local=internal:// counters={in={0i 25d 0n 7412B} out={21i 0d 0n 1974B}} flags={local permanent point-to-point local-fields}
faceid=254 remote=contentstore:// local=contentstore:// counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={local permanent point-to-point}
faceid=255 remote=null:// local=null:// counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={local permanent point-to-point}
faceid=256 remote=ether://[01:00:5e:00:17:aa] local=dev://enp0s3 counters={in={0i 0d 0n 0B} out={4i 0d 0n 200B}} flags={non-local permanent multi-access}
faceid=257 remote=ether://[01:00:5e:00:17:aa] local=dev://enp0s8 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=258 remote=fd://29 local=unix:///run/nfd.sock counters={in={18i 2d 0n 2429B} out={2i 16d 0n 5244B}} flags={local on-demand point-to-point local-fields}
faceid=259 remote=udp4://224.0.23.170:56363 local=udp4://10.0.2.15:36202 counters={in={0i 0d 0n 0B} out={0i 0d 0n0B}} flags={non-local permanent multi-access}
faceid=260 remote=udp4://224.0.23.170:56363 local=udp4://10.0.0.10:36424 counters={in={0i 0d 0n 0B} out={0i 0d 0n0B}} flags={non-local permanent multi-access}
faceid=261 remote=udp6://[ff02::1234%enp0s3]:56363 local=udp6://[fe80::9045:fd09:d20f:1ca4%enp0s3]:59758 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=262 remote=udp6://[ff02::1234%enp0s8]:56363 local=udp6://[fe80::f88f:13de:3fd6:15bd%enp0s8]:48217 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=266 remote=fd://38 local=unix:///run/nfd.sock counters={in={1i 0d 0n 46B} out={0i 0d 0n 0B}} flags={local on-demand point-to-point}

Machine 2:
faceid=1 remote=internal:// local=internal:// counters={in={0i 19d 0n 5694B} out={15i 0d 0n 1436B}} flags={local permanent point-to-point local-fields}
faceid=254 remote=contentstore:// local=contentstore:// counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={local permanent point-to-point}
faceid=255 remote=null:// local=null:// counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={local permanent point-to-point}
faceid=256 remote=ether://[01:00:5e:00:17:aa] local=dev://enp0s3 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent adhoc}
faceid=257 remote=ether://[01:00:5e:00:17:aa] local=dev://enp0s8 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent adhoc}
faceid=258 remote=ether://[01:00:5e:00:17:aa] local=dev://enp0s9 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent adhoc}
faceid=259 remote=fd://33 local=unix:///run/nfd.sock counters={in={14i 1d 0n 1653B} out={1i 11d 0n 3675B}} flags={local on-demand point-to-point local-fields}
faceid=260 remote=udp4://224.0.23.170:56363 local=udp4://10.0.2.15:41951 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=261 remote=udp4://224.0.23.170:56363 local=udp4://10.0.0.11:45389 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=262 remote=udp6://[ff02::1234%enp0s3]:56363 local=udp6://[fe80::7711:c86d:d3c3:5a60%enp0s3]:51080 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=263 remote=udp6://[ff02::1234%enp0s8]:56363 local=udp6://[fe80::d9ba:9f4f:afdb:a550%enp0s8]:48887 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=264 remote=fd://42 local=unix:///run/nfd.sock counters={in={1i 0d 0n 230B} out={0i 1d 0n 413B}} flags={local on-demand point-to-point}
faceid=265 remote=udp6://[ff02::1234%enp0s9]:56363 local=udp6://[fe80::4bde:a24b:305e:10f2%enp0s9]:39751 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local permanent multi-access}
faceid=266 remote=fd://45 local=unix:///run/nfd.sock counters={in={1i 0d 0n 46B} out={0i 0d 0n 0B}} flags={local on-demand point-to-point}


And these are the routes listed for them:
Machine 1:
prefix=/ndnping nexthop=256 origin=static cost=0 flags=child-inherit expires=never
prefix=/ndnping nexthop=257 origin=static cost=0 flags=child-inherit expires=never
prefix=/localhost/nfd nexthop=258 origin=app cost=0 flags=child-inherit expires=never

Machine 2:
prefix=/ndnping/ping nexthop=264 origin=app cost=0 flags=child-inherit expires=never
prefix=/localhost/nfd nexthop=259 origin=app cost=0 flags=child-inherit expires=never


I should stress that connectivity is fine when I use the multicast
strategy, so I'm confident it isn't the network setup. The logs for
machine 1 show that the interest is being forwarded:

1522179263.243695 DEBUG: [Forwarder] onOutgoingInterest face=256 interest=/ndnping/ping/9219221538684228872
1522179263.243986 DEBUG: [BestRouteStrategy2] /ndnping/ping/9219221538684228872?ndn.MustBeFresh=1&ndn.Nonce=3051988968 from=265 newPitEntry-to=256
1522179264.246352 DEBUG: [Forwarder] onInterestUnsatisfied interest=/ndnping/ping/9219221538684228869

But there is never any corresponding message on machine 2. I also don't
see any logs that indicate any errors. The transports are open when I'm
running the pings, too.

For each machine, I have the logging set like this:

log
{
  default_level INFO
  Forwarder DEBUG
  Transport DEBUG
  MulticastEthernetTransport DEBUG
  BestRouteStrategy2 DEBUG
}

I don't know what could be wrong, or what else I should look at in the
logs. Any clues? I wonder if it could be a bug in the strategy, or
maybe this is intended behavior and I don't know what I'm doing. Hoping
someone can shed some light on this situation.

-- 
-Nick Gordon


More information about the Nfd-dev mailing list