switch (*(u_int8_t*)(frame + f) & 0xC0) {
case 0x0:
chassis->c_med_pow_devicetype = LLDPMED_POW_TYPE_PSE;
+ chassis->c_med_cap_enabled |=
+ LLDPMED_CAP_MDI_PSE;
switch (*(u_int8_t*)(frame + f) & 0x30) {
case 0x0:
chassis->c_med_pow_source =
break;
case 0x40:
chassis->c_med_pow_devicetype = LLDPMED_POW_TYPE_PD;
+ chassis->c_med_cap_enabled |=
+ LLDPMED_CAP_MDI_PD;
switch (*(u_int8_t*)(frame + f) & 0x30) {
case 0x0:
chassis->c_med_pow_source =
chassis->c_med_pow_val =
ntohs(*(u_int16_t*)(frame + f));
f += 2;
- chassis->c_med_cap_enabled |=
- LLDPMED_CAP_MDI1 | LLDPMED_CAP_MDI2;
break;
case LLDP_TLV_MED_IV_HW:
case LLDP_TLV_MED_IV_SW:
#define LLDPMED_CAP_CAP 0x01
#define LLDPMED_CAP_POLICY 0x02
#define LLDPMED_CAP_LOCATION 0x04
-#define LLDPMED_CAP_MDI1 0x08
-#define LLDPMED_CAP_MDI2 0x10
+#define LLDPMED_CAP_MDI_PSE 0x08
+#define LLDPMED_CAP_MDI_PD 0x10
#define LLDPMED_CAP_IV 0x20
struct lldpmed_cap {
printf(" Policy");
if (chassis->c_med_cap_enabled & LLDPMED_CAP_LOCATION)
printf(" Location");
- if (chassis->c_med_cap_enabled & (LLDPMED_CAP_MDI1 | LLDPMED_CAP_MDI2))
- printf(" MDI");
+ if (chassis->c_med_cap_enabled & LLDPMED_CAP_MDI_PSE)
+ printf(" MDI/PSE");
+ if (chassis->c_med_cap_enabled & LLDPMED_CAP_MDI_PD)
+ printf(" MDI/PD");
if (chassis->c_med_cap_enabled & LLDPMED_CAP_IV)
printf(" Inventory");
printf("\n");