2000-01-13 00:41:11 +00:00
|
|
|
/* nlpid.h
|
|
|
|
* Definitions of OSI NLPIDs (Network Layer Protocol IDs)
|
|
|
|
* Laurent Deniel <deniel@worldnet.fr>
|
|
|
|
*
|
2001-04-16 10:04:33 +00:00
|
|
|
* $Id: nlpid.h,v 1.9 2001/04/16 10:04:30 guy Exp $
|
2000-01-13 00:41:11 +00:00
|
|
|
*
|
|
|
|
* Ethereal - Network traffic analyzer
|
|
|
|
* By Gerald Combs <gerald@zing.org>
|
|
|
|
* Copyright 1998 Gerald Combs
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
2000-08-11 13:37:21 +00:00
|
|
|
#ifndef __NLPID_H__
|
|
|
|
#define __NLPID_H__
|
|
|
|
|
2000-01-30 05:50:02 +00:00
|
|
|
/* ISO/IEC TR 9577 NLPID values. */
|
2000-01-13 00:41:11 +00:00
|
|
|
|
2001-03-23 21:49:23 +00:00
|
|
|
#define NLPID_NULL 0x00
|
2000-01-30 05:50:02 +00:00
|
|
|
#define NLPID_T_70 0x01 /* T.70 */
|
2001-03-23 21:49:23 +00:00
|
|
|
#define NLPID_X_633 0x03 /* X.633 */
|
|
|
|
#define NLPID_Q_931 0x08 /* Q.931, Q.932, Q.933, X.36, ISO 11572, ISO 11582 */
|
|
|
|
#define NLPID_Q_2931 0x09 /* Q.2931 */
|
|
|
|
#define NLPID_Q_2119 0x0c /* Q.2119 */
|
|
|
|
#define NLPID_SNAP 0x80
|
|
|
|
#define NLPID_ISO8473_CLNP 0x81 /* X.233 */
|
|
|
|
#define NLPID_ISO9542_ESIS 0x82
|
|
|
|
#define NLPID_ISO10589_ISIS 0x83
|
|
|
|
#define NLPID_ISO10747_IDRP 0x85
|
|
|
|
#define NLPID_ISO9542X25_ESIS 0x8a
|
|
|
|
#define NLPID_ISO10030 0x8c
|
|
|
|
#define NLPID_ISO11577 0x8d /* X.273 */
|
2001-04-16 10:04:33 +00:00
|
|
|
#define NLPID_IP6 0x8e
|
2001-03-29 06:09:50 +00:00
|
|
|
#define NLPID_COMPRESSED 0xb0 /* "Data compression protocol" */
|
2001-03-23 21:49:23 +00:00
|
|
|
#define NLPID_IP 0xcc
|
|
|
|
#define NLPID_PPP 0xcf
|
|
|
|
|
2000-01-13 00:41:11 +00:00
|
|
|
extern const value_string nlpid_vals[];
|
|
|
|
|
NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,
respectively, not Q.931 and Q.2931, in Frame Relay.
When dissecting Q.933-style multiprotocol encapsulated Frame Relay
frames, use the "osinl" dissector table to check for OSI network layer
protocols, include the NLPID in the tvbuff you hand to
"dissector_try_port()" with that dissector table, and put the NLPID into
the protocol tree as an invisible item - the NLPID is considered part of
the PDU for those protocols, so you have to include it in the tvbuff,
and the dissector will put it into the protocol tree.
Also, make sure the top-level entry for the Frame Relay protocol
includes all the bytes preceding the payload, and none of the payload
bytes.
Export a routine to do Q.933-style dissection, and have the WCP
dissector call it, rather than duplicating that code in the WCP
dissector.
Don't register OSI network layer protocols with the "fr.ietf" dissector
table; it's now sufficient to register them with the "osinl" dissector
table, as the Frame Relay dissector now checks that.
Get rid of unnecessary checks for protocols being enabled (if the
dissector is always called through handles or dissector tables, the
common code for handles and dissector tables will do the checks for
you).
Get rid of some unnecessary #includes.
svn path=/trunk/; revision=3211
2001-03-30 10:51:50 +00:00
|
|
|
/*
|
|
|
|
* 0x09 is, in Frame Relay, LMI, Q.2931.
|
|
|
|
*/
|
|
|
|
#define NLPID_LMI 0x09 /* LMI */
|
|
|
|
|
2000-08-11 13:37:21 +00:00
|
|
|
#endif
|