Get rid of the "vpi" and "vci" arguments to "atm_guess_traffic_type()",
have it get that information from the pseudo-header instead, and set the VPI and VCI fields in the pseudo-header before calling it. Don't call it for non-ATM NetMon captures. svn path=/trunk/; revision=5982
This commit is contained in:
parent
8616a33765
commit
77bb2477ba
|
@ -1,6 +1,6 @@
|
|||
/* atm.c
|
||||
*
|
||||
* $Id: atm.c,v 1.1 2002/04/30 18:58:15 guy Exp $
|
||||
* $Id: atm.c,v 1.2 2002/08/13 03:32:56 guy Exp $
|
||||
*
|
||||
* Wiretap Library
|
||||
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
|
||||
|
@ -37,7 +37,7 @@
|
|||
|
||||
void
|
||||
atm_guess_traffic_type(const guint8 *pd, guint32 len,
|
||||
guint16 vpi, guint16 vci, union wtap_pseudo_header *pseudo_header)
|
||||
union wtap_pseudo_header *pseudo_header)
|
||||
{
|
||||
/*
|
||||
* Start out assuming nothing other than that it's AAL5.
|
||||
|
@ -46,12 +46,12 @@ atm_guess_traffic_type(const guint8 *pd, guint32 len,
|
|||
pseudo_header->atm.type = TRAF_UNKNOWN;
|
||||
pseudo_header->atm.subtype = TRAF_ST_UNKNOWN;
|
||||
|
||||
if (vpi == 0) {
|
||||
if (pseudo_header->atm.vpi == 0) {
|
||||
/*
|
||||
* Traffic on some PVCs with a VPI of 0 and certain
|
||||
* VCIs is of particular types.
|
||||
*/
|
||||
switch (vci) {
|
||||
switch (pseudo_header->atm.vci) {
|
||||
|
||||
case 5:
|
||||
/*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* atm.h
|
||||
*
|
||||
* $Id: atm.h,v 1.1 2002/04/30 18:58:15 guy Exp $
|
||||
* $Id: atm.h,v 1.2 2002/08/13 03:32:56 guy Exp $
|
||||
*
|
||||
* Wiretap Library
|
||||
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
|
||||
|
@ -31,7 +31,7 @@
|
|||
|
||||
extern void
|
||||
atm_guess_traffic_type(const guint8 *pd, guint32 len,
|
||||
guint16 vpi, guint16 vci, union wtap_pseudo_header *pseudo_header);
|
||||
union wtap_pseudo_header *pseudo_header);
|
||||
|
||||
extern void
|
||||
atm_guess_lane_type(const guint8 *pd, guint32 len,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* iptrace.c
|
||||
*
|
||||
* $Id: iptrace.c,v 1.42 2002/07/29 06:09:58 guy Exp $
|
||||
* $Id: iptrace.c,v 1.43 2002/08/13 03:32:56 guy Exp $
|
||||
*
|
||||
* Wiretap Library
|
||||
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
|
||||
|
@ -391,12 +391,6 @@ get_atm_pseudo_header(const guint8 *pd, guint32 len,
|
|||
Vci = strtoul(decimal, NULL, 10);
|
||||
}
|
||||
|
||||
/*
|
||||
* Attempt to guess from the packet data, the VPI, and the VCI
|
||||
* information about the type of traffic.
|
||||
*/
|
||||
atm_guess_traffic_type(pd, len, Vpi, Vci, pseudo_header);
|
||||
|
||||
/*
|
||||
* OK, which value means "DTE->DCE" and which value means
|
||||
* "DCE->DTE"?
|
||||
|
@ -406,6 +400,12 @@ get_atm_pseudo_header(const guint8 *pd, guint32 len,
|
|||
pseudo_header->atm.vpi = Vpi;
|
||||
pseudo_header->atm.vci = Vci;
|
||||
|
||||
/*
|
||||
* Attempt to guess from the packet data, the VPI, and the VCI
|
||||
* information about the type of traffic.
|
||||
*/
|
||||
atm_guess_traffic_type(pd, len, pseudo_header);
|
||||
|
||||
/* We don't have this information */
|
||||
pseudo_header->atm.cells = 0;
|
||||
pseudo_header->atm.aal5t_u2u = 0;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* netmon.c
|
||||
*
|
||||
* $Id: netmon.c,v 1.59 2002/08/13 03:26:30 guy Exp $
|
||||
* $Id: netmon.c,v 1.60 2002/08/13 03:32:57 guy Exp $
|
||||
*
|
||||
* Wiretap Library
|
||||
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
|
||||
|
@ -445,8 +445,10 @@ static gboolean netmon_read(wtap *wth, int *err, long *data_offset)
|
|||
* Attempt to guess from the packet data, the VPI, and the VCI
|
||||
* information about the type of traffic.
|
||||
*/
|
||||
atm_guess_traffic_type(data_ptr, packet_size, wth->pseudo_header.atm.vpi,
|
||||
wth->pseudo_header.atm.vci, &wth->pseudo_header);
|
||||
if (wth->file_encap == WTAP_ENCAP_ATM_SNIFFER) {
|
||||
atm_guess_traffic_type(data_ptr, packet_size,
|
||||
&wth->pseudo_header);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -476,8 +478,9 @@ netmon_seek_read(wtap *wth, long seek_off,
|
|||
* Attempt to guess from the packet data, the VPI, and the VCI
|
||||
* information about the type of traffic.
|
||||
*/
|
||||
atm_guess_traffic_type(pd, length, pseudo_header->atm.vpi,
|
||||
pseudo_header->atm.vci, pseudo_header);
|
||||
if (wth->file_encap == WTAP_ENCAP_ATM_SNIFFER)
|
||||
atm_guess_traffic_type(pd, length, pseudo_header);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue