Implements the IPV6_RECVHOPLIMIT socket option for receiving the hop
limit in the IPv6 packet.
Based on work from https://savannah.nongnu.org/patch/?9554
Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: hanhui <hanhui03@163.com>
Implements the IPV6_RECVPKTINFO socket option for receiving ancillary
data about an IPv6 packet.
Also fixes an issue where the interface index was not being copied
and updates IP_PKTINFO flag to use netconn flags macros.
Based on work from https://savannah.nongnu.org/patch/?9554
Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Joseph Huang <joseph.huang@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
Implements the IPV6_MULTICAST_HOPS socket option, which sets
the hop limit for outgoing multicast packets.
Also fixes debug message in getsockopt for IP_MULTICAST_TTL.
Based on work from https://savannah.nongnu.org/patch/?9554
Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
Implements the IPV6_MULTICAST_IF socket option, which
specifies the interface for outgoing multicast packets.
Based on work from https://savannah.nongnu.org/patch/?9554
Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
Implements the IPV6_UNICAST_HOPS socket option, which sets
the hop limit for outgoing unicast IPv6 packets.
Based on work from https://savannah.nongnu.org/patch/?9554
Co-authored-by: Christina Schoenrogge <christina.schoenrogge@garmin.com>
Co-authored-by: Chee Bin Hoh <hohcheebin@gmail.com>
Co-authored-by: hanhui <hanhui03@163.com>
commit 4e6dd9 "ping: add stop function", was corrected
and wrongly added stop function after IP address set up.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
[build] ../../3rd/lwip/src/include/lwip/opt.h:137:41: error: argument 2 null where non-null expected [-Werror=nonnull]
[build] #define MEMCPY(dst,src,len) memcpy(dst,src,len)
[build] ^~~~~~~~~~~~~~~~~~~
[build] ../../3rd/lwip/src/netif/ppp/fsm.c:791:7: note: in expansion of macro 'MEMCPY'
[build] MEMCPY(outp + PPP_HDRLEN + HEADERLEN, data, datalen);
[build] ^~~~~~
[build] In file included from c:\mentorgraphics\fly380s_8910\prebuilts\win32\gcc-arm-none-eabi\arm-none-eabi\include\sys\time.h:40:0,
[build] from ../../3rd/../src/cat1/arch/cc.h:40,
[build] from ../../3rd/lwip/src/include/lwip/arch.h:50,
[build] from ../../3rd/lwip/src/include/lwip/debug.h:40,
[build] from ../../3rd/lwip/src/include/lwip/opt.h:52,
[build] from ../../3rd/lwip/src/include/netif/ppp/ppp_opts.h:31,
[build] from ../../3rd/lwip/src/netif/ppp/fsm.c:43:
[build] c:\mentorgraphics\fly380s_8910\prebuilts\win32\gcc-arm-none-eabi\arm-none-eabi\include\string.h:31:8: note: in a call to function 'memcpy' declared here
[build] _PTR _EXFUN(memcpy,(_PTR __restrict, const _PTR __restrict, size_t));
[build] ^
lwIP might support different hardware address lengths (when using
Ethernet and 6LoWPAN for instance). Match provided lladdr length
from Router Advertisement to the current network interface instead
of comparing against longest that can be stored.
ping in raw mode does some set up and sets timeout, but clean
up procedure is missing. That is needed for case if PING_RESULT() macro
is used for application exit.
Also implement stop functionality when using sockets.
Running ping is stopped when calling ping_init() again.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
By default, npcap keeps its DLLs not in system32 but in system32/npcap.
To load DLLs from there, mark them as "delay load DLLs" and adjust the
DLL search path before using/loading them.
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
Although ntohs and htons perform equivalent operations (a byte swap on
little-endian platforms), their semantic roles (as implied by the names)
are different.
In fuzz_common.c, we get integers from simulated network packages, and
convert them for host CPU use, so ntohs is the right variant to use.
Unfortunately, CC ?= afl-gcc doesn't work. This is because CC has a
default value (of "cc"), and the ?= operator only assigns a value if the
variable previously had none. "make" currently compiles with cc.
In this patch, I implemented the more elaborate way to achieve what was
probably intended: "make" will use afl-gcc now, and "make CC=foo" will
compile with "foo".