Index: gtk/io_stat.c
===================================================================
--- gtk/io_stat.c	(revision 36719)
+++ gtk/io_stat.c	(working copy)
@@ -74,7 +74,7 @@
 static guint32 pixels_per_tick[MAX_PIXELS_PER_TICK] = {1, 2, 5, 10};
 
 
-#define DEFAULT_PLOT_STYLE	0
+#define DEFAULT_PLOT_STYLE	2
 #define PLOT_STYLE_LINE		0
 #define PLOT_STYLE_IMPULSE	1
 #define PLOT_STYLE_FILLED_BAR	2
@@ -691,7 +691,7 @@
 static void
 io_stat_draw(io_stat_t *io)
 {
-	int i, tics, ystart, ys;
+	int i, graph_no, tics, ystart, ys;
 	guint32 last_interval, first_interval, interval_delta;
 	gint32 current_interval;
 	guint32 top_y_border;
@@ -869,83 +869,86 @@
 	 * Draw the y axis and labels
 	 * (we always draw the y scale with 11 ticks along the axis)
 	 */
-	gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
-		io->pixmap_width-io->right_x_border+1,
-		top_y_border,
-		io->pixmap_width-io->right_x_border+1,
-		io->pixmap_height-bottom_y_border);
+    for(graph_no = 0; graph_no < MAX_GRAPHS; graph_no++) {
+        gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
+            io->pixmap_width-io->right_x_border+1,
+            top_y_border+draw_height*graph_no/MAX_GRAPHS,
+            io->pixmap_width-io->right_x_border+1,
+            draw_height*(graph_no+1)/MAX_GRAPHS
+            );
 
-	if(io->max_y_units==LOGARITHMIC_YSCALE){
-		tics=(int)log10((double)max_y);
-		ystart=draw_height/10;
-		ys=-1;
-	} else {
-		tics=10;
-		ystart=ys=0;
-	}
+        if(io->max_y_units==LOGARITHMIC_YSCALE){
+            tics=(int)log10((double)max_y);
+            ystart=draw_height/10;
+            ys=-1;
+        } else {
+            tics=10;
+            ystart=ys=0;
+        }
 
