Feature #4012
closedEthernet unicast configuration
Added by Alex Afanasyev over 7 years ago. Updated over 7 years ago.
100%
Description
In EthernetFactory::processConfig
, accept configuration options for Ethernet unicast channels.
face_system {
ether {
listen yes
idle_timeout 600
}
}
Updated by Davide Pesavento over 7 years ago
- Tracker changed from Task to Feature
- Subject changed from Update configuration file for unicast ethernet Faces to Provide options for unicast Ethernet faces in nfd.conf
- Category set to Faces
Updated by Davide Pesavento over 7 years ago
Not sure how the syntax should look like...
Updated by Davide Pesavento over 7 years ago
- Related to Feature #4011: Unicast Ethernet Transport and Channel added
Updated by Davide Pesavento over 7 years ago
- Assignee deleted (
Davide Pesavento)
Updated by Junxiao Shi over 7 years ago
- Description updated (diff)
- Estimated time set to 2.00 h
This is easy: copy from face_system.udp
.
Updated by Junxiao Shi over 7 years ago
- Subject changed from Provide options for unicast Ethernet faces in nfd.conf to Ethernet unicast configuration
- Description updated (diff)
Updated by Davide Pesavento over 7 years ago
- Related to deleted (Feature #4011: Unicast Ethernet Transport and Channel)
Updated by Davide Pesavento over 7 years ago
- Blocked by Feature #4011: Unicast Ethernet Transport and Channel added
Updated by Davide Pesavento over 7 years ago
- Status changed from New to In Progress
- Assignee set to Davide Pesavento
Updated by susmit shannigrahi over 7 years ago
https://gerrit.named-data.net/#/c/3921/4
Testing steps:
Machine 1:
enp68s0f1.801: flags=4163 mtu 9000
inet6 fe80::a236:9fff:fe36:e142 prefixlen 64 scopeid 0x20
ether a0:36:9f:36:e1:42 txqueuelen 1000 (Ethernet)
Machine 2:
enp68s0f0.801: flags=4163 mtu 9000
inet6 fe80::a236:9fff:fe36:237c prefixlen 64 scopeid 0x20
ether a0:36:9f:36:23:7c txqueuelen 1000 (Ethernet)
On Machine 1:
nfdc face create ether://[a0:36:9f:36:23:7c] local dev://enp68s0f1.801
face-created id=265 local=dev://enp68s0f1.801 remote=ether://[a0:36:9f:36:23:7c] persistency=persistent
on Machine 2:
nfdc face create ether://[a0:36:9f:36:e1:42] local dev://enp68s0f0.801
face-created id=265 local=dev://enp68s0f0.801 remote=ether://[a0:36:9f:36:e1:42] persistency=persistent
on Machine 1:
nfdc route add /test 265
route-add-accepted prefix=/test nexthop=265 origin=static cost=0 flags=child-inherit expires=never
On Machine 2:
nfdc route add /test 265
route-add-accepted prefix=/test nexthop=265 origin=static cost=0 flags=child-inherit expires=never
Machine 1:
nfd-status
Faces:
faceid=265 remote=ether://[a0:36:9f:36:e1:42] local=dev://enp68s0f0.801 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local persistent point-to-point}
FIB:
/test nexthops={faceid=265 (cost=0), faceid=267 (cost=0)}
Machine 2:
Faces:
faceid=265 remote=ether://[a0:36:9f:36:e1:42] local=dev://enp68s0f0.801 counters={in={0i 0d 0n 0B} out={0i 0d 0n 0B}} flags={non-local persistent point-to-point}
Fib:
/test nexthops={faceid=265 (cost=0)}
Machine 1:
echo "Hello" | ndnputchunks -v /test
Loading input ...
Created 1 chunks for prefix /test
Data published with name: /test/%FD%00%00%01%5Cvx%CF%14
Machine 2:
ndncatchunks -v /test
Test 1
Add a unicast route at one end. Should create the corresponding face on the other end.
Host 1:
nfdc face create ether://[a0:36:9f:36:e1:42] local dev://enp68s0f0.801
nfdc route add /test 266
Host 2:
[root@atmos-lbl ~]# nfd-status|grep test
/test nexthops={faceid=280 (cost=0)}
/test routes={nexthop=280 origin=app cost=0 flags=child-inherit expires=never}
catchunks/putchunks work too.
Test 2:
One producer, two consumers. Works as expected.
On producer: face: /test nexthops={faceid=274 (cost=0)}
Two Incoming faces:
1498270069.251231 DEBUG: [Forwarder] onIncomingInterest face=275 interest=/test/%FD%00%00%01%5C%D7%DAo%F5/%00%E1
1498270069.251630 DEBUG: [Forwarder] onIncomingInterest face=265 interest=/test/%FD%00%00%01%5C%D7%DAo%F5/%00B
Trace log is here:
http://www.cs.colostate.edu/~susmit/trace_one_producer_two_consumers.txt
Test 3:
Host 1: Select an interface
faceid=257 remote=ether://[01:00:5e:00:17:aa] local=dev://enp68s0f1.801 counters={in={5i 0d 0n 195B} out={0i 1d 0n 84B}} flags={non-local permanent multi-access}
Host 2:
faceid=256 remote=ether://[01:00:5e:00:17:aa] local=dev://enp68s0f0.801 counters={in={0i 1d 0n 84B} out={5i 0d 0n 195B}} flags={non-local permanent multi-access}
Add a route (/test) on the multicast face.
/test nexthops={faceid=256 (cost=0)}
The other end receives the packets on face 257.
Now, add a unicast route on host2. Now, host 2 has two routes.
/test nexthops={faceid=256 (cost=0), faceid=269 (cost=0)}
The first is chosen (as expected). On host1, receiving side, the multicast face is correctly chosen.
http://www.cs.colostate.edu/~susmit/host1_multicast_unicast_test.txt
http://www.cs.colostate.edu/~susmit/host2_multicast_unicast_test.txt
Updated by Davide Pesavento over 7 years ago
- Status changed from In Progress to Code review
- % Done changed from 80 to 100
Updated by Junxiao Shi over 7 years ago
- Status changed from Code review to Closed