NuttX's icmp_setsockopt() does not implement ICMP_FILTER handling
for IPPROTO_ICMP sockets, which causes:
icmp_setsockopt: ERROR: Unrecognized ICMP option: 1
and leads to ping failures (100% packet loss) even when pinging
the device's own IP.
Switch setsockopt() call from IPPROTO_ICMP to SOL_RAW so that
ICMP_FILTER is processed by raw_setsockopt(), which supports this
option.
Fixes: ping self-test failures in test_nuttx_ping_self_ip
Signed-off-by: v-zhoufuyin <v-zhoufuyin@xiaomi.com>
During a long ping, the tester will repeatedly switch the dev interface on and off.
When the interface is down and ping is in sendto sem_wait state,ifdown will trigger event of sendto and post sem.
in func of sendto_eventhandler:
if ((flags & NETDEV_DOWN) != 0)
{
nerr("ERROR: Interface is down\n");
pstate->snd_result = -ENETUNREACH;
goto end_wait;
}
Signed-off-by: meijian <meijian@xiaomi.com>
During a long ping, the tester will repeatedly switch the dev interface on and off.
When the interface is down and ping is in poll sem_wait state,ifdown will trigger event of poll and post sem.
The poll will return and revent is 0x18 POLLHUP | POLLERR.Then recvfrom will process and return error to stop ping.
if ((flags & NETDEV_DOWN) != 0)
{
eventset |= (POLLHUP | POLLERR);
}
Signed-off-by: meijian <meijian@xiaomi.com>
During a long ping, the tester will repeatedly switch the dev interface on and off.
When the interface is down and ping is in sendto sem_wait state,ifdown will trigger event of sendto and post sem.
in func of sendto_eventhandler:
if ((flags & NETDEV_DOWN) != 0)
{
nerr("ERROR: Interface is down\n");
pstate->snd_result = -ENETUNREACH;
goto end_wait;
}
Signed-off-by: meijian <meijian@xiaomi.com>
During a long ping, the tester will repeatedly switch the dev interface on and off.
When the interface is down and ping is in poll sem_wait state,ifdown will trigger event of poll and post sem.
The poll will return and revent is 0x18 POLLHUP | POLLERR.Then recvfrom will process and return error to stop ping.
if ((flags & NETDEV_DOWN) != 0)
{
eventset |= (POLLHUP | POLLERR);
}
Signed-off-by: meijian <meijian@xiaomi.com>
when a program has multiple MAINSRC for incremental compilation,
the PROGNAME of the compiled file may generate errors
-------------------- compile definition error ---------------------
cc -c -g CFLAGS INCLUDEDIR -Dmain=funA_main funB.c -o funB.c.path.o
^^^^ ^^^^^^ ^^^^
-------------------------------------------------------------------
use the MAINOBJ:PROGNAME mapping variable to define the main entry name
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
Build break on Assemble compiler if -fno-omit-frame-pointer and -O3 enabled at same time
{standard input}: Assembler messages:
{standard input}:2560: Error: branch out of range
make[2]: *** [apps/Application.mk:170: mbedtls/library/sha256.o] Error 1
Signed-off-by: chao an <anchao@xiaomi.com>
Type int expects 4 bytes for function write(). Type char expects 1 byte which matches the real usage of function write().
Signed-off-by: renzhiyuan1 <renzhiyuan1@xiaomi.com>
The mqttc demo under example path can not support mbedtls api.
Because of the MQTT-C source code already contains many types of
link examples, so we added the corresponding makefile to
support mbedtls mqttc connections publisher and posix mqttc
connections publisher and subscriber.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
Add the API "nsh_getpid" in "nsh_fsutils. c" and the nsh command pidof. Temporarily support two parameters, - s, and process name
Signed-off-by: wangmingrong <wangmingrong@xiaomi.com>
when a program has multiple MAINSRC for incremental compilation,
the PROGNAME of the compiled file may generate errors
-------------------- compile definition error ---------------------
cc -c -g CFLAGS INCLUDEDIR -Dmain=funA_main funB.c -o funB.c.path.o
^^^^ ^^^^^^ ^^^^
-------------------------------------------------------------------
use the MAINOBJ:PROGNAME mapping variable to define the main entry name
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
application may use micro-ecc for some ecc operation, which may be
faster than tinycrypt, due to assamble code, but both of them have
same function defination, cause build error on there case.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>