-	for(i=ys;i<=tics;i++){
-		int xwidth, lwidth, ypos;
+        for(i=ys;i<=tics;i++){
+            int xwidth, lwidth, ypos;
 
-		xwidth=5;
-		if(io->max_y_units==LOGARITHMIC_YSCALE){
-			if(i==ys) {
-				/* position for the 0 value */
-				ypos=io->pixmap_height-bottom_y_border;
-			} else if(i==tics) {
-				/* position for the top value, do not draw logarithmic tics above graph */
-				ypos=io->pixmap_height-bottom_y_border-draw_height;
-			} else {
-				int j;
-				/* draw the logarithmic tics */
-				for(j=2;j<10;j++) {
-					ypos=(int)(io->pixmap_height-bottom_y_border-(draw_height-ystart)*(i+log10((double)j))/tics-ystart);
-					/* draw the tick */
-					gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
-						      io->pixmap_width-io->right_x_border+1, ypos,
-						      io->pixmap_width-io->right_x_border+1+xwidth, ypos);
-				}
-				ypos=io->pixmap_height-bottom_y_border-(draw_height-ystart)*i/tics-ystart;
-			}
-			/* all "main" logarithmic lines are slightly longer */
-			xwidth=10;
-		} else {
-			if(!(i%5)){
-				/* first, middle and last tick are slightly longer */
-				xwidth=10;
-			}
-			ypos=io->pixmap_height-bottom_y_border-draw_height*i/10;
-		}
-		/* draw the tick */
-		gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
-			      io->pixmap_width-io->right_x_border+1, ypos,
-			      io->pixmap_width-io->right_x_border+1+xwidth, ypos);
-		/* draw the labels */
-		if(xwidth==10) {
-			guint32 value;
-			if(io->max_y_units==LOGARITHMIC_YSCALE){
-				value=(guint32)(max_y/pow(10,tics-i));
-				if(draw_y_as_time){
-					print_time_scale_string(label_string, 15, value, value, TRUE);
-				} else {
-					g_snprintf(label_string, 15, "%d", value);
-				}
-			} else {
-				value=(max_y/10)*i;
-				if(draw_y_as_time){
-					print_time_scale_string(label_string, 15, value, max_y, FALSE);
-				} else {
-					g_snprintf(label_string, 15, "%d", value);
-				}
-			}
+            xwidth=5;
+            if(io->max_y_units==LOGARITHMIC_YSCALE){
+                if(i==ys) {
+                    /* position for the 0 value */
+                    ypos=io->pixmap_height-bottom_y_border;
+                } else if(i==tics) {
+                    /* position for the top value, do not draw logarithmic tics above graph */
+                    ypos=io->pixmap_height-bottom_y_border-draw_height;
+                } else {
+                    int j;
+                    /* draw the logarithmic tics */
+                    for(j=2;j<10;j++) {
+                        ypos=(int)(io->pixmap_height-bottom_y_border-(draw_height-ystart)*(i+log10((double)j))/tics-ystart);
+                        /* draw the tick */
+                        gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
+                                io->pixmap_width-io->right_x_border+1, ypos,
+                                io->pixmap_width-io->right_x_border+1+xwidth, ypos);
+                    }
+                    ypos=io->pixmap_height-bottom_y_border-(draw_height-ystart)*i/tics-ystart;
+                }
+                /* all "main" logarithmic lines are slightly longer */
+                xwidth=10;
+            } else {
+                if(!(i%5)){
+                    /* first, middle and last tick are slightly longer */
+                    xwidth=10;
+                }
+                ypos=draw_height*(graph_no+1)/MAX_GRAPHS-((draw_height/MAX_GRAPHS)-top_y_border)*i/tics;
+            }
+            /* draw the tick */
+            gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
+                    io->pixmap_width-io->right_x_border+1, ypos,
+                    io->pixmap_width-io->right_x_border+1+xwidth, ypos);
+            /* draw the labels */
+            if(xwidth==10) {
+                guint32 value;
+                if(io->max_y_units==LOGARITHMIC_YSCALE){
+                    value=(guint32)(max_y/pow(10,tics-i));
+                    if(draw_y_as_time){
+                        print_time_scale_string(label_string, 15, value, value, TRUE);
+                    } else {
+                        g_snprintf(label_string, 15, "%d", value);
+                    }
+                } else {
+                    value=(max_y/10)*i;
+                    if(draw_y_as_time){
+                        print_time_scale_string(label_string, 15, value, max_y, FALSE);
+                    } else {
+                        g_snprintf(label_string, 15, "%d", value);
+                    }
+                }
 
-	                pango_layout_set_text(layout, label_string, -1);
-	                pango_layout_get_pixel_size(layout, &lwidth, NULL);
-			gdk_draw_layout(io->pixmap,
-					io->draw_area->style->black_gc,
-					io->pixmap_width-io->right_x_border+15+label_width-lwidth,
-					ypos-label_height/2,
-	                                layout);
+                pango_layout_set_text(layout, label_string, -1);
+                pango_layout_get_pixel_size(layout, &lwidth, NULL);
+                gdk_draw_layout(io->pixmap,
+                        io->draw_area->style->black_gc,
+                        io->pixmap_width-io->right_x_border+15+label_width-lwidth,
+                        ypos-label_height/2,
+                        layout);
+            }
 		}
 	}
 
@@ -966,61 +969,68 @@
 
 /*XXX*/
 	/* plot the x-scale */
