#define TLV_TCHECK(minlen) \
ND_TCHECK_LEN(tptr, minlen); if (tlv_tlen < minlen) goto badtlv;
#define TLV_TCHECK(minlen) \
ND_TCHECK_LEN(tptr, minlen); if (tlv_tlen < minlen) goto badtlv;
ldp_tlv_header = (const struct ldp_tlv_header *)tptr;
ND_TCHECK_SIZE(ldp_tlv_header);
tlv_len=GET_BE_U_2(ldp_tlv_header->length);
ldp_tlv_header = (const struct ldp_tlv_header *)tptr;
ND_TCHECK_SIZE(ldp_tlv_header);
tlv_len=GET_BE_U_2(ldp_tlv_header->length);
ldp_print(netdissect_options *ndo,
const u_char *pptr, u_int len)
{
ldp_print(netdissect_options *ndo,
const u_char *pptr, u_int len)
{
ndo->ndo_protocol = "ldp";
while (len > (sizeof(struct ldp_common_header) + sizeof(struct ldp_msg_header))) {
processed = ldp_pdu_print(ndo, pptr);
if (processed == 0)
return;
ndo->ndo_protocol = "ldp";
while (len > (sizeof(struct ldp_common_header) + sizeof(struct ldp_msg_header))) {
processed = ldp_pdu_print(ndo, pptr);
if (processed == 0)
return;
const struct ldp_msg_header *ldp_msg_header;
const u_char *tptr,*msg_tptr;
u_short tlen;
const struct ldp_msg_header *ldp_msg_header;
const u_char *tptr,*msg_tptr;
u_short tlen;