using popen with r+,w+ mode to interact with the remote service on
the command line, supporting input and output until the local
voluntarily exits or the remote service ends.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
Add xtables.c and xtables.h
In order to support the compilation of third-party utils, we encounter some
situations where the macro is not defined, refer to the common implementation
of other systems, add relevant definitions and empty function.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
Socket binded to INADDR_ANY is not intended to receive unicast traffic before being fully configured, at least dhclient configured with socket-only won't do so on Linux and BSDs (https://github.com/isc-projects/dhcp/blob/v4_4_3/common/socket.c#L1201).
We can sometimes receive unicast traffic before being fully configured, it's good, but not always, so we need to set the broadcast flag under some situations.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
Add missing FAR and CODE to pointers
Remove FAR for non-pointer variables
Remove extra spaces and align the parameters
Add do {} while(0) wrapper in macro
Use nitems to calculate number of elements in arrays
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
In dns_add_nameserver, the dns_check_nameserver is comparing addresses
with addrlen = sizeof(struct sockaddr_in) for IPv4 addresses, so the
trailing sin_zero field should be 0, otherwise it may fail to figure out
same nameserver address.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
The flag '-Wno-maybe-uninitialized' is not known by clang, so a
workaround substitutes it for '-Wno-uninitialized' when clang is
being used as C compiler.
Usage:
iperf -s --rpmsg <name>
iperf -c <cpu> --rpmsg <name>
Note:
RPMsg with SOCK_DGRAM (`-u`) doesn't have server mode (bind) yet, iperf
may not work in this case before rpsock is enhanced.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
Usage:
iperf -s --local <path>
iperf -c <path> --local || iperf -c <whatever> --local <path>
Can combine with other options, e.g. '-u' will result in local
UDP (DGRAM).
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
We'll add local/rpmsg sockets later, they're mainly different in
sockaddr, we can reuse other current logic.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
Argtable's builtin glossary can produce same output and we do not need
to maintain two sets of help string. Then we're easier to add more
options to iperf.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
The timer is for connect timeout, but is not cancelled on connect error,
then it may be triggered after ftpc quit and cause heap-use-after-free.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
The current WiFi configuration expects user to look at symbols in
the wireless headers to configure it. This patch will improve it.
Notice that even those symbols that are bitfields are not allowed
to have more than 1 bit set at time.
Summary:
- I noticed that the iperf shows incorrect transfer bytes
in each period.
- Also, the bandwidth overflows sometimes.
- This commit fixes these issues.
Impact:
- None
Testing:
- Tested with qemu-armv8a:netnsh_smp on QEMU-7.1
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Issue:
DHCP server will send DHCP offer/ack via broadcast packet if broadcast
flag is enabled in DHCP discover/request.
There's no retransmition mechanism for broadcast frame in 802.11 MAC
layer, thus transmit fail rate might be very high. This will increase DHCP fail rate.
Solution:
Disable broadcast flag by default
Signed-off-by: liangchaozhong <liangchaozhong@xiaomi.com>
recv request can only get maximum 1500 bytes payload in single response in
earlier design, this patch aggregrate more payloads(maximum 16k bytes)
into one response to make sure usrsock’s req/response mechanism is not
bottleneck during usrsock’s throughput test.
Signed-off-by: liangchaozhong <liangchaozhong@xiaomi.com>
Error: discover.c:210:13: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'in_addr_t' {aka 'unsigned int'} [-Werror=format=]
210 | ninfo("Received discover from %08lx'\n", srcaddr.sin_addr.s_addr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
| |
| in_addr_t {aka unsigned int}
discover.c:210:41: note: format string is defined here
210 | ninfo("Received discover from %08lx'\n", srcaddr.sin_addr.s_addr);
| ~~~~^
| |
| long unsigned int
| %08x
In file included from discover.c:25:
discover.c: In function 'discover_openlistener':
Error: discover.c:359:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uint32_t' {aka 'unsigned int'} [-Werror=format=]
359 | ninfo("serverip: %08lx\n", ntohl(g_state.serverip));
| ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint32_t {aka unsigned int}
discover.c:359:24: note: format string is defined here
359 | ninfo("serverip: %08lx\n", ntohl(g_state.serverip));
| ~~~~^
| |
| long unsigned int
| %08x
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This option, which resolves to -w when CONFIG_CYGWIN_WINTOOL is
configured, is now appended to INCDIR in tools/Config.mk.
See git commit # 5eae32577e5d5226e5d3027c169eeb369f83f77d in the main