-	gdk_draw_line(io->pixmap, io->draw_area->style->black_gc, io->left_x_border, io->pixmap_height-bottom_y_border+1, io->pixmap_width-io->right_x_border+1, io->pixmap_height-bottom_y_border+1);
+    for(graph_no = 0; graph_no < MAX_GRAPHS; graph_no++) {
+        gdk_draw_line(io->pixmap,
+                io->draw_area->style->black_gc,
+                io->left_x_border,
+                1+draw_height*(graph_no+1)/MAX_GRAPHS,
+                io->pixmap_width-io->right_x_border+1,
+                1+draw_height*(graph_no+1)/MAX_GRAPHS);
 
-	if((last_interval/io->interval)>=draw_width/io->pixels_per_tick){
-		first_interval=(last_interval/io->interval)-draw_width/io->pixels_per_tick+1;
-		first_interval*=io->interval;
-	} else {
-		first_interval=0;
-	}
+        if((last_interval/io->interval)>=draw_width/io->pixels_per_tick){
+            first_interval=(last_interval/io->interval)-draw_width/io->pixels_per_tick+1;
+            first_interval*=io->interval;
+        } else {
+            first_interval=0;
+        }
 
-	interval_delta=(100/io->pixels_per_tick)*io->interval;
-	for(current_interval=last_interval;current_interval>=(gint32)first_interval;current_interval=current_interval-io->interval){
-		int x, xlen;
+        interval_delta=(100/io->pixels_per_tick)*io->interval;
+        for(current_interval=last_interval;current_interval>=(gint32)first_interval;current_interval=current_interval-io->interval){
+            int x, xlen;
 
-		/* if pixels_per_tick is 1 or 2, only draw every 10 ticks */
-		/* if pixels_per_tick is 5, only draw every 5 ticks */
-		if(((io->pixels_per_tick<5) && (current_interval%(10*io->interval))) ||
-		   ((io->pixels_per_tick==5) && (current_interval%(5*io->interval)))){
-			continue;
-		}
+            /* if pixels_per_tick is 1 or 2, only draw every 10 ticks */
+            /* if pixels_per_tick is 5, only draw every 5 ticks */
+            if(((io->pixels_per_tick<5) && (current_interval%(10*io->interval))) ||
+                    ((io->pixels_per_tick==5) && (current_interval%(5*io->interval)))){
+                continue;
+            }
 
-		if(!(current_interval%interval_delta)){
-			xlen=10;
-		} else if(!(current_interval%(interval_delta/2))){
-			xlen=8;
-		} else {
-			xlen=5;
-		}
+            if(!(current_interval%interval_delta)){
+                xlen=10;
+            } else if(!(current_interval%(interval_delta/2))){
+                xlen=8;
+            } else {
+                xlen=5;
+            }
 
-		x=draw_width+io->left_x_border-((last_interval-current_interval)/io->interval)*io->pixels_per_tick;
-		gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
-			x-1-io->pixels_per_tick/2,
-			io->pixmap_height-bottom_y_border+1,
-			x-1-io->pixels_per_tick/2,
-			io->pixmap_height-bottom_y_border+xlen+1);
+            x=draw_width+io->left_x_border-((last_interval-current_interval)/io->interval)*io->pixels_per_tick;
+            gdk_draw_line(io->pixmap, io->draw_area->style->black_gc,
+                    x-1-io->pixels_per_tick/2,
+                    draw_height+1,
+                    x-1-io->pixels_per_tick/2,
+                    draw_height+1);
 
-		if(xlen==10){
-			int lwidth, x_pos;
-			print_interval_string (label_string, 15, current_interval, io, TRUE);
-			pango_layout_set_text(layout, label_string, -1);
-			pango_layout_get_pixel_size(layout, &lwidth, NULL);
+            if(xlen==10){
+                int lwidth, x_pos;
+                print_interval_string (label_string, 15, current_interval, io, TRUE);
+                pango_layout_set_text(layout, label_string, -1);
+                pango_layout_get_pixel_size(layout, &lwidth, NULL);
 
-			if ((x-1-io->pixels_per_tick/2-lwidth/2) < 5) {
-				x_pos=5;
-			} else if ((x-1-io->pixels_per_tick/2+lwidth/2) > (io->pixmap_width-5)) {
-				x_pos=io->pixmap_width-lwidth-5;
-			} else {
-				x_pos=x-1-io->pixels_per_tick/2-lwidth/2;
-			}
+                if ((x-1-io->pixels_per_tick/2-lwidth/2) < 5) {
+                    x_pos=5;
+                } else if ((x-1-io->pixels_per_tick/2+lwidth/2) > (io->pixmap_width-5)) {
+                    x_pos=io->pixmap_width-lwidth-5;
+                } else {
+                    x_pos=x-1-io->pixels_per_tick/2-lwidth/2;
+                }
 
-			gdk_draw_layout(io->pixmap,
-					io->draw_area->style->black_gc,
-					x_pos,
-					io->pixmap_height-bottom_y_border+15,
-					layout);
-		}
+                gdk_draw_layout(io->pixmap,
+                        io->draw_area->style->black_gc,
+                        x_pos,
+                        draw_height+15,
+                        layout);
+            }
+        }
 
 	}
 	g_object_unref(G_OBJECT(layout));
