Martine Lenders
c32f1076f6
gnrc_icmpv6_error: consider originator's destination address correctly
...
While 485dbd1fda
(from #12175 ) was right
in assuming that the for most ICMPv6 error messages the originating
packet's destination address must not be a multicast, this is not the
case for _all_ ICMPv6 error messages (see [RFC 4443], section 2.4(e.3)).
Additionally, 485dbd1fda
removed the
check for the source address ([RFC 4443], section 2.4(e.6)), which this
PR re-adds.
[RFC 4443]: https://tools.ietf.org/html/rfc4443#section-2.4
2019-10-19 14:39:45 +02:00
Marian Buschsieweke
b87ab96d17
Merge pull request #10661 from miri64/gnrc_netif_hdr/enh/netif_setter
...
gnrc_netif_hdr: add setter for netif
2019-09-10 16:14:28 +02:00
Martine S. Lenders
cee1b7296d
gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif() also for loopback
2019-09-10 12:37:32 +02:00
steffen
485dbd1fda
[gnrc_icmpv6_error] Fixed multicast detection
...
before this commit the src address was checked for multicast, but the dst address should be checked. Therefore udp multicast packets would be flooded back to the src as ICMPv6 error, as not all nodes had a UDP receiver registered.
2019-09-05 19:22:43 +02:00
Marian Buschsieweke
d4d5f27b72
Merge pull request #11916 from miri64/gnrc_icmpv6_echo/enh/use-netif_hdr-setter
...
gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif()
2019-07-30 19:48:43 +02:00
Martine S. Lenders
e865f4e34c
gnrc_icmpv6_error: use gnrc_netif_hdr_get/set_netif()
2019-07-25 15:52:14 +02:00
Martine S. Lenders
47fdebc938
gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif()
2019-07-25 15:20:26 +02:00
Gunar Schorcht
c88838f391
gnrc_icmpv6_echo: avoid crashing when pktbuf full
...
Once the packet buffer is full on heavy network load, gnrc_netif_hdr_build may return NULL. In that case, the following unchecked access to hdr->data leads to a crash.
2019-01-25 17:10:57 +01:00
Martine Lenders
8c1cf53d28
gnrc_icmpv6: release when received packet too short
2019-01-24 15:50:18 +01:00
Martine Lenders
bbde73eb81
gnrc_icmpv6: release on wrong checksum
2019-01-24 14:57:36 +01:00
Martine Lenders
b90fff9f06
gnrc_icmpv6_error: use gnrc_netif_hdr_get_netif() function
2018-12-05 14:08:32 +01:00
Martine Lenders
ef1132384a
gnrc_icmpv6_error: check IPv6 header before starting to build
...
Check for:
- if it exists (critical error condition -- non-IPv6 headers should
not trigger these functions) => assert
- if it has a multicast source (that shouldn't really happen but
people might try weird stuff ;-)
- if it has an unspecified source (can't determine receiver of error
message => don't send it, don't build it)
2018-11-17 15:45:25 +01:00
Martine Lenders
b99e9f4185
gnrc_icmpv6_error: append IPv6 and netif header before sending
2018-11-16 17:39:16 +01:00
Martine Lenders
d161379e47
gnrc_icmpv6_error: re-order header inclusions
2018-11-16 17:39:16 +01:00
Martine Lenders
0b4230e5f6
gnrc_icmpv6_error: fix and optimize pointer search in _param_prob_build
2018-11-16 17:39:16 +01:00
Martine Lenders
335342a466
gnrc_icmpv6_error: fix build function for send and recv order
2018-11-16 17:39:16 +01:00
Martine Lenders
f0da2a0cd7
gnrc_icmpv6_error: don't include netif header into fit
2018-11-16 17:39:16 +01:00
Martine Lenders
c4175a5e52
gnrc_icmpv6_error: adapt _fit() to get MTU from netif
2018-11-16 17:39:16 +01:00
Martine Lenders
c8c8564d51
gnrc_icmpv6_error: use netapi_dispatch_send instead of netapi_send
2018-11-16 17:39:16 +01:00
Martine Lenders
ba13d8f5bf
gnrc_icmpv6_error: introduce debug messages
2018-11-16 17:39:15 +01:00
Martine Lenders
a7a8227e36
gnrc_icmpv6_error: centralize send function
2018-11-16 17:39:15 +01:00
Martine Lenders
36617f3733
gnrc_icmpv6_error: make input pointers constant
2018-11-16 17:39:15 +01:00
Martine Lenders
6ec456b0fc
gnrc_icmpv6_error: don't release orig_pkt on error
...
The stack might still wants to do something with the packet after
copying it to the error message.
2018-11-16 17:22:20 +01:00
Martine Lenders
3b56c78a3b
gnrc_icmpv6_error: make build functions private
2018-11-16 17:22:20 +01:00
Martine Lenders
a30bdebc2c
gnrc_icmpv6_error: remove static inline from functions
2018-11-16 17:22:20 +01:00
Martine Lenders
12fad002da
gnrc_icmpv6_echo: fix ping for loopback
...
At the moment ping is crashing if one pings the loopback address.
This was caused in #8214 when we moved interfaces from `kernel_pid_t`
ID to pointer-based handling, since loopback doesn't evaluate to such
an interface.
2018-01-31 15:46:52 +01:00
Martine Lenders
7c0bb427fa
gnrc_ipv6: gnrc_icmpv6: simplify access to network interfaces
2018-01-17 16:48:58 +01:00
Martine Lenders
31b1ceb440
gnrc_netif2: rename to gnrc_netif
2017-11-17 10:41:54 +01:00
Martine Lenders
636ef2a498
gnrc: remove legacy neighbor discovery code
2017-11-17 09:20:30 +01:00
Martine Lenders
71a7dbf918
gnrc: remove legacy network interface structures
2017-11-17 09:20:29 +01:00
Martine Lenders
a7d2c65b36
gnrc_ipv6_nib: port to gnrc_netif2
2017-11-08 20:18:53 +01:00
Martine Lenders
6a7de28cd1
gnrc: integrate NIB for testing
2017-10-10 10:12:19 +02:00
Cenk Gündoğan
43283ef16b
Merge pull request #7064 from miri64/gnrc_ndp2/api/initial
...
gnrc_ndp2: Provide GNRC abstraction layer for NIB for sending
2017-10-06 13:33:36 +02:00
Martine Lenders
08447ed51e
gnrc_ndp2: Provide GNRC abstraction layer for NIB for sending
2017-10-06 12:11:05 +02:00
Joakim Nohlgård
8415c4eebc
gnrc_icmpv6: Clean up redundant conditional debug statement
2017-08-09 16:27:30 +02:00
smlng
25e62a7087
net, icmpv6: correct debug output
2017-04-18 11:57:40 +02:00
Martine Lenders
2c5fbab3ff
Merge pull request #5525 from miri64/gnrc/enh/dispatch-send
...
gnrc: use gnrc_netapi_dispatch_send() instead of manual iteration
2016-08-25 14:21:19 +02:00
Martine Lenders
bd230d3b63
gnrc_ipv6: gnrc_icmpv6: use dispatch_receive helper function
2016-08-18 13:25:07 +02:00
Martine Lenders
72d177074b
gnrc: use gnrc_netapi_dispatch_send() instead of manual iteration
2016-08-12 14:06:58 +02:00
Yonezawa-T2
0de34c91c6
gnrc_ipv6: validates payload size
2016-06-07 10:01:23 +09:00
Oleg Hahm
991c71cf27
gnrc ipv6: use ipv6_addr_t ptr for hdr_build
2016-03-23 15:20:12 +01:00
Oleg Hahm
360413a033
gnrc ipv6 hdr: remove len params from hdr_build
2016-03-23 15:20:11 +01:00
Cenk Gündoğan
ee4553e176
gnrc_icmpv6: fix debug outputs
2016-02-19 07:51:10 +01:00
Martine Lenders
379703ae3a
gnrc: use gnrc_pkt_search_type instead of LL_SEARCH_SCALAR
2016-02-11 01:05:02 +01:00
Martine Lenders
70c3d29036
gnrc_icmpv6_error: initial import
2016-01-23 16:04:05 +01:00
Ken Bannister
1abffc84e1
Update layer 4 files to fix checksum with inet_csum_slice().
2015-12-02 05:53:58 -05:00
Martine Lenders
891450d29d
gnrc_netapi: recover from message send errors
2015-09-29 16:58:08 +02:00
Martine Lenders
10e571df5e
gnrc: adapt for gnrc_ndp_router
2015-09-02 23:28:37 +02:00
Martine Lenders
c367477d44
gnrc: adapt for gnrc_ndp_host
2015-09-02 17:31:10 +02:00
Martine Lenders
58ff31bfe9
gnrc: make all gnrc modules sub-modules of gnrc
2015-08-18 23:00:07 +02:00