/* New full packet trace structure v26 for vm info tracing */
typedef struct nspr_pktracefull_v26
{
- NSPR_HEADER3B_V22(fp); /* long performance header */
- guint8 fp_DevNo; /* Network Device (NIC) number */
- guint8 fp_AbsTimeHr[8]; /* High resolution absolute time in nanosec */
- guint8 fp_PcbDevNo[4]; /* PCB devno */
- guint8 fp_lPcbDevNo[4]; /* link PCB devno */
- guint8 fp_VlanTag[2]; /* vlan tag */
- guint8 fp_Coreid[2]; /* coreid of the packet */
- guint8 fp_srcNodeId[2]; /* source node # */
- guint8 fp_destNodeId[2]; /* destination node # */
- guint8 fp_clFlags; /* cluster flags */
- guint8 fp_src_vmname_len; /* vm src info */
- guint8 fp_dst_vmname_len; /* vm src info */
+ NSPR_HEADER3B_V22(fp); /* long performance header */
+ guint8 fp_DevNo; /* Network Device (NIC) number */
+ guint8 fp_AbsTimeHr[8]; /* High resolution absolute time in nanosec */
+ guint8 fp_PcbDevNo[4]; /* PCB devno */
+ guint8 fp_lPcbDevNo[4]; /* link PCB devno */
+ guint8 fp_VlanTag[2]; /* vlan tag */
+ guint8 fp_Coreid[2]; /* coreid of the packet */
+ guint8 fp_srcNodeId[2]; /* source node # */
+ guint8 fp_destNodeId[2]; /* destination node # */
+ guint8 fp_clFlags; /* cluster flags */
+ guint8 fp_src_vmname_len; /* vm src info */
+ guint8 fp_dst_vmname_len; /* vm src info */
guint8 fp_reserved;
guint8 fp_ns_activity[4];
guint8 fp_reserved_32[12]; /* Adding more field to reduce wireshark changes every time */
- guint8 fp_Data[4]; /* packet data starts here */
+ guint8 fp_Data[4]; /* packet data starts here */
} nspr_pktracefull_v26_t;
#define nspr_pktracefull_v26_s ((guint32)(sizeof(nspr_pktracefull_v26_t) - 4))
/* New partial packet trace structure v26 for vm info tracing */
typedef struct nspr_pktracepart_v26
{
- NSPR_HEADER3B_V22(pp); /* long performance header */
- guint8 pp_DevNo; /* Network Device (NIC) number */
- guint8 pp_AbsTimeHr[8]; /*High resolution absolute time in nanosec*/
- guint8 pp_PktSizeOrg[2]; /* Original packet size */
- guint8 pp_PktOffset[2]; /* starting offset in packet */
- guint8 pp_PcbDevNo[4]; /* PCB devno */
- guint8 pp_lPcbDevNo[4]; /* link PCB devno */
- guint8 pp_VlanTag[2]; /* vlan tag */
- guint8 pp_Coreid[2]; /* Coreid of the packet */
- guint8 pp_srcNodeId[2]; /* source node # */
- guint8 pp_destNodeId[2]; /* destination node # */
- guint8 pp_clFlags; /* cluster flags */
- guint8 pp_src_vmname_len; /* vm info */
- guint8 pp_dst_vmname_len; /* vm info */
+ NSPR_HEADER3B_V22(pp); /* long performance header */
+ guint8 pp_DevNo; /* Network Device (NIC) number */
+ guint8 pp_AbsTimeHr[8]; /*High resolution absolute time in nanosec*/
+ guint8 pp_PktSizeOrg[2]; /* Original packet size */
+ guint8 pp_PktOffset[2]; /* starting offset in packet */
+ guint8 pp_PcbDevNo[4]; /* PCB devno */
+ guint8 pp_lPcbDevNo[4]; /* link PCB devno */
+ guint8 pp_VlanTag[2]; /* vlan tag */
+ guint8 pp_Coreid[2]; /* Coreid of the packet */
+ guint8 pp_srcNodeId[2]; /* source node # */
+ guint8 pp_destNodeId[2]; /* destination node # */
+ guint8 pp_clFlags; /* cluster flags */
+ guint8 pp_src_vmname_len; /* vm info */
+ guint8 pp_dst_vmname_len; /* vm info */
guint8 pp_reserved;
guint8 pp_ns_activity[4];
guint8 pp_reserved_32[12]; /* Adding more field to reduce wireshark changes every time */
- guint8 pp_Data[4]; /* packet data starts here */
+ guint8 pp_Data[4]; /* packet data starts here */
} nspr_pktracepart_v26_t;
#define nspr_pktracepart_v26_s ((guint32)(sizeof(nspr_pktracepart_v26_t) -4))
#define TRACE_FULL_V10_REC_LEN_OFF(phdr,enumprefix,structprefix,structname) \
(phdr)->len = pletohs(&(fp)->nsprRecordSize);\
(phdr)->caplen = (phdr)->len;\
- TRACE_V10_REC_LEN_OFF(phdr,enumprefix,structprefix,structname)
+ TRACE_V10_REC_LEN_OFF(phdr,enumprefix,structprefix,structname)
#define TRACE_PART_V10_REC_LEN_OFF(phdr,enumprefix,structprefix,structname) \
(phdr)->presence_flags |= WTAP_HAS_CAP_LEN;\
__TNO(phdr,enumprefix,structprefix,structname,src_vmname_len,src_vmname_len)\
__TNO(phdr,enumprefix,structprefix,structname,dst_vmname_len,dst_vmname_len)\
__TNO(phdr,enumprefix,structprefix,structname,data,Data)
-
+
#define TRACE_V26_REC_LEN_OFF(phdr,enumprefix,structprefix,structname) \
TRACE_V25_REC_LEN_OFF(phdr,enumprefix,structprefix,structname)\
__TNO(phdr,enumprefix,structprefix,structname,ns_activity,ns_activity)\
-
+
TRACE_V10_REC_LEN_OFF(NULL,v10_part,pp,pktracepart_v10)
TRACE_V10_REC_LEN_OFF(NULL,v10_full,fp,pktracefull_v10)
TRACE_V20_REC_LEN_OFF(NULL,v20_part,pp,pktracepart_v20)
guint32 val = tm & NSPR_HRTIME_MASKTM;
switch(tm & NSPR_HRTIME_MASKFMT)
{
- case NSPR_HRTIME_SEC: return (guint64)val*1000000000;
+ case NSPR_HRTIME_SEC: return (guint64)val*1000000000;
case NSPR_HRTIME_MSEC: return (guint64)val*1000000;
case NSPR_HRTIME_USEC: return (guint64)val*1000;
case NSPR_HRTIME_NSEC: return val;
nstrace_buf = (gchar *)g_malloc(NSPR_PAGESIZE);
page_size = GET_READ_PAGE_SIZE(file_size);
- switch ((wth->file_type = nspm_signature_version(wth, nstrace_buf, page_size)))
+ switch ((wth->file_type_subtype = nspm_signature_version(wth, nstrace_buf, page_size)))
{
- case WTAP_FILE_NETSCALER_1_0:
+ case WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0:
wth->file_encap = WTAP_ENCAP_NSTRACE_1_0;
break;
- case WTAP_FILE_NETSCALER_2_0:
+ case WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0:
wth->file_encap = WTAP_ENCAP_NSTRACE_2_0;
break;
default:
*err = WTAP_ERR_UNSUPPORTED;
- *err_info = g_strdup_printf("nstrace: file type %d unsupported", wth->file_type);
+ *err_info = g_strdup_printf("nstrace: file type %d unsupported", wth->file_type_subtype);
g_free(nstrace_buf);
return 0;
}
return 0;
}
- switch (wth->file_type)
+ switch (wth->file_type_subtype)
{
- case WTAP_FILE_NETSCALER_1_0:
+ case WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0:
wth->subtype_read = nstrace_read_v10;
wth->subtype_seek_read = nstrace_seek_read_v10;
break;
- case WTAP_FILE_NETSCALER_2_0:
+ case WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0:
wth->subtype_read = nstrace_read_v20;
wth->subtype_seek_read = nstrace_seek_read_v20;
break;
(pletohs(&sigv10p->nsprRecordSize) <= len) &&
((gint32)sizeof(NSPR_SIGSTR_V10) <= len) &&
(!nspm_signature_isv10(sigv10p->sig_Signature)))
- return WTAP_FILE_NETSCALER_1_0;
+ return WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0;
#undef sigv10p
#define sigv20p ((nspr_signature_v20_t*)dp)
(sigv20p->sig_RecordSize <= len) &&
((gint32)sizeof(NSPR_SIGSTR_V20) <= len) &&
(!nspm_signature_isv20(sigv20p->sig_Signature)))
- return WTAP_FILE_NETSCALER_2_0;
+ return WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0;
#undef sigv20p
}
}
*/
static gboolean nstrace_set_start_time(wtap *wth)
{
- if (wth->file_type == WTAP_FILE_NETSCALER_1_0)
+ if (wth->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0)
return nstrace_set_start_time_v10(wth);
- else if (wth->file_type == WTAP_FILE_NETSCALER_2_0)
+ else if (wth->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0)
return nstrace_set_start_time_v20(wth);
return FALSE;
{
nstrace_dump_t *nstrace = (nstrace_dump_t *)wdh->priv;
- if (wdh->file_type == WTAP_FILE_NETSCALER_1_0)
+ if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0)
{
guint16 val16b;
nspr_signature_v10_t sig10;
/* Move forward the page offset */
nstrace->page_offset += (guint16) nspr_signature_v10_s;
- } else if (wdh->file_type == WTAP_FILE_NETSCALER_2_0)
+ } else if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0)
{
nspr_signature_v20_t sig20;
nstrace_dump_t *nstrace = (nstrace_dump_t *)wdh->priv;
guint64 nsg_creltime;
- if (wdh->file_type == WTAP_FILE_NETSCALER_1_0)
+ if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0)
{
guint16 val16;
guint32 reltime;
/* Move forward the page offset */
nstrace->page_offset += nspr_abstime_v10_s;
- } else if (wdh->file_type == WTAP_FILE_NETSCALER_2_0)
+ } else if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0)
{
guint32 reltime;
guint64 abstime;
if (nstrace->page_offset == 0)
{
/* Add the signature record and abs time record */
- if (wdh->file_type == WTAP_FILE_NETSCALER_1_0)
+ if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0)
{
if (!nstrace_add_signature(wdh, err) ||
!nstrace_add_abstime(wdh, phdr, pd, err))
return FALSE;
- } else if (wdh->file_type == WTAP_FILE_NETSCALER_2_0)
+ } else if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0)
{
if (!nstrace_add_signature(wdh, err) ||
!nstrace_add_abstime(wdh, phdr, pd, err))
{
case NSPR_HEADER_VERSION100:
- if (wdh->file_type == WTAP_FILE_NETSCALER_1_0)
+ if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0)
{
if (nstrace->page_offset + phdr->caplen >= nstrace->page_len)
{
return FALSE;
nstrace->page_offset += (guint16) phdr->caplen;
- } else if (wdh->file_type == WTAP_FILE_NETSCALER_2_0)
+ } else if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0)
{
*err = WTAP_ERR_UNSUPPORTED_FILE_TYPE;
return FALSE;
case NSPR_HEADER_VERSION204:
case NSPR_HEADER_VERSION205:
case NSPR_HEADER_VERSION206:
- if (wdh->file_type == WTAP_FILE_NETSCALER_1_0)
+ if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0)
{
*err = WTAP_ERR_UNSUPPORTED_FILE_TYPE;
return FALSE;
- } else if (wdh->file_type == WTAP_FILE_NETSCALER_2_0)
+ } else if (wdh->file_type_subtype == WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0)
{
if (nstrace->page_offset + phdr->caplen >= nstrace->page_len)
{