-static void l2tp_msgtype_print(const u_char *dat, u_int length);
-static void l2tp_result_code_print(const u_char *dat, u_int length);
-static void l2tp_proto_ver_print(const u_char *dat, u_int length);
-static void l2tp_framing_cap_print(const u_char *dat, u_int length);
-static void l2tp_bearer_cap_print(const u_char *dat, u_int length);
-static void l2tp_tie_breaker_print(const u_char *dat, u_int length);
-static void l2tp_firm_ver_print(const u_char *dat, u_int length);
-static void l2tp_host_name_print(const u_char *dat, u_int length);
-static void l2tp_vendor_name_print(const u_char *dat, u_int length);
-static void l2tp_assnd_tun_id_print(const u_char *dat, u_int length);
-static void l2tp_recv_win_size_print(const u_char *dat, u_int length);
-static void l2tp_challenge_print(const u_char *dat, u_int length);
-static void l2tp_q931_cc_print(const u_char *dat, u_int length);
-static void l2tp_challenge_resp_print(const u_char *dat, u_int length);
-static void l2tp_assnd_sess_id_print(const u_char *dat, u_int length);
-static void l2tp_call_ser_num_print(const u_char *dat, u_int length);
-static void l2tp_minimum_bps_print(const u_char *dat, u_int length);
-static void l2tp_maximum_bps_print(const u_char *dat, u_int length);
-static void l2tp_bearer_type_print(const u_char *dat, u_int length);
-static void l2tp_framing_type_print(const u_char *dat, u_int length);
-static void l2tp_packet_proc_delay_print(const u_char *dat, u_int length);
-static void l2tp_called_number_print(const u_char *dat, u_int length);
-static void l2tp_calling_number_print(const u_char *dat, u_int length);
-static void l2tp_sub_address_print(const u_char *dat, u_int length);
-static void l2tp_tx_conn_speed_print(const u_char *dat, u_int length);
-static void l2tp_phy_channel_id_print(const u_char *dat, u_int length);
-static void l2tp_ini_recv_lcp_print(const u_char *dat, u_int length);
-static void l2tp_last_sent_lcp_print(const u_char *dat, u_int length);
-static void l2tp_last_recv_lcp_print(const u_char *dat, u_int length);
-static void l2tp_proxy_auth_type_print(const u_char *dat, u_int length);
-static void l2tp_proxy_auth_name_print(const u_char *dat, u_int length);
-static void l2tp_proxy_auth_chal_print(const u_char *dat, u_int length);
-static void l2tp_proxy_auth_id_print(const u_char *dat, u_int length);
-static void l2tp_proxy_auth_resp_print(const u_char *dat, u_int length);
-static void l2tp_call_errors_print(const u_char *dat, u_int length);
-static void l2tp_accm_print(const u_char *dat, u_int length);
-static void l2tp_random_vector_print(const u_char *dat, u_int length);
-static void l2tp_private_grp_id_print(const u_char *dat, u_int length);
-static void l2tp_rx_conn_speed_print(const u_char *dat, u_int length);
-static void l2tp_seq_required_print(const u_char *dat, u_int length);
-static void l2tp_avp_print(const u_char *dat, u_int length);
-
-static struct l2tp_avp_vec l2tp_avp[] = {
- {"MSGTYPE", l2tp_msgtype_print}, /* 0 Message Type */
- {"RESULT_CODE", l2tp_result_code_print}, /* 1 Result Code */
- {"PROTO_VER", l2tp_proto_ver_print}, /* 2 Protocol Version */
- {"FRAMING_CAP", l2tp_framing_cap_print}, /* 3 Framing Capabilities */
- {"BEARER_CAP", l2tp_bearer_cap_print}, /* 4 Bearer Capabilities */
- {"TIE_BREAKER", l2tp_tie_breaker_print}, /* 5 Tie Breaker */
- {"FIRM_VER", l2tp_firm_ver_print}, /* 6 Firmware Revision */
- {"HOST_NAME", l2tp_host_name_print}, /* 7 Host Name */
- {"VENDOR_NAME", l2tp_vendor_name_print}, /* 8 Vendor Name */
- {"ASSND_TUN_ID", l2tp_assnd_tun_id_print}, /* 9 Assigned Tunnel ID */
- {"RECV_WIN_SIZE", l2tp_recv_win_size_print}, /* 10 Receive Window Size */
- {"CHALLENGE", l2tp_challenge_print}, /* 11 Challenge */
- {"Q931_CC", l2tp_q931_cc_print}, /* 12 Q.931 Cause Code */
- {"CHALLENGE_RESP", l2tp_challenge_resp_print},/* 13 Challenge Response */
- {"ASSND_SESS_ID", l2tp_assnd_sess_id_print}, /* 14 Assigned Session ID */
- {"CALL_SER_NUM", l2tp_call_ser_num_print}, /* 15 Call Serial Number */
- {"MINIMUM_BPS", l2tp_minimum_bps_print},/* 16 Minimum BPS */
- {"MAXIMUM_BPS", l2tp_maximum_bps_print}, /* 17 Maximum BPS */
- {"BEARER_TYPE", l2tp_bearer_type_print},/* 18 Bearer Type */
- {"FRAMING_TYPE", l2tp_framing_type_print}, /* 19 Framing Type */
- {"PACKET_PROC_DELAY", l2tp_packet_proc_delay_print}, /* 20 Packet Processing Delay (OBSOLETE) */
- {"CALLED_NUMBER", l2tp_called_number_print}, /* 21 Called Number */
- {"CALLING_NUMBER", l2tp_calling_number_print},/* 22 Calling Number */
- {"SUB_ADDRESS", l2tp_sub_address_print},/* 23 Sub-Address */
- {"TX_CONN_SPEED", l2tp_tx_conn_speed_print}, /* 24 (Tx) Connect Speed */
- {"PHY_CHANNEL_ID", l2tp_phy_channel_id_print},/* 25 Physical Channel ID */
- {"INI_RECV_LCP", l2tp_ini_recv_lcp_print}, /* 26 Initial Received LCP CONFREQ */
- {"LAST_SENT_LCP", l2tp_last_sent_lcp_print}, /* 27 Last Sent LCP CONFREQ */
- {"LAST_RECV_LCP", l2tp_last_recv_lcp_print}, /* 28 Last Received LCP CONFREQ */
- {"PROXY_AUTH_TYPE", l2tp_proxy_auth_type_print},/* 29 Proxy Authen Type */
- {"PROXY_AUTH_NAME", l2tp_proxy_auth_name_print},/* 30 Proxy Authen Name */
- {"PROXY_AUTH_CHAL", l2tp_proxy_auth_chal_print},/* 31 Proxy Authen Challenge */
- {"PROXY_AUTH_ID", l2tp_proxy_auth_id_print}, /* 32 Proxy Authen ID */
- {"PROXY_AUTH_RESP", l2tp_proxy_auth_resp_print},/* 33 Proxy Authen Response */
- {"CALL_ERRORS", l2tp_call_errors_print}, /* 34 Call Errors */
- {"ACCM", l2tp_accm_print}, /* 35 ACCM */
- {"RANDOM_VECTOR", l2tp_random_vector_print}, /* 36 Random Vector */
- {"PRIVATE_GRP_ID", l2tp_private_grp_id_print},/* 37 Private Group ID */
- {"RX_CONN_SPEED", l2tp_rx_conn_speed_print}, /* 38 (Rx) Connect Speed */
- {"SEQ_REQUIRED", l2tp_seq_required_print}, /* 39 Sequencing Required */
-#define L2TP_MAX_AVP_INDEX 40