value |= LLDP_CAP_DOCSIS;
} else if (!strcmp(token, "station")) {
value |= LLDP_CAP_STATION;
+ } else if (!strcmp(token, "cvlan")) {
+ value |= LLDP_CAP_CVLAN;
+ } else if (!strcmp(token, "svlan")) {
+ value |= LLDP_CAP_SVLAN;
+ } else if (!strcmp(token, "tpmr")) {
+ value |= LLDP_CAP_TPMRCOMP;
} else {
log_warnx("lldpctl", "capability %s not found",
token);
#include "client.h"
static void
-display_cap(struct writer *w, lldpctl_atom_t *chassis, u_int8_t bit, const char *symbol)
+display_cap(struct writer *w, lldpctl_atom_t *chassis, u_int16_t bit,
+ const char *symbol)
{
if (lldpctl_atom_get_int(chassis, lldpctl_k_chassis_cap_available) & bit) {
tag_start(w, "capability", "Capability");
display_cap(w, chassis, LLDP_CAP_TELEPHONE, "Tel");
display_cap(w, chassis, LLDP_CAP_DOCSIS, "Docsis");
display_cap(w, chassis, LLDP_CAP_STATION, "Station");
+ display_cap(w, chassis, LLDP_CAP_CVLAN, "CVLAN");
+ display_cap(w, chassis, LLDP_CAP_SVLAN, "SVLAN");
+ display_cap(w, chassis, LLDP_CAP_TPMRCOMP, "TPMR");
tag_end(w);
}
#define LLDP_CAP_TELEPHONE 0x20
#define LLDP_CAP_DOCSIS 0x40
#define LLDP_CAP_STATION 0x80
+#define LLDP_CAP_CVLAN 0x100
+#define LLDP_CAP_SVLAN 0x200
+#define LLDP_CAP_TPMRCOMP 0x400
#define LLDP_PPVID_CAP_SUPPORTED (1 << 1)
#define LLDP_PPVID_CAP_ENABLED (1 << 2)