@@ -1049,7 +1059,7 @@
 				prev_y_pos=(guint32)((draw_height-ystart)-1-((log10((double)((gint64)val)))*(draw_height-ystart))/(log10((double)max_y))+top_y_border);
 			}
 		} else {
-			prev_y_pos=(guint32)(draw_height-1-(val*draw_height)/max_y+top_y_border);
+            prev_y_pos=(guint32)(draw_height/MAX_GRAPHS*(MAX_GRAPHS-i)-(val*(draw_height/MAX_GRAPHS-top_y_border)/max_y));
 		}
 
 		for(interval=first_interval;interval<last_interval;interval+=io->interval){
@@ -1065,7 +1075,7 @@
 					y_pos=(guint32)((draw_height-ystart)-1-((log10((double)((gint64)val)))*(draw_height-ystart))/(log10((double)max_y))+top_y_border);
 				}
 			} else {
-				y_pos=(guint32)(draw_height-1-(val*draw_height)/max_y+top_y_border);
+				y_pos=(guint32)(draw_height/MAX_GRAPHS*(MAX_GRAPHS-i)-(val*(draw_height/MAX_GRAPHS-top_y_border)/max_y));
 			}
 
 			switch(io->graphs[i].plot_style){
@@ -1082,7 +1092,7 @@
 			case PLOT_STYLE_IMPULSE:
 				if(val){
 					gdk_draw_line(io->pixmap, io->graphs[i].gc,
-						x_pos, draw_height-1+top_y_border,
+						x_pos, draw_height/MAX_GRAPHS*(MAX_GRAPHS-i)-1,
 						x_pos, y_pos);
 				}
 				break;
@@ -1093,7 +1103,7 @@
 						x_pos-io->pixels_per_tick/2,
 						y_pos,
 						io->pixels_per_tick,
-						draw_height-1+top_y_border-y_pos);
+                        (val*(draw_height-top_y_border)/MAX_GRAPHS)/max_y);
 				}
 				break;
 			case PLOT_STYLE_DOT:
@@ -1273,6 +1283,7 @@
 		io->graphs[i].filter_field=NULL;
 		io->graphs[i].advanced_buttons=NULL;
 		io->graphs[i].io=io;
+		io->graphs[i].plot_style=DEFAULT_PLOT_STYLE;
 
 		io->graphs[i].args=g_malloc(sizeof(construct_args_t));
 		io->graphs[i].args->title = NULL;
Index: epan/dissectors/packet-ieee802154.c
===================================================================
--- epan/dissectors/packet-ieee802154.c	(revision 36719)
+++ epan/dissectors/packet-ieee802154.c	(working copy)
@@ -168,6 +168,7 @@
 /* TODO: cleanup. */
 
 /* Dissection Routines. */
+static void dissect_ieee802154_phy_chan     (tvbuff_t *, packet_info *, proto_tree *);
 static void dissect_ieee802154_nonask_phy   (tvbuff_t *, packet_info *, proto_tree *);
 static void dissect_ieee802154              (tvbuff_t *, packet_info *, proto_tree *);
 static void dissect_ieee802154_nofcs        (tvbuff_t *, packet_info *, proto_tree *);
@@ -205,6 +206,10 @@
 static gboolean ccm_cbc_mac         (const gchar *, const gchar *, const gchar *, gint, const gchar *, gint, gchar *);
 
 /*  Initialize Protocol and Registered fields */
+static int proto_ieee802154_phy_chan = -1;
+static int hf_ieee802154_phy_chan_number = -1;
+static int hf_ieee802154_phy_chan_lqi = -1;
+
 static int proto_ieee802154_nonask_phy = -1;
 static int hf_ieee802154_nonask_phy_preamble = -1;
 static int hf_ieee802154_nonask_phy_sfd = -1;
@@ -274,6 +279,7 @@
 static int hf_ieee802154_aux_sec_key_index = -1;
 
 /*  Initialize Subtree Pointers */
+static gint ett_ieee802154_phy_chan = -1;
 static gint ett_ieee802154_nonask_phy = -1;
 static gint ett_ieee802154_nonask_phy_phr = -1;
 static gint ett_ieee802154 = -1;
