summaryrefslogtreecommitdiff
path: root/include/libnet/libnet-structures.h
diff options
context:
space:
mode:
authorValery Ivanov <ivalery111@gmail.com>2023-04-16 20:46:29 +0300
committerValery Ivanov <ivalery111@gmail.com>2023-05-03 22:01:02 +0300
commit4b3af3b99e5ccb82a66f5f961cc603ed16e7cb87 (patch)
tree812bbf7f2eb20c04a0ed834692f69581b8ef0e00 /include/libnet/libnet-structures.h
parentb19e727ab52d4cd1c54f725c7d30e0c3db669c36 (diff)
downloadlibnet-4b3af3b99e5ccb82a66f5f961cc603ed16e7cb87.tar.gz
udld: initial support
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>
Diffstat (limited to 'include/libnet/libnet-structures.h')
-rw-r--r--include/libnet/libnet-structures.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/libnet/libnet-structures.h b/include/libnet/libnet-structures.h
index 4fc135e..a733ecb 100644
--- a/include/libnet/libnet-structures.h
+++ b/include/libnet/libnet-structures.h
@@ -162,6 +162,14 @@ struct libnet_protocol_block
#define LIBNET_PBLOCK_LLDP_TTL_H 0x53 /* LLDP TTL header */
#define LIBNET_PBLOCK_LLDP_END_H 0x54 /* LLDP End of LLDPDU header */
#define LIBNET_PBLOCK_LLDP_ORG_SPEC_H 0x55 /* LLDP Organization Specific header */
+#define LIBNET_PBLOCK_UDLD_H 0x56 /* UDLD header */
+#define LIBNET_PBLOCK_UDLD_DEVICE_ID_H 0x57 /* UDLD Device ID header*/
+#define LIBNET_PBLOCK_UDLD_PORT_ID_H 0x58 /* UDLD Port ID header */
+#define LIBNET_PBLOCK_UDLD_ECHO_H 0x59 /* UDLD Echo ID header */
+#define LIBNET_PBLOCK_UDLD_MSG_INTERVAL_H 0x60 /* UDLD Message Interval header */
+#define LIBNET_PBLOCK_UDLD_TMT_INTERVAL_H 0x61 /* UDLD Timeout Interval header */
+#define LIBNET_PBLOCK_UDLD_DEVICE_NAME_H 0x62 /* UDLD Device Name header*/
+#define LIBNET_PBLOCK_UDLD_SEQ_NUMBER_H 0x63 /* UDLD Sequence Number header */
uint8_t flags; /* control flags */
#define LIBNET_PBLOCK_DO_CHECKSUM 0x01 /* needs a checksum */