Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gnrc_dhcpv6_client: configure prefix as compression context on 6LBRs #13485

Merged
merged 3 commits into from
Mar 25, 2020

Conversation

miri64
Copy link
Member

@miri64 miri64 commented Feb 26, 2020

Contribution description

Same deal as #8576, just for DHCPv6: This adds a 6LoWPAN compression context for the newly configured prefix.

Testing procedure

Compile and run examples/gnrc_border_router using USE_DHCPV6=1 with a DHCPv6 server running on the TAP interface (see example's Makefile)

USE_DHCPV6=1 make -C examples/gnrc_border_router flash
make -C examples/gnrc_border_router term

(can be run with one make invocation once #13484 is merged). After the prefix for the 6LoWPAN interface was configured (check with ifconfig) a compression context should also be configured (check with 6ctx).

Issues/PRs references

Follow-up to #13424 and #8576.

@miri64 miri64 added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Area: network Area: Networking labels Feb 26, 2020
@miri64 miri64 changed the title Gnrc dhcpv6/enh/configure context gnrc_dhcpv6_client: configure prefix as compression context on 6LBRs Feb 26, 2020
@benpicco benpicco added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Feb 26, 2020
@benpicco
Copy link
Contributor

benpicco commented Feb 26, 2020

My esp32 does not approve. Upon receiving the lease I get

2020-02-26 22:30:52,905 #  EXCEPTION!! exccause=28 (LoadProhibitedCause) @8011e512 excvaddr=00000010
2020-02-26 22:30:52,906 # processes:
2020-02-26 22:30:52,914 # 	pid | name                 | state    Q | pri | stack  ( used) | base addr  | current     
2020-02-26 22:30:52,922 # 	  - | isr_stack            | -        - |   - |   2048 (  320) | 0x3ffb0000 | 0x3ffb0800
2020-02-26 22:30:52,930 # 	  1 | wifi-event-loop      | bl rx    _ |   4 |   2104 (  884) | 0x3ffaefcc | 0x3ffaf5e0 
2020-02-26 22:30:52,937 # 	  2 | idle                 | pending  Q |  31 |   2048 (  412) | 0x3ffb4b6c | 0x3ffb51d0 
2020-02-26 22:30:52,945 # 	  3 | main                 | bl mutex _ |  15 |   3072 ( 1788) | 0x3ffb536c | 0x3ffb5c00 
2020-02-26 22:30:52,954 # 	  4 | 6lo                  | bl rx    _ |  11 |   2048 (  784) | 0x3ffbb600 | 0x3ffbbbb0 
2020-02-26 22:30:52,962 # 	  5 | ipv6                 | bl rx    _ |  12 |   2048 (  752) | 0x3ffb8930 | 0x3ffb8ee0 
2020-02-26 22:30:52,970 # 	  6 | udp                  | bl rx    _ |  13 |   2048 (  644) | 0x3ffbc1e4 | 0x3ffbc790 
2020-02-26 22:30:52,977 # 	  7 | at86rf2xx            | bl rx    _ |  10 |   2048 (  888) | 0x3ffbcbc8 | 0x3ffbd160 
2020-02-26 22:30:52,985 # 	  8 | wifi                 | bl rx    _ |   1 |   3640 ( 1852) | 0x3ffbf414 | 0x3ffc0020 
2020-02-26 22:30:52,993 # 	  9 | netif-esp-wifi       | bl rx    _ |  10 |   2048 (  904) | 0x3ffb6738 | 0x3ffb6cd0 
2020-02-26 22:30:53,001 # 	 10 | dhcpv6-client        | running  Q |  13 |   2048 ( 1308) | 0x3ffb812c | 0x3ffb8630 
2020-02-26 22:30:53,007 # 	    | SUM                  |            |     |  25200 (10536)
2020-02-26 22:30:53,007 #
2020-02-26 22:30:53,011 # heap: 140292 (used 32552, free 107740) [bytes]
2020-02-26 22:30:53,012 # 
2020-02-26 22:30:53,012 # register set
2020-02-26 22:30:53,019 # pc      : 4011ebe8	ps      : 00060730	exccause: 0000001c	excvaddr: 00000010
2020-02-26 22:30:53,026 # epc1    : 4011ebe8	epc2    : 4008c7e6	epc3    : 00000000	epc4    : 00000000
2020-02-26 22:30:53,031 # epc5    : 00000000	epc6    : 00000000	epc7    : 00000000	
2020-02-26 22:30:53,037 # a0      : 8011e512	a1      : 3ffb8790	a2      : 3ffb9a68	a3      : 3ffbd580
2020-02-26 22:30:53,044 # a4      : 0000003e	a5      : 006ddd00	a6      : 0036ee80	a7      : 00000003
2020-02-26 22:30:53,051 # a8      : 8011ebe8	a9      : 3ffb8770	a10     : 00000000	a11     : 3ffbbf88
2020-02-26 22:30:53,058 # a12     : 3ffbbf88	a13     : 00000000	a14     : 00000010	a15     : 00000000
2020-02-26 22:30:53,062 # lbeg    : 4008df84	lend    : 4008df9a	lcount  : 00000000

pc points to sys/net/gnrc/application_layer/dhcpv6/client.c:78
exccause is LoadProhibitedCause

Some quick printf-debugging reveals ctx is NULL here.

@miri64
Copy link
Member Author

miri64 commented Feb 27, 2020

Fixed. We might want to want this in master for gnrc_uhcpc as well, but no time ATM to open an extra PR.

@benpicco
Copy link
Contributor

benpicco commented Mar 1, 2020

I can confirm that with this the compression context arrives at the nodes now - please squash.
Not sure if there is something else to test with this PR.

This is probably unrelated to this PR, but do you have an idea why the border router might perform so poorly?
E.g. it takes several minutes before the upstream interface gets a global IPv6 address.
The 6lo interface gets a public address almost instantaneously when connecting to the WiFi. (shouldn't it be the other way round?)

Propagation of the compression context also took several minutes.

Pinging global addresses from the nodes is also very flaky.
I can ping the link-local address of the BR from the nodes with no packet loss, and I can ping global addresses (e.g. 2600::) from the BR with no packet loss either, but pinging a global address or even a global address of a node in the PAN almost always fails.

@miri64
Copy link
Member Author

miri64 commented Mar 3, 2020

@benpicco seems to me that the router advertisements are sent slowly by your upstream router. It might also be that the router discovery tries to sent router solicitations before the WiFi interface is up (due to the timer being started on initialization most likely), so it takes a while until the next one. The dissemination of the context should happen once the network bootstraps (i.e. ones a downstream node receives its router advertisement from the upstream node, which should happen simultaneously with configuring the global address via SLAAC).

@aabadie aabadie added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Mar 3, 2020
@miri64 miri64 added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Mar 3, 2020
@miri64
Copy link
Member Author

miri64 commented Mar 3, 2020

Fixed. We might want to want this in master for gnrc_uhcpc as well, but no time ATM to open an extra PR.

For reference: done in #13539

@miri64
Copy link
Member Author

miri64 commented Mar 3, 2020

May I squash? Otherwise I would requeue again.

@benpicco
Copy link
Contributor

benpicco commented Mar 3, 2020

Squash away!
But I want to test it again because with this I couldn't get any packet routed upstream.
However, I also saw that behavior without this PR.
It worked at some point, rather decent even (I would get DNS resolved with #13450), but there I only had one node connected to the BR - it would still take quite a while for the routing information to propagate. The node would get a global IP rather quickly, but the WiFi interface would take a while to get a global address. And even after that it would take a bit before packets were actually routed out.

Now with this I wasn't successful yet, but I haven't tried much yet.
I'll try again with one node only, and after I successfully got an upstream connection on master.
Will also try with ethos instead of esp_wifi.

@miri64 miri64 force-pushed the gnrc_dhcpv6/enh/configure-context branch from cf6036a to 33a6bab Compare March 3, 2020 16:56
@miri64
Copy link
Member Author

miri64 commented Mar 3, 2020

Squashed

@miri64
Copy link
Member Author

miri64 commented Mar 4, 2020

@benpicco anything missing now?

@benpicco
Copy link
Contributor

benpicco commented Mar 4, 2020

I haven't checked yet if this is what was causing the regression on my border router or if it was the amount of active nodes.

@benpicco
Copy link
Contributor

benpicco commented Mar 4, 2020

Ok so I tried with only one node now:

esp32 with esp_wifi

border router

2020-03-04 23:21:26,862 # L2-PDU:1500 MTU:1492  HL:255  RTR  
2020-03-04 23:21:26,865 #           RTR_ADV  Source address length: 6
2020-03-04 23:21:26,868 #           Link type: wireless
2020-03-04 23:21:26,874 #           inet6 addr: fe80::3e71:bfff:fe9e:13fc  scope: link  VAL
2020-03-04 23:21:26,881 #           inet6 addr: 2001:16b8:4557:2800:3e71:bfff:fe9e:13fc  scope: global  VAL
2020-03-04 23:21:26,884 #           inet6 group: ff02::2
2020-03-04 23:21:26,886 #           inet6 group: ff02::1
2020-03-04 23:21:26,890 #           inet6 group: ff02::1:ff9e:13fc
2020-03-04 23:21:26,891 #           
2020-03-04 23:21:26,894 # Iface  8  HWaddr: 3C:71:BF:9E:13:FD 
2020-03-04 23:21:26,898 #           L2-PDU:249 MTU:1280  HL:64  RTR  
2020-03-04 23:21:26,902 #           RTR_ADV  6LO  Source address length: 6
2020-03-04 23:21:26,905 #           Link type: wireless
2020-03-04 23:21:26,910 #           inet6 addr: fe80::3e71:bfff:fe9e:13fd  scope: link  VAL
2020-03-04 23:21:26,917 #           inet6 addr: 2001:16b8:4557:28f8:3e71:bfff:fe9e:13fd  scope: global  VAL
2020-03-04 23:21:26,920 #           inet6 group: ff02::2
2020-03-04 23:21:26,923 #           inet6 group: ff02::1
2020-03-04 23:21:26,926 #           inet6 group: ff02::1:ff9e:13fd
2020-03-04 23:21:26,928 #           
> 6ctx
2020-03-04 23:21:29,507 #  6ctx
2020-03-04 23:21:29,512 # cid|prefix                                     |C|ltime
2020-03-04 23:21:29,517 # -----------------------------------------------------------
2020-03-04 23:21:29,522 #   0|                  2001:16b8:4557:28f8::/62 |1|   55min

node

2020-03-04 23:21:32,825 # Iface  11  HWaddr: 82:7D:3A:7F:E0:1D 
2020-03-04 23:21:32,828 #           L2-PDU:249 MTU:1280  HL:64  RTR  
2020-03-04 23:21:32,833 #           6LO  Source address length: 6
2020-03-04 23:21:32,835 #           Link type: wireless
2020-03-04 23:21:32,841 #           inet6 addr: fe80::807d:3aff:fe7f:e01d  scope: link  VAL
2020-03-04 23:21:32,847 #           inet6 addr: 2001:16b8:4557:28f8:807d:3aff:fe7f:e01d  scope: global  VAL
2020-03-04 23:21:32,850 #           inet6 group: ff02::2
2020-03-04 23:21:32,852 #           inet6 group: ff02::1
2020-03-04 23:21:32,855 #           inet6 group: ff02::1:ff7f:e01d
2020-03-04 23:21:32,858 #           inet6 group: ff02::1a
2020-03-04 23:21:32,860 #           
2020-03-04 23:21:32,863 #           Statistics for Layer 2
2020-03-04 23:21:32,866 #             RX packets 0  bytes 0
2020-03-04 23:21:32,869 #             TX packets 0 (Multicast: 0)  bytes 1338
2020-03-04 23:21:32,874 #             TX succeeded 23 errors 0
2020-03-04 23:21:32,877 #           Statistics for IPv6
2020-03-04 23:21:32,880 #             RX packets 22  bytes 1316
2020-03-04 23:21:32,883 #             TX packets 24 (Multicast: 9)  bytes 1356
2020-03-04 23:21:32,888 #             TX succeeded 24 errors 0
2020-03-04 23:21:32,888 # 
> 6ctx
2020-03-04 23:21:35,084 #  6ctx
2020-03-04 23:21:35,088 # cid|prefix                                     |C|ltime
2020-03-04 23:21:35,095 # -----------------------------------------------------------
> ping6 2600::
2020-03-04 23:21:38,565 #  ping6 2600::
2020-03-04 23:21:38,770 # 12 bytes from 2600::: icmp_seq=0 ttl=49 time=198.325 ms
2020-03-04 23:21:39,054 # scandone
2020-03-04 23:21:39,788 # 12 bytes from 2600::: icmp_seq=1 ttl=49 time=216.096 ms
2020-03-04 23:21:40,816 # 12 bytes from 2600::: icmp_seq=2 ttl=49 time=245.547 ms
2020-03-04 23:21:40,816 # 
2020-03-04 23:21:40,819 # --- 2600:: PING statistics ---
2020-03-04 23:21:40,824 # 3 packets transmitted, 3 packets received, 0% packet loss

Is this what I'm expected to see?

at86rf233 instead of esp_wifi

border router

2020-03-04 23:39:36,394 # Iface  9  HWaddr: 3C:71:BF:9E:13:FC  Link: up 
2020-03-04 23:39:36,398 #           L2-PDU:1500 MTU:1492  HL:255  RTR  
2020-03-04 23:39:36,401 #           RTR_ADV  Source address length: 6
2020-03-04 23:39:36,404 #           Link type: wireless
2020-03-04 23:39:36,410 #           inet6 addr: fe80::3e71:bfff:fe9e:13fc  scope: link  VAL
2020-03-04 23:39:36,417 #           inet6 addr: 2001:16b8:4557:2800:3e71:bfff:fe9e:13fc  scope: global  VAL
2020-03-04 23:39:36,420 #           inet6 group: ff02::2
2020-03-04 23:39:36,422 #           inet6 group: ff02::1
2020-03-04 23:39:36,426 #           inet6 group: ff02::1:ff9e:13fc
2020-03-04 23:39:36,427 #           
2020-03-04 23:39:36,432 # Iface  7  HWaddr: 39:B2  Channel: 26  Page: 0  NID: 0x23
2020-03-04 23:39:36,436 #           Long HWaddr: AA:1F:52:9C:BD:30:DF:AA 
2020-03-04 23:39:36,442 #            TX-Power: 0dBm  State: IDLE  max. Retrans.: 3  CSMA Retries: 4 
2020-03-04 23:39:36,448 #           AUTOACK  ACK_REQ  CSMA  L2-PDU:102 MTU:1280  HL:64  RTR  
2020-03-04 23:39:36,451 #           RTR_ADV  6LO  IPHC  
2020-03-04 23:39:36,454 #           Source address length: 8
2020-03-04 23:39:36,457 #           Link type: wireless
2020-03-04 23:39:36,462 #           inet6 addr: fe80::a81f:529c:bd30:dfaa  scope: link  VAL
2020-03-04 23:39:36,469 #           inet6 addr: 2001:16b8:4557:28f4:a81f:529c:bd30:dfaa  scope: global  VAL
2020-03-04 23:39:36,472 #           inet6 group: ff02::2
2020-03-04 23:39:36,475 #           inet6 group: ff02::1
2020-03-04 23:39:36,478 #           inet6 group: ff02::1:ff30:dfaa
2020-03-04 23:39:36,479 #           
ping6 2600::
2020-03-04 23:39:38,244 #  ping6 2600::
2020-03-04 23:39:38,491 # 12 bytes from 2600::: icmp_seq=0 ttl=50 time=241.536 ms
2020-03-04 23:39:39,415 # 12 bytes from 2600::: icmp_seq=1 ttl=50 time=165.354 ms
2020-03-04 23:39:40,437 # 12 bytes from 2600::: icmp_seq=2 ttl=50 time=187.738 ms
2020-03-04 23:39:40,438 # 
2020-03-04 23:39:40,440 # --- 2600:: PING statistics ---
2020-03-04 23:39:40,445 # 3 packets transmitted, 3 packets received, 0% packet loss
2020-03-04 23:39:40,449 # round-trip min/avg/max = 165.354/198.209/241.536 ms
> 2020-03-04 23:39:40,451 #  ping6 2600::
2020-03-04 23:39:40,654 # 12 bytes from 2600::: icmp_seq=0 ttl=50 time=208.869 ms
2020-03-04 23:39:41,679 # 12 bytes from 2600::: icmp_seq=1 ttl=50 time=233.370 ms
2020-03-04 23:39:42,698 # 12 bytes from 2600::: icmp_seq=2 ttl=50 time=252.657 ms
2020-03-04 23:39:42,699 # 
2020-03-04 23:39:42,701 # --- 2600:: PING statistics ---
2020-03-04 23:39:42,706 # 3 packets transmitted, 3 packets received, 0% packet loss
2020-03-04 23:39:42,710 # round-trip min/avg/max = 208.869/231.632/252.657 ms
> 6ctx
2020-03-04 23:40:27,019 #  6ctx
2020-03-04 23:40:27,024 # cid|prefix                                     |C|ltime
2020-03-04 23:40:27,029 # -----------------------------------------------------------
2020-03-04 23:40:27,034 #   0|                  2001:16b8:4557:28f4::/62 |1|   54min

node

2020-03-04 23:39:57,419 # Iface  7  HWaddr: 3F:2D  Channel: 26  Page: 0  NID: 0x23
2020-03-04 23:39:57,422 #           Long HWaddr: 3E:8B:21:87:3D:8B:21:86 
2020-03-04 23:39:57,429 #            TX-Power: 0dBm  State: IDLE  max. Retrans.: 3  CSMA Retries: 4 
2020-03-04 23:39:57,439 #           AUTOACK  ACK_REQ  CSMA  L2-PDU:102 MTU:1280  HL:64  RTR  
2020-03-04 23:39:57,441 #           RTR_ADV  6LO  IPHC  
2020-03-04 23:39:57,444 #           Source address length: 8
2020-03-04 23:39:57,447 #           Link type: wireless
2020-03-04 23:39:57,453 #           inet6 addr: fe80::3c8b:2187:3d8b:2186  scope: link  VAL
2020-03-04 23:39:57,460 #           inet6 addr: 2001:16b8:4557:28f4:3c8b:2187:3d8b:2186  scope: global  TNT[3]
2020-03-04 23:39:57,463 #           inet6 group: ff02::2
2020-03-04 23:39:57,466 #           inet6 group: ff02::1
2020-03-04 23:39:57,469 #           inet6 group: ff02::1:ff8b:2186
2020-03-04 23:39:57,471 #           inet6 group: ff02::1a
2020-03-04 23:39:57,474 #           
2020-03-04 23:39:57,477 #           Statistics for Layer 2
2020-03-04 23:39:57,480 #             RX packets 6  bytes 480
2020-03-04 23:39:57,485 #             TX packets 7 (Multicast: 3)  bytes 499
2020-03-04 23:39:57,488 #             TX succeeded 7 errors 0
2020-03-04 23:39:57,491 #           Statistics for IPv6
2020-03-04 23:39:57,494 #             RX packets 2  bytes 256
2020-03-04 23:39:57,497 #             TX packets 7 (Multicast: 3)  bytes 562
2020-03-04 23:39:57,500 #             TX succeeded 7 errors 0
2020-03-04 23:39:57,502 # 
6ctx
2020-03-04 23:40:00,181 #  6ctx
2020-03-04 23:40:00,184 # cid|prefix                                     |C|ltime
2020-03-04 23:40:00,192 # -----------------------------------------------------------
ping6 2600::
2020-03-04 23:40:02,766 #  ping6 2600::
2020-03-04 23:40:05,767 # 
2020-03-04 23:40:05,768 # --- 2600:: PING statistics ---
2020-03-04 23:40:05,775 # 3 packets transmitted, 0 packets received, 100% packet loss
> 2020-03-04 23:40:08,501 #  ping6 2600::
2020-03-04 23:40:11,503 # 
2020-03-04 23:40:11,504 # --- 2600:: PING statistics ---
2020-03-04 23:40:11,511 # 3 packets transmitted, 0 packets received, 100% packet loss
> ping6 fe80::a81f:529c:bd30:dfaa
2020-03-04 23:40:40,334 #  ping6 fe80::a81f:529c:bd30:dfaa
2020-03-04 23:40:40,357 # 12 bytes from fe80::a81f:529c:bd30:dfaa: icmp_seq=0 ttl=64 rssi=-37 dBm time=13.104 ms
2020-03-04 23:40:41,359 # 12 bytes from fe80::a81f:529c:bd30:dfaa: icmp_seq=1 ttl=64 rssi=-37 dBm time=14.608 ms
2020-03-04 23:40:42,353 # 12 bytes from fe80::a81f:529c:bd30:dfaa: icmp_seq=2 ttl=64 rssi=-37 dBm time=10.096 ms
2020-03-04 23:40:42,354 # 
2020-03-04 23:40:42,359 # --- fe80::a81f:529c:bd30:dfaa PING statistics ---
2020-03-04 23:40:42,364 # 3 packets transmitted, 3 packets received, 0% packet loss
2020-03-04 23:40:42,369 # round-trip min/avg/max = 10.096/12.602/14.608 ms

@benpicco
Copy link
Contributor

benpicco commented Mar 4, 2020

On master (with at86rf233):

border router

2020-03-04 23:43:52,024 # Iface  9  HWaddr: 3C:71:BF:9E:13:FC  Link: up 
2020-03-04 23:43:52,028 #           L2-PDU:1500 MTU:1492  HL:255  RTR  
2020-03-04 23:43:52,031 #           RTR_ADV  Source address length: 6
2020-03-04 23:43:52,034 #           Link type: wireless
2020-03-04 23:43:52,040 #           inet6 addr: fe80::3e71:bfff:fe9e:13fc  scope: link  VAL
2020-03-04 23:43:52,047 #           inet6 addr: 2001:16b8:4557:2800:3e71:bfff:fe9e:13fc  scope: global  VAL
2020-03-04 23:43:52,049 #           inet6 group: ff02::2
2020-03-04 23:43:52,052 #           inet6 group: ff02::1
2020-03-04 23:43:52,055 #           inet6 group: ff02::1:ff9e:13fc
2020-03-04 23:43:52,057 #           
2020-03-04 23:43:52,062 # Iface  7  HWaddr: 39:B2  Channel: 26  Page: 0  NID: 0x23
2020-03-04 23:43:52,066 #           Long HWaddr: AA:1F:52:9C:BD:30:DF:AA 
2020-03-04 23:43:52,072 #            TX-Power: 0dBm  State: IDLE  max. Retrans.: 3  CSMA Retries: 4 
2020-03-04 23:43:52,078 #           AUTOACK  ACK_REQ  CSMA  L2-PDU:102 MTU:1280  HL:64  RTR  
2020-03-04 23:43:52,081 #           RTR_ADV  6LO  IPHC  
2020-03-04 23:43:52,084 #           Source address length: 8
2020-03-04 23:43:52,086 #           Link type: wireless
2020-03-04 23:43:52,092 #           inet6 addr: fe80::a81f:529c:bd30:dfaa  scope: link  VAL
2020-03-04 23:43:52,099 #           inet6 addr: 2001:16b8:4557:28f4:a81f:529c:bd30:dfaa  scope: global  VAL
2020-03-04 23:43:52,102 #           inet6 group: ff02::2
2020-03-04 23:43:52,105 #           inet6 group: ff02::1
2020-03-04 23:43:52,108 #           inet6 group: ff02::1:ff30:dfaa
2020-03-04 23:43:52,110 #           
> 6ctx
2020-03-04 23:44:37,521 #  6ctx
2020-03-04 23:44:37,526 # cid|prefix                                     |C|ltime
2020-03-04 23:44:37,531 # -----------------------------------------------------------

node

2020-03-04 23:43:57,433 # Iface  7  HWaddr: 3F:2D  Channel: 26  Page: 0  NID: 0x23
2020-03-04 23:43:57,437 #           Long HWaddr: 3E:8B:21:87:3D:8B:21:86 
2020-03-04 23:43:57,443 #            TX-Power: 0dBm  State: IDLE  max. Retrans.: 3  CSMA Retries: 4 
2020-03-04 23:43:57,453 #           AUTOACK  ACK_REQ  CSMA  L2-PDU:102 MTU:1280  HL:64  RTR  
2020-03-04 23:43:57,456 #           RTR_ADV  6LO  IPHC  
2020-03-04 23:43:57,459 #           Source address length: 8
2020-03-04 23:43:57,462 #           Link type: wireless
2020-03-04 23:43:57,468 #           inet6 addr: fe80::3c8b:2187:3d8b:2186  scope: link  VAL
2020-03-04 23:43:57,474 #           inet6 addr: 2001:16b8:4557:28f4:3c8b:2187:3d8b:2186  scope: global  VAL
2020-03-04 23:43:57,477 #           inet6 group: ff02::2
2020-03-04 23:43:57,480 #           inet6 group: ff02::1
2020-03-04 23:43:57,483 #           inet6 group: ff02::1:ff8b:2186
2020-03-04 23:43:57,486 #           inet6 group: ff02::1a
2020-03-04 23:43:57,488 #           
2020-03-04 23:43:57,491 #           Statistics for Layer 2
2020-03-04 23:43:57,494 #             RX packets 4  bytes 416
2020-03-04 23:43:57,497 #             TX packets 8 (Multicast: 6)  bytes 420
2020-03-04 23:43:57,503 #             TX succeeded 8 errors 0
2020-03-04 23:43:57,505 #           Statistics for IPv6
2020-03-04 23:43:57,508 #             RX packets 4  bytes 416
2020-03-04 23:43:57,512 #             TX packets 8 (Multicast: 6)  bytes 530
2020-03-04 23:43:57,515 #             TX succeeded 8 errors 0
2020-03-04 23:43:57,515 # 
> 6ctx
2020-03-04 23:43:59,099 #  6ctx
2020-03-04 23:43:59,103 # cid|prefix                                     |C|ltime
2020-03-04 23:43:59,110 # -----------------------------------------------------------
> ping6 2600::
2020-03-04 23:44:03,364 #  ping6 2600::
2020-03-04 23:44:03,618 # 12 bytes from 2600::: icmp_seq=0 ttl=49 rssi=-37 dBm time=248.224 ms
2020-03-04 23:44:04,541 # 12 bytes from 2600::: icmp_seq=1 ttl=49 rssi=-37 dBm time=171.120 ms
2020-03-04 23:44:05,566 # 12 bytes from 2600::: icmp_seq=2 ttl=49 rssi=-37 dBm time=194.704 ms
2020-03-04 23:44:05,566 # 
2020-03-04 23:44:05,569 # --- 2600:: PING statistics ---
2020-03-04 23:44:05,572 # 3 packets transmitted, 3 packets received, 0% packet loss

So it looks like this does cause a regression.

@benpicco
Copy link
Contributor

benpicco commented Mar 19, 2020

btw.: Also with uhcp and samr21-xpro/ethos as a border router, I see

2020-03-19 22:44:51,622 #  ping6 2001:db8::2064:632b:6241:6d56
2020-03-19 22:44:51,642 # 12 bytes from 2001:db8::2064:632b:6241:6d56: icmp_seq=0 ttl=64 rssi=-45 dBm time=11.360 ms
2020-03-19 22:44:52,642 # 12 bytes from 2001:db8::2064:632b:6241:6d56: icmp_seq=1 ttl=64 rssi=-45 dBm time=11.248 ms
2020-03-19 22:44:54,623 # 
2020-03-19 22:44:54,627 # --- 2001:db8::2064:632b:6241:6d56 PING statistics ---
2020-03-19 22:44:54,632 # 3 packets transmitted, 2 packets received, 33% packet loss
2020-03-19 22:44:54,637 # round-trip min/avg/max = 11.248/11.304/11.360 ms
> 2020-03-19 22:44:55,349 #  ping6 2001:db8::2064:632b:6241:6d56
2020-03-19 22:44:58,351 # 
2020-03-19 22:44:58,355 # --- 2001:db8::2064:632b:6241:6d56 PING statistics ---
2020-03-19 22:44:58,361 # 3 packets transmitted, 0 packets received, 100% packet loss
> ping6 2001:db8::2064:632b:6241:6d56
2020-03-19 22:44:59,885 #  ping6 2001:db8::2064:632b:6241:6d56
2020-03-19 22:45:01,907 # 12 bytes from 2001:db8::2064:632b:6241:6d56: icmp_seq=2 ttl=64 rssi=-48 dBm time=12.304 ms
2020-03-19 22:45:02,887 # 
2020-03-19 22:45:02,890 # --- 2001:db8::2064:632b:6241:6d56 PING statistics ---
2020-03-19 22:45:02,896 # 3 packets transmitted, 1 packets received, 66% packet loss
2020-03-19 22:45:02,901 # round-trip min/avg/max = 12.304/12.304/12.304 ms
> ping6 fe80::2064:632b:6241:6d56
2020-03-19 22:45:08,085 #  ping6 fe80::2064:632b:6241:6d56
2020-03-19 22:45:08,104 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=0 ttl=64 rssi=-45 dBm time=10.016 ms
2020-03-19 22:45:09,106 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=1 ttl=64 rssi=-45 dBm time=11.600 ms
2020-03-19 22:45:10,101 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=2 ttl=64 rssi=-45 dBm time=7.824 ms
2020-03-19 22:45:10,102 # 
2020-03-19 22:45:10,107 # --- fe80::2064:632b:6241:6d56 PING statistics ---
2020-03-19 22:45:10,112 # 3 packets transmitted, 3 packets received, 0% packet loss
2020-03-19 22:45:10,117 # round-trip min/avg/max = 7.824/9.813/11.600 ms

when pinging between nodes.
(2001:db8::2064:632b:6241:6d56 and fe80::2064:632b:6241:6d56 are the same node)

@miri64
Copy link
Member Author

miri64 commented Mar 19, 2020

So what is the problem? I see loss global addresses, but an insufficiently small data set with link-local addresses. Is the loss also occuring when using global addresses globally / with manually set compression contexts?

@benpicco
Copy link
Contributor

insufficiently small data set with link-local addresses
2020-03-19 22:46:01,838 #  ping6 fe80::2064:632b:6241:6d56 -i 8 -c 100
2020-03-19 22:46:01,858 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=0 ttl=64 rssi=-46 dBm time=10.384 ms
2020-03-19 22:46:01,870 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=1 ttl=64 rssi=-46 dBm time=13.504 ms
2020-03-19 22:46:01,882 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=2 ttl=64 rssi=-46 dBm time=13.488 ms
2020-03-19 22:46:01,893 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=3 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:01,906 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=4 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:01,918 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=5 ttl=64 rssi=-45 dBm time=13.504 ms
2020-03-19 22:46:01,930 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=6 ttl=64 rssi=-45 dBm time=13.472 ms
2020-03-19 22:46:01,941 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=7 ttl=64 rssi=-45 dBm time=13.488 ms
2020-03-19 22:46:01,953 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=8 ttl=64 rssi=-46 dBm time=13.504 ms
2020-03-19 22:46:01,965 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=9 ttl=64 rssi=-46 dBm time=13.616 ms
2020-03-19 22:46:01,977 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=10 ttl=64 rssi=-46 dBm time=13.424 ms
2020-03-19 22:46:01,988 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=11 ttl=64 rssi=-46 dBm time=13.600 ms
2020-03-19 22:46:01,997 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=12 ttl=64 rssi=-46 dBm time=11.728 ms
2020-03-19 22:46:02,019 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=13 ttl=64 rssi=-46 dBm time=11.520 ms
2020-03-19 22:46:02,031 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=14 ttl=64 rssi=-46 dBm time=13.600 ms
2020-03-19 22:46:02,043 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=15 ttl=64 rssi=-46 dBm time=13.632 ms
2020-03-19 22:46:02,055 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=16 ttl=64 rssi=-46 dBm time=13.616 ms
2020-03-19 22:46:02,067 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=17 ttl=64 rssi=-46 dBm time=13.568 ms
2020-03-19 22:46:02,078 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=18 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:02,090 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=19 ttl=64 rssi=-46 dBm time=13.552 ms
2020-03-19 22:46:02,102 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=20 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:02,114 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=21 ttl=64 rssi=-45 dBm time=13.488 ms
2020-03-19 22:46:02,126 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=22 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:02,137 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=23 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:02,146 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=24 ttl=64 rssi=-45 dBm time=11.744 ms
2020-03-19 22:46:02,168 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=25 ttl=64 rssi=-45 dBm time=11.536 ms
2020-03-19 22:46:02,178 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=26 ttl=64 rssi=-46 dBm time=15.216 ms
2020-03-19 22:46:02,192 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=27 ttl=64 rssi=-45 dBm time=13.696 ms
2020-03-19 22:46:02,204 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=28 ttl=64 rssi=-45 dBm time=15.168 ms
2020-03-19 22:46:02,216 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=29 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:02,228 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=30 ttl=64 rssi=-45 dBm time=13.696 ms
2020-03-19 22:46:02,239 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=31 ttl=64 rssi=-46 dBm time=13.584 ms
2020-03-19 22:46:02,250 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=32 ttl=64 rssi=-46 dBm time=13.568 ms
2020-03-19 22:46:02,262 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=33 ttl=64 rssi=-46 dBm time=13.680 ms
2020-03-19 22:46:02,275 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=34 ttl=64 rssi=-46 dBm time=15.344 ms
2020-03-19 22:46:02,287 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=35 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:02,299 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=36 ttl=64 rssi=-46 dBm time=13.552 ms
2020-03-19 22:46:02,311 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=37 ttl=64 rssi=-46 dBm time=13.600 ms
2020-03-19 22:46:02,322 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=38 ttl=64 rssi=-46 dBm time=13.504 ms
2020-03-19 22:46:02,335 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=39 ttl=64 rssi=-45 dBm time=13.488 ms
2020-03-19 22:46:02,347 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=40 ttl=64 rssi=-45 dBm time=13.648 ms
2020-03-19 22:46:02,357 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=41 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,370 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=42 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:02,382 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=43 ttl=64 rssi=-45 dBm time=15.168 ms
2020-03-19 22:46:02,393 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=44 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:02,404 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=45 ttl=64 rssi=-45 dBm time=13.728 ms
2020-03-19 22:46:02,416 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=46 ttl=64 rssi=-45 dBm time=13.680 ms
2020-03-19 22:46:02,430 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=47 ttl=64 rssi=-44 dBm time=13.648 ms
2020-03-19 22:46:02,442 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=48 ttl=64 rssi=-44 dBm time=13.504 ms
2020-03-19 22:46:02,454 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=49 ttl=64 rssi=-43 dBm time=13.600 ms
2020-03-19 22:46:02,466 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=50 ttl=64 rssi=-43 dBm time=13.552 ms
2020-03-19 22:46:02,476 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=51 ttl=64 rssi=-43 dBm time=13.488 ms
2020-03-19 22:46:02,489 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=52 ttl=64 rssi=-43 dBm time=13.680 ms
2020-03-19 22:46:02,501 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=53 ttl=64 rssi=-43 dBm time=13.648 ms
2020-03-19 22:46:02,513 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=54 ttl=64 rssi=-43 dBm time=13.616 ms
2020-03-19 22:46:02,525 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=55 ttl=64 rssi=-42 dBm time=13.504 ms
2020-03-19 22:46:02,537 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=56 ttl=64 rssi=-42 dBm time=13.616 ms
2020-03-19 22:46:02,548 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=57 ttl=64 rssi=-43 dBm time=13.680 ms
2020-03-19 22:46:02,561 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=58 ttl=64 rssi=-43 dBm time=13.680 ms
2020-03-19 22:46:02,573 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=59 ttl=64 rssi=-43 dBm time=13.520 ms
2020-03-19 22:46:02,585 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=60 ttl=64 rssi=-43 dBm time=13.584 ms
2020-03-19 22:46:02,597 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=61 ttl=64 rssi=-43 dBm time=13.568 ms
2020-03-19 22:46:02,607 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=62 ttl=64 rssi=-44 dBm time=13.552 ms
2020-03-19 22:46:02,620 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=63 ttl=64 rssi=-44 dBm time=13.536 ms
2020-03-19 22:46:02,632 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=64 ttl=64 rssi=-45 dBm time=13.696 ms
2020-03-19 22:46:02,644 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=65 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:02,656 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=66 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:02,668 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=67 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:02,679 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=68 ttl=64 rssi=-45 dBm time=13.632 ms
2020-03-19 22:46:02,691 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=69 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,703 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=70 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:02,715 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=71 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:02,727 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=72 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:02,740 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=73 ttl=64 rssi=-45 dBm time=13.632 ms
2020-03-19 22:46:02,751 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=74 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:02,763 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=75 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,775 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=76 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,785 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=77 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:02,799 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=78 ttl=64 rssi=-45 dBm time=13.712 ms
2020-03-19 22:46:02,811 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=79 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,823 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=80 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:02,835 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=81 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,846 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=82 ttl=64 rssi=-45 dBm time=13.504 ms
2020-03-19 22:46:02,858 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=83 ttl=64 rssi=-45 dBm time=13.648 ms
2020-03-19 22:46:02,870 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=84 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,882 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=85 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:02,894 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=86 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,906 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=87 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,918 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=88 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:02,930 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=89 ttl=64 rssi=-45 dBm time=13.712 ms
2020-03-19 22:46:02,941 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=90 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:02,953 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=91 ttl=64 rssi=-45 dBm time=13.504 ms
2020-03-19 22:46:02,965 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=92 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:02,977 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=93 ttl=64 rssi=-45 dBm time=13.632 ms
2020-03-19 22:46:02,989 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=94 ttl=64 rssi=-45 dBm time=13.504 ms
2020-03-19 22:46:03,001 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=95 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:03,013 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=96 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:03,025 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=97 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:03,036 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=98 ttl=64 rssi=-45 dBm time=13.696 ms
2020-03-19 22:46:03,045 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=99 ttl=64 rssi=-45 dBm time=11.744 ms
2020-03-19 22:46:03,045 # 
2020-03-19 22:46:03,050 # --- fe80::2064:632b:6241:6d56 PING statistics ---
2020-03-19 22:46:03,056 # 100 packets transmitted, 100 packets received, 0% packet loss
2020-03-19 22:46:03,060 # round-trip min/avg/max = 10.384/13.519/15.344 ms
> ping6 fe80::2064:632b:6241:6d56 -i 7 -c 100
2020-03-19 22:46:05,718 #  ping6 fe80::2064:632b:6241:6d56 -i 7 -c 100
2020-03-19 22:46:05,738 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=0 ttl=64 rssi=-46 dBm time=10.512 ms
2020-03-19 22:46:05,749 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=1 ttl=64 rssi=-45 dBm time=15.136 ms
2020-03-19 22:46:05,761 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=2 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:05,775 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=3 ttl=64 rssi=-45 dBm time=13.648 ms
2020-03-19 22:46:05,786 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=4 ttl=64 rssi=-45 dBm time=13.456 ms
2020-03-19 22:46:05,798 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=5 ttl=64 rssi=-46 dBm time=13.472 ms
2020-03-19 22:46:05,810 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=6 ttl=64 rssi=-45 dBm time=13.456 ms
2020-03-19 22:46:05,820 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=7 ttl=64 rssi=-46 dBm time=13.472 ms
2020-03-19 22:46:05,832 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=8 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:05,845 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=9 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:05,857 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=10 ttl=64 rssi=-46 dBm time=13.472 ms
2020-03-19 22:46:05,869 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=11 ttl=64 rssi=-46 dBm time=13.616 ms
2020-03-19 22:46:05,881 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=12 ttl=64 rssi=-47 dBm time=13.536 ms
2020-03-19 22:46:05,893 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=13 ttl=64 rssi=-47 dBm time=13.520 ms
2020-03-19 22:46:05,903 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=14 ttl=64 rssi=-47 dBm time=13.520 ms
2020-03-19 22:46:05,917 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=15 ttl=64 rssi=-47 dBm time=13.664 ms
2020-03-19 22:46:05,929 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=16 ttl=64 rssi=-46 dBm time=13.664 ms
2020-03-19 22:46:05,940 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=17 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:05,952 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=18 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:05,964 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=19 ttl=64 rssi=-46 dBm time=13.600 ms
2020-03-19 22:46:05,976 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=20 ttl=64 rssi=-48 dBm time=13.584 ms
2020-03-19 22:46:05,988 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=21 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:06,000 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=22 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:06,012 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=23 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:06,023 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=24 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:06,035 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=25 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:06,047 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=26 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:06,059 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=27 ttl=64 rssi=-45 dBm time=13.664 ms
2020-03-19 22:46:06,071 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=28 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:06,083 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=29 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:06,095 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=30 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:06,106 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=31 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:06,117 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=32 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:06,130 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=33 ttl=64 rssi=-45 dBm time=13.680 ms
2020-03-19 22:46:06,142 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=34 ttl=64 rssi=-45 dBm time=13.504 ms
2020-03-19 22:46:06,155 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=35 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:06,166 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=36 ttl=64 rssi=-45 dBm time=13.696 ms
2020-03-19 22:46:06,178 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=37 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:06,190 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=38 ttl=64 rssi=-45 dBm time=13.536 ms
2020-03-19 22:46:06,202 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=39 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:06,214 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=40 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:06,226 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=41 ttl=64 rssi=-45 dBm time=13.680 ms
2020-03-19 22:46:06,238 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=42 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:06,250 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=43 ttl=64 rssi=-46 dBm time=13.600 ms
2020-03-19 22:46:06,261 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=44 ttl=64 rssi=-47 dBm time=13.568 ms
2020-03-19 22:46:06,273 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=45 ttl=64 rssi=-48 dBm time=13.536 ms
2020-03-19 22:46:06,285 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=46 ttl=64 rssi=-48 dBm time=13.568 ms
2020-03-19 22:46:06,297 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=47 ttl=64 rssi=-48 dBm time=13.552 ms
2020-03-19 22:46:06,309 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=48 ttl=64 rssi=-48 dBm time=13.616 ms
2020-03-19 22:46:06,321 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=49 ttl=64 rssi=-48 dBm time=13.552 ms
2020-03-19 22:46:06,333 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=50 ttl=64 rssi=-48 dBm time=13.632 ms
2020-03-19 22:46:06,345 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=51 ttl=64 rssi=-47 dBm time=13.568 ms
2020-03-19 22:46:06,356 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=52 ttl=64 rssi=-46 dBm time=13.600 ms
2020-03-19 22:46:06,369 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=53 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:06,380 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=54 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:06,392 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=55 ttl=64 rssi=-45 dBm time=13.632 ms
2020-03-19 22:46:06,404 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=56 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:06,416 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=57 ttl=64 rssi=-46 dBm time=13.536 ms
2020-03-19 22:46:06,428 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=58 ttl=64 rssi=-46 dBm time=13.616 ms
2020-03-19 22:46:06,440 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=59 ttl=64 rssi=-46 dBm time=13.552 ms
2020-03-19 22:46:06,450 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=60 ttl=64 rssi=-46 dBm time=13.584 ms
2020-03-19 22:46:06,463 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=61 ttl=64 rssi=-46 dBm time=13.664 ms
2020-03-19 22:46:06,475 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=62 ttl=64 rssi=-46 dBm time=13.520 ms
2020-03-19 22:46:06,487 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=63 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:06,499 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=64 ttl=64 rssi=-45 dBm time=13.632 ms
2020-03-19 22:46:06,511 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=65 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:06,523 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=66 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:06,535 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=67 ttl=64 rssi=-44 dBm time=13.568 ms
2020-03-19 22:46:06,546 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=68 ttl=64 rssi=-43 dBm time=13.568 ms
2020-03-19 22:46:06,559 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=69 ttl=64 rssi=-43 dBm time=13.568 ms
2020-03-19 22:46:06,570 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=70 ttl=64 rssi=-42 dBm time=13.568 ms
2020-03-19 22:46:06,582 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=71 ttl=64 rssi=-42 dBm time=13.552 ms
2020-03-19 22:46:06,594 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=72 ttl=64 rssi=-42 dBm time=13.520 ms
2020-03-19 22:46:06,606 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=73 ttl=64 rssi=-42 dBm time=13.552 ms
2020-03-19 22:46:06,618 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=74 ttl=64 rssi=-42 dBm time=13.536 ms
2020-03-19 22:46:06,630 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=75 ttl=64 rssi=-42 dBm time=13.552 ms
2020-03-19 22:46:06,642 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=76 ttl=64 rssi=-42 dBm time=13.616 ms
2020-03-19 22:46:06,654 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=77 ttl=64 rssi=-42 dBm time=13.520 ms
2020-03-19 22:46:06,665 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=78 ttl=64 rssi=-42 dBm time=13.568 ms
2020-03-19 22:46:06,677 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=79 ttl=64 rssi=-42 dBm time=13.568 ms
2020-03-19 22:46:06,689 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=80 ttl=64 rssi=-43 dBm time=13.632 ms
2020-03-19 22:46:06,701 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=81 ttl=64 rssi=-43 dBm time=13.552 ms
2020-03-19 22:46:06,713 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=82 ttl=64 rssi=-43 dBm time=13.616 ms
2020-03-19 22:46:06,725 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=83 ttl=64 rssi=-43 dBm time=13.600 ms
2020-03-19 22:46:06,736 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=84 ttl=64 rssi=-43 dBm time=13.584 ms
2020-03-19 22:46:06,749 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=85 ttl=64 rssi=-44 dBm time=13.616 ms
2020-03-19 22:46:06,761 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=86 ttl=64 rssi=-44 dBm time=13.536 ms
2020-03-19 22:46:06,773 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=87 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:06,784 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=88 ttl=64 rssi=-45 dBm time=13.584 ms
2020-03-19 22:46:06,796 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=89 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:06,808 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=90 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:06,820 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=91 ttl=64 rssi=-45 dBm time=13.552 ms
2020-03-19 22:46:06,832 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=92 ttl=64 rssi=-45 dBm time=13.680 ms
2020-03-19 22:46:06,844 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=93 ttl=64 rssi=-45 dBm time=13.616 ms
2020-03-19 22:46:06,856 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=94 ttl=64 rssi=-45 dBm time=13.632 ms
2020-03-19 22:46:06,868 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=95 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:06,879 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=96 ttl=64 rssi=-45 dBm time=13.600 ms
2020-03-19 22:46:06,891 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=97 ttl=64 rssi=-45 dBm time=13.568 ms
2020-03-19 22:46:06,902 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=98 ttl=64 rssi=-45 dBm time=13.520 ms
2020-03-19 22:46:06,911 # 12 bytes from fe80::2064:632b:6241:6d56: icmp_seq=99 ttl=64 rssi=-45 dBm time=11.712 ms
2020-03-19 22:46:06,912 # 
2020-03-19 22:46:06,917 # --- fe80::2064:632b:6241:6d56 PING statistics ---
2020-03-19 22:46:06,922 # 100 packets transmitted, 100 packets received, 0% packet loss
2020-03-19 22:46:06,927 # round-trip min/avg/max = 10.512/13.541/15.136 ms

Is the loss also occuring when using global addresses globally / with manually set compression contexts?

I just ran the plain examples/gnrc_border_router / examples/gnrc_networking when testing examples/gnrc_networking

@miri64
Copy link
Member Author

miri64 commented Mar 19, 2020

Is the loss also occuring when using global addresses globally / with manually set compression contexts?

I just ran the plain examples/gnrc_border_router / examples/gnrc_networking when testing examples/gnrc_networking

Both cases could be checked on current master:

  • global addresses uncompressed: Just ping the global address
  • manually set compression: do that with the 6ctx command (you will get a warning but you can ignore it if you set exactly the same compression contexts)

@benpicco
Copy link
Contributor

Both cases could be checked on current master:

  • global addresses uncompressed: Just ping the global address

Yup that works reliably.

  • manually set compression: do that with the 6ctx command (you will get a warning but you can ignore it if you set exactly the same compression contexts)

So with MODULE_GNRC_SIXLOWPAN_CTX disabled, I pinged the border router (2001:db8::18f9:8f5f:305d:58e:) form my node. I get answers reliably.

The on the border router I manually do

add 0 2001:db8::/64 60

After that, the node does not receive answers from the border router anymore, but still answers to pings from an outside address.

I then also run the same 6ctx on the node, ping works again. I can also ping global addresses (e.g. fdea:dbee:f::1:) and it still answers to outside ping.

Now I enabled MODULE_GNRC_SIXLOWPAN_CTX again and… it's still working?!

I did let it sit for a while, then I pinged fdea:dbee:f::1: again.
After the first reply it stops - and ping from outside the PAN to the node stops working too.

But after the next

2020-03-24 15:58:39,228 # got packet from fe80::bc1b:bd49:5d47:3eb6 port 48878
2020-03-24 15:58:39,234 # uhcp: push from fe80::bc1b:bd49:5d47:3eb6:48878 prefix=2001:db8::/64
2020-03-24 15:58:39,239 # gnrc_uhcpc: uhcp_handle_prefix(): got same prefix again
2020-03-24 15:58:39,248 # gnrc_uhcpc: uhcp_handle_prefix(): add compression context 0 for prefix 2001:db8::18f9:8f5f:305d:58e/64

its working again.

So maybe that's why the bug is less pronounced with UHCP - the prefix gets refreshed often enough.

This is a seriously strange bug.

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

Both cases could be checked on current master:

  • global addresses uncompressed: Just ping the global address

Yup that works reliably.

  • manually set compression: do that with the 6ctx command (you will get a warning but you can ignore it if you set exactly the same compression contexts)

So with MODULE_GNRC_SIXLOWPAN_CTX disabled, I pinged the border router (2001:db8::18f9:8f5f:305d:58e:) form my node. I get answers reliably.

The on the border router I manually do

add 0 2001:db8::/64 60

After that, the node does not receive answers from the border router anymore, but still answers to pings from an outside address.

I then also run the same 6ctx on the node, ping works again. I can also ping global addresses (e.g. fdea:dbee:f::1:) and it still answers to outside ping.

Now I enabled MODULE_GNRC_SIXLOWPAN_CTX again and… it's still working?!

I did let it sit for a while, then I pinged fdea:dbee:f::1: again.
After the first reply it stops - and ping from outside the PAN to the node stops working too.

But after the next

2020-03-24 15:58:39,228 # got packet from fe80::bc1b:bd49:5d47:3eb6 port 48878
2020-03-24 15:58:39,234 # uhcp: push from fe80::bc1b:bd49:5d47:3eb6:48878 prefix=2001:db8::/64
2020-03-24 15:58:39,239 # gnrc_uhcpc: uhcp_handle_prefix(): got same prefix again
2020-03-24 15:58:39,248 # gnrc_uhcpc: uhcp_handle_prefix(): add compression context 0 for prefix 2001:db8::18f9:8f5f:305d:58e/64

its working again.

So maybe that's why the bug is less pronounced with UHCP - the prefix gets refreshed often enough.

This is a seriously strange bug.

Maybe it's related to the gnrc_ipv6_nib_abr_del() :-/?

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

Ah no, we don't have this here...

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

How do the router advertisements in the WPAN look like? Do they carry the 6CO option? Are the lifetimes configured correctly? What does the 6ctx list command say on the non-6BR nodes?

@benpicco
Copy link
Contributor

How do the router advertisements in the WPAN look like? Do they carry the 6CO option? Are the lifetimes configured correctly?

I just realized I have one of those handy CC2531 USB Dongles that come with a sniffer firmware preinstalled.
And indeed when I run whsniff-c 26 | wireshark -k -i - I see all the traffic.

Screenshot at 2020-03-24 16-19-07

What does the 6ctx list command say on the non-6BR nodes?

2020-03-24 15:33:18,774 # cid|prefix                                     |C|ltime
2020-03-24 15:33:18,779 # -----------------------------------------------------------
2020-03-24 15:33:18,786 #   0|                             2001:db8::/64 |1|   56min

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

That Screenshot isn't really helpful as I can't see the content of the RA. Can you upload the pcap somewhere?

@benpicco
Copy link
Contributor

benpicco commented Mar 24, 2020

I haven't enabled 6ctx yet again, but will do.

<ramble>

In the meantime I noticed something else weird: Only one node gets the global route configured.

I have four nodes, a avr-rss2 (at86rf2xx), a openmote-b (at86rf215), a samr21-xpro (at86rf2xx) and a openlabs-kw41z-mini (kw41zrf).
The border router is a same54-xpro with ATREB215-XPRO (at86rf215) connected to it.

Only the avr-rss2 gets

2020-03-24 16:42:04,862 #  nib route
2020-03-24 16:42:04,863 # 2001:db8::/64 dev #7
2020-03-24 16:42:04,869 # default via fe80::18f9:8f5f:305d:58e dev #7

everyone else just has

2020-03-24 16:42:26,926 #  nib route
2020-03-24 16:42:26,931 # default* via fe80::18f9:8f5f:305d:58e dev 

That seems irrelevant though. I've re-flashed all nodes with gnrc_ipv6_default instead of gnrc_ipv6_router_default just to rule that our and now none of them have the global route configured, but all can reach fdea:dbee:f::1.

I've then re-enabled MODULE_GNRC_SIXLOWPAN_CTXon the border router.
They all got the context, but at first again only avr-rss2 could ping the external address.
After a reboot that worked for the other nodes too.

So now I'm waiting for the bug to re-appear while running Wireshark.
You should see all that in the pcap file - you can ignore this rambling post. 😉

</ramble>

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

For more than one node you need a routing protocol like RPL ;-).

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

You should see all that in the pcap file - you can ignore this rambling post. 😉

😅👍

@benpicco
Copy link
Contributor

For more than one node you need a routing protocol like RPL ;-).

Even if they are all on the same table?!

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

For more than one node you need a routing protocol like RPL ;-).

Even if they are all on the same table?!

Which table?

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

If they are all routers they will bootstrap as a mesh. If one of them becomes the upstream for the others at random, the others won't be reachable by the border router ;-).

@benpicco
Copy link
Contributor

My desk - they all can reach the border router directly, they are all within a 1m radius of the border router.

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

My desk - they all can reach the border router directly, they are all within a 1m radius of the border router.

Ah, I thought you meant a forwarding table or something 😅 And yes, the routers bootstrap themselves in a first come first serve manner.

@benpicco
Copy link
Contributor

If they are all routers they will bootstrap as a mesh.
If one of them becomes the upstream for the others at random, the others won't be reachable by the border router ;-).

That would explain a lot of things! I feel like we should add a comment about that to examples/gnrc_networking

They are all non-routers now and I haven't seen any ping issues yet.

Will try again with the esp32 and this patch - I've uploaded the 6ctx.pcapng file with the traffic up to now.

@benpicco
Copy link
Contributor

Ok I re-tested on the esp32 as border router with the same nodes (all non-routers) and this patch.

Again I see that some nodes can ping global addresses and some can't: wifi-wpan-6ctx.pcapng

When I disable MODULE_GNRC_SIXLOWPAN_CTX (#undef MODULE_GNRC_SIXLOWPAN_CTX in sys/net/gnrc/application_layer/dhcpv6/client.c) I can reach global addresses just fine from all nodes: wifi-wpan.pcapng

@miri64
Copy link
Member Author

miri64 commented Mar 24, 2020

Again I see that some nodes can ping global addresses and some can't: wifi-wpan-6ctx.pcapng

Weird bug indeed... the border router is happily advertising the context (see e.g. frame 8), but the node is not accepting the compressed ping request (e.g. frame 18). I'll try to reproduce tomorrow and see if I can debug :-(.

Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works well in combination with #13713 👍

@benpicco benpicco reopened this Mar 25, 2020
@benpicco benpicco merged commit 6ae0fd7 into RIOT-OS:master Mar 25, 2020
@miri64 miri64 deleted the gnrc_dhcpv6/enh/configure-context branch March 25, 2020 15:51
@leandrolanzieri leandrolanzieri added this to the Release 2020.04 milestone Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants