r = lldp_tlv_packet_enter_container(tlv, type);
if (r < 0)
- goto out;
+ return r;
r = tlv_packet_read_u16(tlv, value);
r2 = lldp_tlv_packet_exit_container(tlv);
- out:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container(tlv, LLDP_TYPE_CHASSIS_ID);
if (r < 0)
- goto out2;
+ return r;
r = tlv_packet_read_u8(tlv, &subtype);
if (r < 0)
- goto out1;
+ goto out;
switch (subtype) {
case LLDP_CHASSIS_SUBTYPE_MAC_ADDRESS:
r = tlv_packet_read_bytes(tlv, data, length);
if (r < 0)
- goto out1;
+ goto out;
break;
default:
*type = subtype;
- out1:
+ out:
r2 = lldp_tlv_packet_exit_container(tlv);
- out2:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container(tlv, LLDP_TYPE_PORT_ID);
if (r < 0)
- goto out2;
+ return r;
r = tlv_packet_read_u8(tlv, &subtype);
if (r < 0)
- goto out1;
+ goto out;
switch (subtype) {
case LLDP_PORT_SUBTYPE_PORT_COMPONENT:
r = tlv_packet_read_string(tlv, &s, length);
if (r < 0)
- goto out1;
+ goto out;
*data = (uint8_t *) s;
r = tlv_packet_read_bytes(tlv, data, length);
if (r < 0)
- goto out1;
+ goto out;
break;
default:
*type = subtype;
- out1:
+ out:
r2 = lldp_tlv_packet_exit_container(tlv);
- out2:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container_oui(tlv, LLDP_OUI_802_1, LLDP_OUI_SUBTYPE_802_1_PORT_VLAN_ID);
if (r < 0)
- goto out;
+ return r;
r = tlv_packet_read_u16(tlv, id);
r2 = lldp_tlv_packet_exit_container(tlv);
- out:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container_oui(tlv, LLDP_OUI_802_1, LLDP_OUI_SUBTYPE_802_1_PORT_PROTOCOL_VLAN_ID);
if (r < 0)
- goto out;
+ return r;
r = tlv_packet_read_u8(tlv, flags);
if (r >= 0)
r2 = lldp_tlv_packet_exit_container(tlv);
- out:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container_oui(tlv, LLDP_OUI_802_1, LLDP_OUI_SUBTYPE_802_1_VLAN_NAME);
if (r < 0)
- goto out;
+ return r;
r = tlv_packet_read_u16(tlv, vlan_id);
if (r >= 0)
r2 = lldp_tlv_packet_exit_container(tlv);
- out:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container_oui(tlv, LLDP_OUI_802_1, LLDP_OUI_SUBTYPE_802_1_MANAGEMENT_VID);
if (r < 0)
- goto out;
+ return r;
r = tlv_packet_read_u16(tlv, id);
r2 = lldp_tlv_packet_exit_container(tlv);
- out:
return r < 0 ? r : r2;
}
r = lldp_tlv_packet_enter_container_oui(tlv, LLDP_OUI_802_1, LLDP_OUI_SUBTYPE_802_1_LINK_AGGREGATION);
if (r < 0)
- goto out;
+ return r;
r = tlv_packet_read_u8(tlv, status);
if (r >= 0)
r2 = lldp_tlv_packet_exit_container(tlv);
- out:
return r < 0 ? r : r2;
}