/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 2002-2011 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* *
***********************************************************************/
#pragma prototyped
/*
* cisco netflow data interface
*
* Glenn Fowler
* AT&T Research
*/
#ifndef _NETFLOW_H
#define _NETFLOW_H
#include <ast_common.h>
/* (V9) index order */
/*
* canonical netflow data
*/
typedef struct Netflow_s
{
/* (V1-7) */
/* (V5) */
/* (V7) */
/* (V1) */
/* (V1-7) header */
/* header, synthesized, and (V8...) */
Nflong_t mpls_label_1; /* Stack position 1 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_2; /* Stack position 2 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_3; /* Stack position 3 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_4; /* Stack position 4 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_5; /* Stack position 5 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_6; /* Stack position 6 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_7; /* Stack position 7 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_8; /* Stack position 8 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_9; /* Stack position 9 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nflong_t mpls_label_10; /* Stack position 10 MPLS label: 20 bits MPLS label, 3 bits experimental, 1 bit end-of-stack */
Nfshort_t ident; /* ipv4 identification field */
Nfbyte_t mpls_top_label_type;/* MPLS Top Label Type: 0x00 UNKNOWN 0x01 TE-MIDPT 0x02 ATOM 0x03 VPN 0x04 BGP 0x05 LDP */
Nfbyte_t forwarding_status;/* Forwarding status 0: unknown, 1: forwarded, 2: dropped, 3: consumed */
} Netflow_t;
#endif