299c407501
For the approach we intend to use for handling UDP flows, we have some pretty specific requirements about how SO_REUSEADDR works with UDP sockets. Specifically SO_REUSEADDR allows multiple sockets with overlapping bind()s, and therefore there can be multiple sockets which are eligible to receive the same datagram. Which one will actually receive it is important to us. Add a test program which verifies things work the way we expect, which documents what those expectations are in the process. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
45 lines
1.2 KiB
Makefile
45 lines
1.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
# Copyright Red Hat
|
|
# Author: David Gibson <david@gibson.dropbear.id.au>
|
|
|
|
TARGETS = reuseaddr-priority
|
|
SRCS = reuseaddr-priority.c
|
|
CFLAGS = -Wall
|
|
|
|
all: cppcheck clang-tidy $(TARGETS:%=check-%)
|
|
|
|
$(TARGETS): %: %.c common.c common.h
|
|
|
|
check-%: %
|
|
./$<
|
|
|
|
cppcheck:
|
|
cppcheck --std=c11 --error-exitcode=1 --enable=all --force \
|
|
--check-level=exhaustive \
|
|
--inconclusive --library=posix --quiet \
|
|
--suppress=missingIncludeSystem \
|
|
$(SRCS)
|
|
|
|
clang-tidy:
|
|
clang-tidy --checks=*,\
|
|
-altera-id-dependent-backward-branch,\
|
|
-altera-unroll-loops,\
|
|
-bugprone-easily-swappable-parameters,\
|
|
-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,\
|
|
-concurrency-mt-unsafe,\
|
|
-cppcoreguidelines-avoid-non-const-global-variables,\
|
|
-cppcoreguidelines-init-variables,\
|
|
-cppcoreguidelines-macro-to-enum,\
|
|
-google-readability-braces-around-statements,\
|
|
-hicpp-braces-around-statements,\
|
|
-llvmlibc-restrict-system-libc-headers,\
|
|
-misc-include-cleaner,\
|
|
-modernize-macro-to-enum,\
|
|
-readability-braces-around-statements,\
|
|
-readability-identifier-length,\
|
|
-readability-isolate-declaration \
|
|
$(SRCS)
|
|
|
|
clean:
|
|
rm -f $(TARGETS) *.o *~
|