| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
UDLD protocol support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Summary of changes:
- Complete UDLD protocol support was added according to RFC5171
- UDLD checksum implementation was added
- UDLD unit tests were added
- CI has been updated to run UDLD unit tests
That's how sample/udld looks in tcpdump:
tcpdump: listening on lo0, link-type EN10MB (Ethernet), capture size 262144 bytes
06:23:33.536964 UDLDv1, Code Probe message (1), Flags [RT, RSY] (0x03), length 60
Checksum 0x6d85 (unverified)
Device-ID TLV (0x0001) TLV, length 15, FOC1031Z7JG
Port-ID TLV (0x0002) TLV, length 9, Gi0/1
Echo TLV (0x0003) TLV, length 8, ^@^@^@^@
Message Interval TLV (0x0004) TLV, length 5, 7s
Timeout Interval TLV (0x0005) TLV, length 5, 5s
Device Name TLV (0x0006) TLV, length 6, S1
Sequence Number TLV (0x0007) TLV, length 8, 1
0x0000: 2103 6d85 0001 000f 464f 4331 3033 315a !.m.....FOC1031Z
0x0010: 374a 4700 0200 0947 6930 2f31 0003 0008 7JG....Gi0/1....
0x0020: 0000 0000 0004 0005 0700 0500 0505 0006 ................
0x0030: 0006 5331 0007 0008 0000 0001 ..S1........
Signed-off-by: Valery Ivanov <ivalery111@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes it's necessary to obtain a header or packet for unit testing. This
possible only in advanced mode. The advanced mode requires sudo. This
limitation is not necessary for unit testing.
Signed-off-by: Valery Ivanov <ivalery111@gmail.com>
|
|\ \
| | |
| | |
| | |
| | | |
fix typos
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|/ /
| |
| |
| | |
Signed-off-by: lilinjie <lilinjie@uniontech.com>
|
|\ \
| |/
| |
| |
| | |
Remove support for SOCK_PACKET sockets
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code has a build-time check to verify that PF_PACKET sockets
are supported on Linux systems and if not, fallback on SOCK_PACKET sockets.
The test implementation relies on FTM (Feature Test Macros) to detect
glibc and its version to include correct headers.
But, some libc such as the musl libc do not have such macros, making the
test program compilation fail and libnet fallback on SOCK_PACKET.
Since PF_PACKET support is present in kernel for more than 20 years now,
the simplest solution and safe choice is to just drop support for
SOCK_PACKET and assume PF_PACKET is always available on any Linux system.
Signed-off-by: Hervé Boisse <admin@netgeek.ovh>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
| |
Use the same source of all version information instead of hard-coding
it everywhere, and then having to update if for every releae cycle.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
| |
Most Windows DLL files have their version encoded in the DLL not in
their filename, e.g., the Npcap library.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
| |
See https://www.scivision.dev/ssize_t-visual-studio-posix/
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
| |
- convert to Visual Studio 2017 using vswhere
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
| |
libnet_if_addr.c(467): error C2082: redefinition of formal parameter 'dev'
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The other (older) implementations of libnet_ifaddrlist() explicitly
check if dev is unset before discarding any loopback interface.
This patch adds the same behavior to the Linux and OpeBSD backends
for consistency.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Split the non-linux HAVE_LINUX_PROCFS non-windows libnet_ifadrrlist() in
two functions for readability. It is very unclear atm. which OS this
might actually be, new function tested on Linux. The remaining, cleaned
up non-HAVE_LINUX_PROCFS version is what runs on FreeBSD and macOS.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
| |
Affects all non-Linux/OpenBSD and non-Windows platforms.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
| |
Simplifies code a lot and we never risk leaking memory.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
| |
Only used in libnet_if_addr.c and never documented as a public API.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
| |
This hopefully fixes the problems with the FreeBSD builder. Apparently
they recommend using v0 instead of the latest release (v0.3.0).
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
libnet has multiple libnet_ifaddrlist(), one for each OS family. The
changes in PR #150, fixing the aribtrary MAX IP address limit on LInux,
unfortunately broke all other operating systems.
This is a specualtive change for the Windows operating system, untested.
Issue #150
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libnet has multiple libnet_ifaddrlist(), one for each OS family. The
changes in PR #150, fixing the aribtrary MAX IP address limit on LInux,
unfortunately broke all other operating systems.
This change is for the "other" operating system that are not Windows.
Tested on macOS.
Issue #150
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|
|
|
| |
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|\
| |
| |
| |
| | |
libnet_if_addr.c: fix segfault when number of IPs > 512
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
The current code has a hardcoded limit of 512 IP addresses.
The static array will be overflowed when more addresses are
present.
Fix the static limit by using realloc when the array needs to grow
to accomodate more interfaces.
Growing the array by a factor of 1.5 each time (close to golden ratio)
to maximize reuse of previously allocated space.
|
|\
| |
| |
| |
| | |
libnet_raw: don't change the TX buffer size for raw sockets
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
|/
|
|
|
|
|
|
| |
Instead of trying to set the max TX buffer size for every raw
socket, export this to a separate interface that can be used
when needed, called libnet_setfd_max_sndbuf().
Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
|