1 /* -*- mode: c; c-file-style: "openbsd" -*- */
3 * Copyright (c) 2012 Vincent Bernat <bernat@luffy.cx>
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21 #define LLDP_MULTICAST_ADDR { \
22 0x01, 0x80, 0xc2, 0x00, 0x00, 0x0e \
25 #define LLDP_TLV_END 0
26 #define LLDP_TLV_CHASSIS_ID 1
27 #define LLDP_TLV_PORT_ID 2
28 #define LLDP_TLV_TTL 3
29 #define LLDP_TLV_PORT_DESCR 4
30 #define LLDP_TLV_SYSTEM_NAME 5
31 #define LLDP_TLV_SYSTEM_DESCR 6
32 #define LLDP_TLV_SYSTEM_CAP 7
33 #define LLDP_TLV_MGMT_ADDR 8
34 #define LLDP_TLV_ORG 127
36 #define LLDP_TLV_ORG_DOT1 {0x00, 0x80, 0xc2}
37 #define LLDP_TLV_ORG_DOT3 {0x00, 0x12, 0x0f}
38 #define LLDP_TLV_ORG_MED {0x00, 0x12, 0xbb}
39 #define LLDP_TLV_ORG_AVAYA {0x00, 0x04, 0x0D}
40 #define LLDP_TLV_ORG_DCBX {0x00, 0x1b, 0x21}
42 #define LLDP_TLV_DOT1_PVID 1
43 #define LLDP_TLV_DOT1_PPVID 2
44 #define LLDP_TLV_DOT1_VLANNAME 3
45 #define LLDP_TLV_DOT1_PI 4
47 #define LLDP_TLV_DOT3_MAC 1
48 #define LLDP_TLV_DOT3_POWER 2
49 #define LLDP_TLV_DOT3_LA 3
50 #define LLDP_TLV_DOT3_MFS 4
52 #define LLDP_TLV_MED_CAP 1
53 #define LLDP_TLV_MED_POLICY 2
54 #define LLDP_TLV_MED_LOCATION 3
55 #define LLDP_TLV_MED_MDI 4
56 #define LLDP_TLV_MED_IV_HW 5
57 #define LLDP_TLV_MED_IV_FW 6
58 #define LLDP_TLV_MED_IV_SW 7
59 #define LLDP_TLV_MED_IV_SN 8
60 #define LLDP_TLV_MED_IV_MANUF 9
61 #define LLDP_TLV_MED_IV_MODEL 10
62 #define LLDP_TLV_MED_IV_ASSET 11
64 #define LLDP_TLV_AA_ELEMENT_SUBTYPE 0x0b
65 #define LLDP_TLV_AA_ISID_VLAN_ASGNS_SUBTYPE 0x0c
66 #define LLDP_TLV_AA_ISID_VLAN_DIGEST_LENGTH 32
68 #define LLDP_TLV_AA_ELEM_TYPE_UNKNOWN 1
69 #define LLDP_TLV_AA_ELEM_TYPE_SERVER 2
70 #define LLDP_TLV_AA_ELEM_TYPE_PROXY 3
71 #define LLDP_TLV_AA_ELEM_TYPE_SERV_NO_AUTH 4
72 #define LLDP_TLV_AA_ELEM_TYPE_PROXY_NO_AUTH 5
73 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_WIRELESS_ACCESS_POINT_TYPE1 6
74 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_WIRELESS_ACCESS_POINT_TYPE2 7
75 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_SWITCH 8
76 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_ROUTER 9
77 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_IP_PHONE 10
78 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_IP_CAMERA 11
79 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_IP_VIDEO 12
80 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_SECURITY_DEVICE 13
81 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_VIRTUAL_SWITCH 14
82 #define LLDP_TLV_AA_ELEM_TYPE_CLIENT_SERVER_ENDPOINT 15
84 #define LLDP_TLV_AA_ELEM_CONN_TYPE_SINGLE 0
85 #define LLDP_TLV_AA_ELEM_CONN_TYPE_MLT 1
86 #define LLDP_TLV_AA_ELEM_CONN_TYPE_SLT 2
87 #define LLDP_TLV_AA_ELEM_CONN_TYPE_SMLT 3