aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--capture-wpcap.c3
-rw-r--r--epan/column.c12
-rw-r--r--epan/column_info.h1
-rw-r--r--epan/dissectors/packet-frame.c7
4 files changed, 22 insertions, 1 deletions
diff --git a/capture-wpcap.c b/capture-wpcap.c
index b61b6c0e23..5d0902bb2c 100644
--- a/capture-wpcap.c
+++ b/capture-wpcap.c
@@ -359,6 +359,9 @@ static struct dlt_choice dlt_choices[] = {
#ifdef DLT_LINUX_IRDA
DLT_CHOICE(DLT_LINUX_IRDA, "Linux IrDA"),
#endif
+#ifdef DLT_LINUX_LAPD
+ DLT_CHOICE(DLT_LINUX_LAPD, "Linux vISDN LAPD"),
+#endif
#ifdef DLT_LANE8023
DLT_CHOICE(DLT_LANE8023, "Linux 802.3 LANE"),
#endif
diff --git a/epan/column.c b/epan/column.c
index 138d2822b8..b3d956aa96 100644
--- a/epan/column.c
+++ b/epan/column.c
@@ -50,7 +50,7 @@ col_format_to_string(gint fmt) {
"%rd", "%ud", "%hd", "%rhd", "%uhd", "%nd", "%rnd",
"%und", "%S", "%rS", "%uS", "%D", "%rD", "%uD", "%p",
"%i", "%L", "%B", "%XO", "%XR", "%I", "%c", "%Xs",
- "%Xd", "%V", "%x", "%e", "%H", "%P", "%y", "%v"
+ "%Xd", "%V", "%x", "%e", "%H", "%P", "%y", "%v", "%E"
};
if (fmt < 0 || fmt >= NUM_COL_FMTS)
@@ -109,6 +109,7 @@ static const gchar *dlist[NUM_COL_FMTS] = {
"HP-UX Device ID",
"DCE/RPC call (cn_call_id / dg_seqnum)",
"802.1Q VLAN id",
+ "TEI",
};
const gchar *
@@ -209,6 +210,9 @@ get_column_format_matches(gboolean *fmt_list, gint format) {
case COL_8021Q_VLAN_ID:
fmt_list[COL_8021Q_VLAN_ID] = TRUE;
break;
+ case COL_TEI:
+ fmt_list[COL_TEI] = TRUE;
+ break;
default:
break;
}
@@ -429,6 +433,9 @@ get_column_longest_string(gint format)
case COL_8021Q_VLAN_ID:
return "0000";
break;
+ case COL_TEI:
+ return "127";
+ break;
default: /* COL_INFO */
return "Source port: kerberos-master Destination port: kerberos-master";
break;
@@ -578,6 +585,9 @@ get_column_format_from_str(gchar *str) {
case 'v':
return COL_8021Q_VLAN_ID;
break;
+ case 'E':
+ return COL_TEI;
+ break;
}
cptr++;
}
diff --git a/epan/column_info.h b/epan/column_info.h
index 7e510dab49..3796f42658 100644
--- a/epan/column_info.h
+++ b/epan/column_info.h
@@ -99,6 +99,7 @@ enum {
COL_HPUX_DEVID, /* HP-UX Nettl Device ID */
COL_DCE_CALL, /* DCE/RPC call id OR datagram sequence number */
COL_8021Q_VLAN_ID, /* 802.1Q vlan ID */
+ COL_TEI, /* q.921 TEI */
NUM_COL_FMTS /* Should always be last */
};
diff --git a/epan/dissectors/packet-frame.c b/epan/dissectors/packet-frame.c
index 37e66c8587..3929956a4c 100644
--- a/epan/dissectors/packet-frame.c
+++ b/epan/dissectors/packet-frame.c
@@ -141,6 +141,13 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
pinfo->p2p_dir = pinfo->pseudo_header->isdn.uton ?
P2P_DIR_SENT : P2P_DIR_RECV;
break;
+
+ case WTAP_ENCAP_LINUX_LAPD:
+ pinfo->p2p_dir = (pinfo->pseudo_header->lapd.pkttype == 3 ||
+ pinfo->pseudo_header->lapd.pkttype == 4) ?
+ P2P_DIR_SENT : P2P_DIR_RECV;
+ break;
+
case WTAP_ENCAP_MTP2_WITH_PHDR:
pinfo->p2p_dir = pinfo->pseudo_header->mtp2.sent ?
P2P_DIR_SENT : P2P_DIR_RECV;