@@ -492,6 +498,67 @@
 
 /*FUNCTION:------------------------------------------------------
  *  NAME
+ *      dissect_ieee802154_phy_chan
+ *  DESCRIPTION
+ *      Dissector for IEEE 802.15.4 packet with an FCS containing
+ *      a 16-bit CRC value. The channel number is prepended.
+ *
+ *  PARAMETERS
+ *      tvbuff_t *tvb       - pointer to buffer containing raw packet.
+ *      packet_info *pinfo  - pointer to packet information fields
+ *      proto_tree *tree    - pointer to data tree ethereal uses to display packet.
+ *  RETURNS
+ *      void
+ *---------------------------------------------------------------
+ */
+static void
+dissect_ieee802154_phy_chan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+    proto_tree          *ieee802154_tree = NULL;
+    proto_item          *proto_root = NULL;
+
+    guint offset=0;
+    guint8 chan_num;
+    guint8 lqi;
+    tvbuff_t* mac;
+
+    /* Create the protocol tree. */
+    if (tree) {
+        proto_root = proto_tree_add_protocol_format(tree, proto_ieee802154_phy_chan, tvb, 0, tvb_length(tvb), "IEEE 802.15.4 with PHY Channel Meta-Data");
+        ieee802154_tree = proto_item_add_subtree(proto_root, ett_ieee802154_phy_chan);
+    }
+
+    /* Add the protocol name. */
+    if(check_col(pinfo->cinfo, COL_PROTOCOL)){
+        col_set_str(pinfo->cinfo, COL_PROTOCOL, "IEEE 802.15.4 with PHY Channel Meta-Data");
+    }
+    /* Add the packet length. */
+    if(check_col(pinfo->cinfo, COL_PACKET_LENGTH)){
+        col_clear(pinfo->cinfo, COL_PACKET_LENGTH);
+        col_add_fstr(pinfo->cinfo, COL_PACKET_LENGTH, "%i", tvb_length(tvb));
+    }
+
+    chan_num=tvb_get_guint8(tvb,offset);
+    lqi=tvb_get_guint8(tvb,offset+sizeof(guint8));
+
+    if(tree) {
+        guint loffset=offset;
+
+        proto_tree_add_uint(ieee802154_tree, hf_ieee802154_phy_chan_number, tvb, loffset, sizeof(guint8), chan_num);
+        loffset+=sizeof(guint8);
+        proto_tree_add_uint(ieee802154_tree, hf_ieee802154_phy_chan_lqi, tvb, loffset, sizeof(guint8), lqi);
+        loffset+=sizeof(guint8);
+    }
+
+    offset+=2*sizeof(guint8);
+    mac=tvb_new_subset(tvb,offset,-1, -1);
+
+    /* Call the common dissector. */
+    dissect_ieee802154(mac, pinfo, ieee802154_tree);
+} /* dissect_ieee802154_phy_chan */
+
+/*FUNCTION:------------------------------------------------------
+ *  NAME
  *      dissect_ieee802154_nonask_phy
  *  DESCRIPTION
  *      Dissector for IEEE 802.15.4 non-ASK PHY packet with an FCS containing
@@ -2418,6 +2485,15 @@
  */
 void proto_register_ieee802154(void)
 {
+    static hf_register_info hf_phy_chan[] = {
+        { &hf_ieee802154_phy_chan_number,
+        { "PHY Channel Number", "wpan-phy-chan.chan_num", FT_UINT8, BASE_HEX, NULL, 0x0,
+            "", HFILL }},
+        { &hf_ieee802154_phy_chan_lqi,
+        { "PHY Channel LQI", "wpan-phy-chan.lqi", FT_UINT8, BASE_DEC, NULL, 0x0,
+            "", HFILL }},
+    };
+
     /* Protocol fields  */
     static hf_register_info hf_phy[] = {
         /* PHY level */
@@ -2671,6 +2747,7 @@
 
     /* Subtrees */
     static gint *ett[] = {
+        &ett_ieee802154_phy_chan,
         &ett_ieee802154_nonask_phy,
         &ett_ieee802154_nonask_phy_phr,
         &ett_ieee802154,
@@ -2708,10 +2785,12 @@
            IEEE802154_PROTOABBREV_WPAN);
     proto_ieee802154_nonask_phy = proto_register_protocol("IEEE 802.15.4 Low-Rate Wireless PAN non-ASK PHY",
             "IEEE 802.15.4 non-ASK PHY", "wpan-nonask-phy");
+    proto_ieee802154_phy_chan = proto_register_protocol("IEEE 802.15.4 Low-Rate Wireless PAN PHY Channel Meta-Data", "IEEE 802.15.4 PHY Channel Meta-Data", "wpan-phy-chan");
 
     /*  Register header fields and subtrees. */
     proto_register_field_array(proto_ieee802154, hf, array_length(hf));
     proto_register_field_array(proto_ieee802154, hf_phy, array_length(hf_phy));
+    proto_register_field_array(proto_ieee802154, hf_phy_chan, array_length(hf_phy_chan));
 
     proto_register_subtree_array(ett, array_length(ett));
 
@@ -2763,6 +2842,7 @@
     register_dissector("wpan_nofcs", dissect_ieee802154_nofcs, proto_ieee802154);
     register_dissector("wpan_cc24xx", dissect_ieee802154_cc24xx, proto_ieee802154);
     register_dissector("wpan-nonask-phy", dissect_ieee802154_nonask_phy, proto_ieee802154_nonask_phy);
+    register_dissector("wpan-phy-chan", dissect_ieee802154_phy_chan, proto_ieee802154_phy_chan);
 } /* proto_register_ieee802154 */
 
 /*FUNCTION:------------------------------------------------------
@@ -2784,6 +2864,7 @@
     static dissector_handle_t  ieee802154_handle;
     static dissector_handle_t  ieee802154_nonask_phy_handle;
     static dissector_handle_t  ieee802154_nofcs_handle;
+    static dissector_handle_t  ieee802154_phy_chan_handle;
     static unsigned int old_ieee802154_ethertype;
     GByteArray *bytes;
     gboolean    res;
@@ -2793,11 +2874,13 @@
         ieee802154_handle   = find_dissector(IEEE802154_PROTOABBREV_WPAN);
         ieee802154_nonask_phy_handle = find_dissector("wpan-nonask-phy");
         ieee802154_nofcs_handle = find_dissector("wpan_nofcs");
+        ieee802154_phy_chan_handle = find_dissector("wpan-phy-chan");
         data_handle         = find_dissector("data");
 
         dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE802_15_4, ieee802154_handle);
         dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE802_15_4_NONASK_PHY, ieee802154_nonask_phy_handle);
         dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE802_15_4_NOFCS, ieee802154_nofcs_handle);
+        dissector_add("wtap_encap", WTAP_ENCAP_IEEE802_15_4_PHY_CHAN, ieee802154_phy_chan_handle);
 
         prefs_initialized = TRUE;
     } else {
Index: wiretap/pcap-common.c
===================================================================
--- wiretap/pcap-common.c	(revision 36719)
+++ wiretap/pcap-common.c	(working copy)
@@ -353,6 +353,7 @@
 	{ 215,		WTAP_ENCAP_IEEE802_15_4_NONASK_PHY },
 	/* USB packets with padded Linux-specified header */
 	{ 220, 		WTAP_ENCAP_USB_LINUX_MMAPPED },
+	{ 221,		WTAP_ENCAP_IEEE802_15_4_PHY_CHAN },
 	/* Fibre Channel FC-2 frame */
 	{ 224,		WTAP_ENCAP_FIBRE_CHANNEL_FC2 },
 	/* Fibre Channel FC-2 frame with Delimiter */
Index: wiretap/wtap.c
===================================================================
--- wiretap/wtap.c	(revision 36719)
+++ wiretap/wtap.c	(working copy)
@@ -490,7 +490,11 @@
 	{ "Lapd header", "lapd" },
 
 	/* WTAP_ENCAP_DVBCI */
-	{ "DVB-CI (Common Interface)", "dvbci"}
+	{ "DVB-CI (Common Interface)", "dvbci"},
+
+	/* WTAP_ENCAP_IEEE802_15_4_PHY_CHAN */
+	{ "IEEE 802.15.4 Wireless PAN PHY Channel", "wpan-phy-chan" }
+
 };
 
 gint wtap_num_encap_types = sizeof(encap_table_base) / sizeof(struct encap_type_info);
Index: wiretap/wtap.h
===================================================================
--- wiretap/wtap.h	(revision 36719)
+++ wiretap/wtap.h	(working copy)
@@ -222,6 +222,7 @@
 #define WTAP_ENCAP_RAW_IP6                      130
 #define WTAP_ENCAP_LAPD                         131
 #define WTAP_ENCAP_DVBCI                        132
+#define WTAP_ENCAP_IEEE802_15_4_PHY_CHAN        133
 
 #define WTAP_NUM_ENCAP_TYPES                    wtap_get_num_encap_types()
 
