Bugfix a few items:

1. Correct Interface Flag enumeration
2. Dissect ARP data without making it look like its an ARP packet by disabling column writing.

svn path=/trunk/; revision=52157
This commit is contained in:
Michael Mann 2013-09-20 18:35:10 +00:00
parent 4212b20048
commit 61c9a77cd9
1 changed files with 10 additions and 3 deletions

View File

@ -489,7 +489,8 @@ static const value_string enip_elink_iflags_neg_status_vals[] = {
{ 0, "Auto-negotiation in progress" },
{ 1, "Auto-negotiation and speed detection failed" },
{ 2, "Auto-negotiation failed but detected speed" },
{ 3, "Auto-negotiation not attempted. Forced speed and duplex." },
{ 3, "Successfully negotiatied speed and duplex" },
{ 4, "Auto-negotiation not attempted. Forced speed and duplex" },
{ 0, NULL }
};
@ -1272,6 +1273,7 @@ int dissect_tcpip_last_conflict(packet_info *pinfo, proto_tree *tree, proto_item
{
tvbuff_t *next_tvb;
gboolean save_info;
if (total_len < 35)
{
@ -1285,10 +1287,15 @@ int dissect_tcpip_last_conflict(packet_info *pinfo, proto_tree *tree, proto_item
if( tvb_get_guint8(tvb, offset) == 0 )
proto_tree_add_item(tree, hf_tcpip_lcd_arp_pdu, tvb, offset+7, 28, ENC_LITTLE_ENDIAN);
else
{
/* Call ARP dissector */
{
/* Dissect ARP PDU, but don't have it change column info */
save_info = col_get_writable(pinfo->cinfo);
col_set_writable(pinfo->cinfo, FALSE);
next_tvb = tvb_new_subset(tvb, offset+7, 28, 28);
call_dissector(arp_handle, next_tvb, pinfo, tree);
col_set_writable(pinfo->cinfo, save_info);
}
return 35;