/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\

File: octvc1_module_cpp.c

Copyright (c) 2014 Octasic Inc. All rights reserved.

Description: Contain the wireshark module dissector related functions

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation; either version 3 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 Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09)

$Octasic_Revision: $

\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/*****************************  INCLUDE FILES  *******************************/

#include <config.h>
#include <epan/packet.h>
#include "../../../include/oct_ws_macro.h"
#include "../include/module.h"
#include "../include/octvc1_common.h"

#include <cpp/octvc1_cpp_api.h>


/****************************************************************************
	MODULE API ENUMERATION STRING VALUES
 ****************************************************************************/

const value_string  vals_tOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM[] = 
 {
	{ cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_NONE, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_NONE" },
	{ cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP" },
	{ cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SSRC, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SSRC" },
	{ cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP_SSRC, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP_SSRC" },
	{ 0,		NULL }
 };

const value_string  vals_tOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM[] = 
 {
	{ cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_NONE, "cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_NONE" },
	{ cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_SRCIPTCP, "cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_SRCIPTCP" },
	{ 0,		NULL }
 };

const value_string  vals_tOCTVC1_CPP_TX_HDR_TYPE_ENUM[] = 
 {
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETHERNET, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETHERNET" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETH_PQ, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETH_PQ" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_LLC, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_LLC" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_NLPID, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_NLPID" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_SNAP, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_SNAP" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV4, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV4" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_UDP, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_UDP" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_RTP, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_RTP" },
	{ cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV6, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV6" },
	{ 0,		NULL }
 };

const value_string  vals_tOCTVC1_CPP_ETHERTYPE_ENUM[] = 
 {
	{ cOCTVC1_CPP_ETHERTYPE_ENUM_ETH_II, "cOCTVC1_CPP_ETHERTYPE_ENUM_ETH_II" },
	{ cOCTVC1_CPP_ETHERTYPE_ENUM_IEEE_802_3, "cOCTVC1_CPP_ETHERTYPE_ENUM_IEEE_802_3" },
	{ 0,		NULL }
 };

const value_string  vals_tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM[] = 
 {
	{ cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC" },
	{ cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_ALL, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_ALL" },
	{ cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_PORT, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_PORT" },
	{ cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_DEST_OBJ, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_DEST_OBJ" },
	{ 0,		NULL }
 };

const value_string  vals_tOCTVC1_CPP_DEST_INFO_ENUM[] = 
 {
	{ cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST, "cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST" },
	{ cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT, "cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT" },
	{ 0,		NULL }
 };

/****************************************************************************
	COMMON Registered 
 ****************************************************************************/

int ahf_tOCTVC1_CPP_CONFIG_STATIC[15];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_CONFIG_STATIC;

void  register_tOCTVC1_CPP_CONFIG_STATIC(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[0],
			{ "ulMaxDestination", "octvc1.cpp.config_static.ulmaxdestination",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxDestination",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[1],
			{ "ulMaxRxUdpPort", "octvc1.cpp.config_static.ulmaxrxudpport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxUdpPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[2],
			{ "ulMaxRxUdpCnct", "octvc1.cpp.config_static.ulmaxrxudpcnct",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxUdpCnct",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[3],
			{ "ulMaxTxUdpCnct", "octvc1.cpp.config_static.ulmaxtxudpcnct",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxTxUdpCnct",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[4],
			{ "ulMaxRxRtpPort", "octvc1.cpp.config_static.ulmaxrxrtpport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxRtpPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[5],
			{ "ulMaxRxRtpCnct", "octvc1.cpp.config_static.ulmaxrxrtpcnct",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxRtpCnct",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[6],
			{ "ulMaxTxRtpCnct", "octvc1.cpp.config_static.ulmaxtxrtpcnct",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxTxRtpCnct",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[7],
			{ "ulMaxRxTcpPort", "octvc1.cpp.config_static.ulmaxrxtcpport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxTcpPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[8],
			{ "ulMaxRxTcpCnct", "octvc1.cpp.config_static.ulmaxrxtcpcnct",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxTcpCnct",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[9],
			{ "ulMaxRxIpPort", "octvc1.cpp.config_static.ulmaxrxipport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxRxIpPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[10],
			{ "ulMaxForwardObj", "octvc1.cpp.config_static.ulmaxforwardobj",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxForwardObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[11],
			{ "ulIpFragmentIdMask", "octvc1.cpp.config_static.ulipfragmentidmask",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulIpFragmentIdMask",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[12],
			{ "ulIpFragmentIdMatch", "octvc1.cpp.config_static.ulipfragmentidmatch",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulIpFragmentIdMatch",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[13],
			{ "ulMaxNonEthernetBandwidth", "octvc1.cpp.config_static.ulmaxnonethernetbandwidth",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxNonEthernetBandwidth",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_CONFIG_STATIC[14],
			{ "ulMaxNonUdpBandwidth", "octvc1.cpp.config_static.ulmaxnonudpbandwidth",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulMaxNonUdpBandwidth",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_CONFIG_STATIC.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[3];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_RX_RTP_PROFILE_ENTRY;

void  register_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[0],
			{ "ulPacketEncodeType", "octvc1.cpp.rx_rtp_profile_entry.ulpacketencodetype",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVOCNET_PKT_D_TYPE_ENUM), 0x0,
			"ulPacketEncodeType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[1],
			{ "ulRtpPayloadType", "octvc1.cpp.rx_rtp_profile_entry.ulrtppayloadtype",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulRtpPayloadType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[2],
			{ "ulPktPortIndex", "octvc1.cpp.rx_rtp_profile_entry.ulpktportindex",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulPktPortIndex",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_RX_RTP_PROFILE_ENTRY.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_RTP_PROFILE_ENTRY;

void  register_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[0],
			{ "ulPacketEncodeType", "octvc1.cpp.tx_rtp_profile_entry.ulpacketencodetype",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVOCNET_PKT_D_TYPE_ENUM), 0x0,
			"ulPacketEncodeType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[1],
			{ "ulRtpPayloadType", "octvc1.cpp.tx_rtp_profile_entry.ulrtppayloadtype",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulRtpPayloadType",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_RTP_PROFILE_ENTRY.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_DEST_ENTRY[7];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_DEST_ENTRY;

void  register_tOCTVC1_CPP_DEST_ENTRY(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[0],
			{ "hCppObj", "octvc1.cpp.dest_entry.hcppobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hCppObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[1],
			{ "ulCppObjPort", "octvc1.cpp.dest_entry.ulcppobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulCppObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[2],
			{ "hDestObj", "octvc1.cpp.dest_entry.hdestobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hDestObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[3],
			{ "ulDestObjPort", "octvc1.cpp.dest_entry.uldestobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[4],
			{ "ulDestObjFifoId", "octvc1.cpp.dest_entry.uldestobjfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[5],
			{ "DestMacAddress", "octvc1.cpp.dest_entry.destmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestMacAddress",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_DEST_ENTRY[6],
			{ "BridgeMacAddress", "octvc1.cpp.dest_entry.bridgemacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"BridgeMacAddress",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_DEST_ENTRY.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_COMMON[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_COMMON;

void  register_tOCTVC1_CPP_TX_HDR_COMMON(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_COMMON[0],
			{ "ulHeaderType", "octvc1.cpp.tx_hdr_common.ulheadertype",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_TX_HDR_TYPE_ENUM), 0x0,
			"ulHeaderType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_COMMON[1],
			{ "ulHeaderLength", "octvc1.cpp.tx_hdr_common.ulheaderlength",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulHeaderLength",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_COMMON.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[5];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_ETHERNET;

void  register_tOCTVC1_CPP_TX_HDR_ETHERNET(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_ethernet.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[1],
			{ "ulEthertypeEncoding", "octvc1.cpp.tx_hdr_ethernet.ulethertypeencoding",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_ETHERTYPE_ENUM), 0x0,
			"ulEthertypeEncoding",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[2],
			{ "ulEthertype", "octvc1.cpp.tx_hdr_ethernet.ulethertype",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulEthertype",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[3],
			{ "SourceMacAddr", "octvc1.cpp.tx_hdr_ethernet.sourcemacaddr",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"SourceMacAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[4],
			{ "DestinationMacAddr", "octvc1.cpp.tx_hdr_ethernet.destinationmacaddr",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestinationMacAddr",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_ETHERNET.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[6];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_ETH_PQ;

void  register_tOCTVC1_CPP_TX_HDR_ETH_PQ(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_eth_pq.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[1],
			{ "ulEthertypeEncoding", "octvc1.cpp.tx_hdr_eth_pq.ulethertypeencoding",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_ETHERTYPE_ENUM), 0x0,
			"ulEthertypeEncoding",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[2],
			{ "ulEthertype", "octvc1.cpp.tx_hdr_eth_pq.ulethertype",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulEthertype",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[3],
			{ "ulTci", "octvc1.cpp.tx_hdr_eth_pq.ultci",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulTci",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[4],
			{ "SourceMacAddr", "octvc1.cpp.tx_hdr_eth_pq.sourcemacaddr",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"SourceMacAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[5],
			{ "DestinationMacAddr", "octvc1.cpp.tx_hdr_eth_pq.destinationmacaddr",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestinationMacAddr",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_ETH_PQ.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_LLC[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_LLC;

void  register_tOCTVC1_CPP_TX_HDR_LLC(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_LLC[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_llc.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_LLC[1],
			{ "ulLlcValue", "octvc1.cpp.tx_hdr_llc.ulllcvalue",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulLlcValue",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_LLC.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_NLPID[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_NLPID;

void  register_tOCTVC1_CPP_TX_HDR_NLPID(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_NLPID[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_nlpid.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_NLPID[1],
			{ "ulNlpidValue", "octvc1.cpp.tx_hdr_nlpid.ulnlpidvalue",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulNlpidValue",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_NLPID.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_SNAP[3];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_SNAP;

void  register_tOCTVC1_CPP_TX_HDR_SNAP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_SNAP[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_snap.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_SNAP[1],
			{ "ulOuiValue", "octvc1.cpp.tx_hdr_snap.ulouivalue",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulOuiValue",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_SNAP[2],
			{ "ulPidValue", "octvc1.cpp.tx_hdr_snap.ulpidvalue",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulPidValue",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_SNAP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_IPV4[10];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_IPV4;

void  register_tOCTVC1_CPP_TX_HDR_IPV4(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_ipv4.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[1],
			{ "ulTypeOfService", "octvc1.cpp.tx_hdr_ipv4.ultypeofservice",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulTypeOfService",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[2],
			{ "ulTimeToLive", "octvc1.cpp.tx_hdr_ipv4.ultimetolive",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulTimeToLive",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[3],
			{ "ulProtocol", "octvc1.cpp.tx_hdr_ipv4.ulprotocol",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulProtocol",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[4],
			{ "ulFlags", "octvc1.cpp.tx_hdr_ipv4.ulflags",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulFlags",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[5],
			{ "ulSourceAddr", "octvc1.cpp.tx_hdr_ipv4.ulsourceaddr",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulSourceAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[6],
			{ "ulDestinationAddr", "octvc1.cpp.tx_hdr_ipv4.uldestinationaddr",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestinationAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[7],
			{ "ulUdpChecksumAddr", "octvc1.cpp.tx_hdr_ipv4.uludpchecksumaddr",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulUdpChecksumAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[8],
			{ "ulOptionsLength", "octvc1.cpp.tx_hdr_ipv4.uloptionslength",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulOptionsLength",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV4[9],
			{ "aulOptions", "octvc1.cpp.tx_hdr_ipv4.auloptions",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"aulOptions",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_IPV4.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_IPV6[8];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_IPV6;

void  register_tOCTVC1_CPP_TX_HDR_IPV6(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_ipv6.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[1],
			{ "ulTrafficClass", "octvc1.cpp.tx_hdr_ipv6.ultrafficclass",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulTrafficClass",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[2],
			{ "ulFlowLabel", "octvc1.cpp.tx_hdr_ipv6.ulflowlabel",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulFlowLabel",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[3],
			{ "ulHopLimit", "octvc1.cpp.tx_hdr_ipv6.ulhoplimit",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulHopLimit",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[4],
			{ "aulSourceAddr", "octvc1.cpp.tx_hdr_ipv6.aulsourceaddr",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"aulSourceAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[5],
			{ "aulDestinationAddr", "octvc1.cpp.tx_hdr_ipv6.auldestinationaddr",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"aulDestinationAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[6],
			{ "aulUdpChecksumAddr", "octvc1.cpp.tx_hdr_ipv6.auludpchecksumaddr",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"aulUdpChecksumAddr",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_IPV6[7],
			{ "ulNextHeader", "octvc1.cpp.tx_hdr_ipv6.ulnextheader",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulNextHeader",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_IPV6.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_UDP[3];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_UDP;

void  register_tOCTVC1_CPP_TX_HDR_UDP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_UDP[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_udp.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_UDP[1],
			{ "ulSourcePort", "octvc1.cpp.tx_hdr_udp.ulsourceport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulSourcePort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_UDP[2],
			{ "ulDestinationPort", "octvc1.cpp.tx_hdr_udp.uldestinationport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestinationPort",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_UDP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_TX_HDR_RTP[8];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_RTP;

void  register_tOCTVC1_CPP_TX_HDR_RTP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[0],
			{ "CommonHeader", "octvc1.cpp.tx_hdr_rtp.commonheader",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"CommonHeader",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[1],
			{ "ulNumContributingSources", "octvc1.cpp.tx_hdr_rtp.ulnumcontributingsources",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulNumContributingSources",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[2],
			{ "ulSynchronizationSource", "octvc1.cpp.tx_hdr_rtp.ulsynchronizationsource",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulSynchronizationSource",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[3],
			{ "ulExtensionFlag", "octvc1.cpp.tx_hdr_rtp.ulextensionflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulExtensionFlag",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[4],
			{ "ulExtensionType", "octvc1.cpp.tx_hdr_rtp.ulextensiontype",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulExtensionType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[5],
			{ "ulExtensionLength", "octvc1.cpp.tx_hdr_rtp.ulextensionlength",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulExtensionLength",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[6],
			{ "aulCsrcs", "octvc1.cpp.tx_hdr_rtp.aulcsrcs",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"aulCsrcs",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_TX_HDR_RTP[7],
			{ "aulExtensions", "octvc1.cpp.tx_hdr_rtp.aulextensions",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"aulExtensions",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_TX_HDR_RTP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

/****************************************************************************
	CMD/RSP Registered 
 ****************************************************************************/

int ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[9];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD;

void  register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[0],
			{ "hCppObj", "octvc1.cpp.module.dest.add.hcppobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hCppObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[1],
			{ "ulCppObjPort", "octvc1.cpp.module.dest.add.ulcppobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulCppObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[2],
			{ "hDestObj", "octvc1.cpp.module.dest.add.hdestobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hDestObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[3],
			{ "ulDestObjPort", "octvc1.cpp.module.dest.add.uldestobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[4],
			{ "ulDestObjFifoId", "octvc1.cpp.module.dest.add.uldestobjfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[5],
			{ "DestMacAddress", "octvc1.cpp.module.dest.add.destmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestMacAddress",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[6],
			{ "SrcMacAddress", "octvc1.cpp.module.dest.add.srcmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"SrcMacAddress",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[7],
			{ "BridgeMacAddress", "octvc1.cpp.module.dest.add.bridgemacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"BridgeMacAddress",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP;

void  register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP[0],
			{ "hCppObj", "octvc1.cpp.module.dest.add.hcppobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hCppObj",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[8];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD;

void  register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[0],
			{ "ulRemoveMode", "octvc1.cpp.module.dest.remove.ulremovemode",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM), 0x0,
			"ulRemoveMode",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[1],
			{ "hCppObj", "octvc1.cpp.module.dest.remove.hcppobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hCppObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[2],
			{ "ulCppObjPort", "octvc1.cpp.module.dest.remove.ulcppobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulCppObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[3],
			{ "hDestObj", "octvc1.cpp.module.dest.remove.hdestobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hDestObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[4],
			{ "ulDestObjPort", "octvc1.cpp.module.dest.remove.uldestobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[5],
			{ "ulDestObjFifoId", "octvc1.cpp.module.dest.remove.uldestobjfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[6],
			{ "DestMacAddress", "octvc1.cpp.module.dest.remove.destmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestMacAddress",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP;

void  register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP[0],
			{ "ulNumDestRemoved", "octvc1.cpp.module.dest.remove.ulnumdestremoved",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulNumDestRemoved",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[8];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD;

void  register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[0],
			{ "ulGetType", "octvc1.cpp.module.dest.info.ulgettype",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_DEST_INFO_ENUM), 0x0,
			"ulGetType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[1],
			{ "hCppObj", "octvc1.cpp.module.dest.info.hcppobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hCppObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[2],
			{ "ulCppObjPort", "octvc1.cpp.module.dest.info.ulcppobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulCppObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[3],
			{ "hDestObj", "octvc1.cpp.module.dest.info.hdestobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hDestObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[4],
			{ "ulDestObjPort", "octvc1.cpp.module.dest.info.uldestobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[5],
			{ "ulDestObjFifoId", "octvc1.cpp.module.dest.info.uldestobjfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[6],
			{ "DestMacAddress", "octvc1.cpp.module.dest.info.destmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestMacAddress",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[4];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP;

void  register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[0],
			{ "ulMoreFlag", "octvc1.cpp.module.dest.info.ulmoreflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulMoreFlag",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[1],
			{ "ulNumDestEntry", "octvc1.cpp.module.dest.info.ulnumdestentry",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulNumDestEntry",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[2],
			{ "aDestEntry", "octvc1.cpp.module.dest.info.adestentry",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"aDestEntry",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD;

void  register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD[0],
			{ "ulResetStatsFlag", "octvc1.cpp.module.global.stats.ulresetstatsflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulResetStatsFlag",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[14];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP;

void  register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[0],
			{ "ulControlRxPktCnt", "octvc1.cpp.module.global.stats.ulcontrolrxpktcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulControlRxPktCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[1],
			{ "ulDataRxPktCnt", "octvc1.cpp.module.global.stats.uldatarxpktcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulDataRxPktCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[2],
			{ "ulControlBadHdrLenCnt", "octvc1.cpp.module.global.stats.ulcontrolbadhdrlencnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulControlBadHdrLenCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[3],
			{ "ulDataBadHdrLenCnt", "octvc1.cpp.module.global.stats.uldatabadhdrlencnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulDataBadHdrLenCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[4],
			{ "ulInvalidPktFormatCnt", "octvc1.cpp.module.global.stats.ulinvalidpktformatcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulInvalidPktFormatCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[5],
			{ "ulNoFwdPktCnt", "octvc1.cpp.module.global.stats.ulnofwdpktcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulNoFwdPktCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[6],
			{ "ulCppCmdOverflowCnt", "octvc1.cpp.module.global.stats.ulcppcmdoverflowcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulCppCmdOverflowCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[7],
			{ "ulTxPktQueueOverflowFlag", "octvc1.cpp.module.global.stats.ultxpktqueueoverflowflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulTxPktQueueOverflowFlag",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[8],
			{ "ulTxPktQueueOverflowFifoPoolId", "octvc1.cpp.module.global.stats.ultxpktqueueoverflowfifopoolid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulTxPktQueueOverflowFifoPoolId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[9],
			{ "ulTxPktQueueOverflowFifoIndex", "octvc1.cpp.module.global.stats.ultxpktqueueoverflowfifoindex",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulTxPktQueueOverflowFifoIndex",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[10],
			{ "ulRxFifoResynchFlag", "octvc1.cpp.module.global.stats.ulrxfiforesynchflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulRxFifoResynchFlag",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[11],
			{ "ulRxFifoResynchFifoPoolId", "octvc1.cpp.module.global.stats.ulrxfiforesynchfifopoolid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulRxFifoResynchFifoPoolId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[12],
			{ "ulRxFifoResynchFifoIndex", "octvc1.cpp.module.global.stats.ulrxfiforesynchfifoindex",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulRxFifoResynchFifoIndex",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD;

void  register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD[0],
			{ "ulEthPort", "octvc1.cpp.module.eth.stats.ulethport",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0,
			"ulEthPort",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[11];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP;

void  register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[0],
			{ "ulEthPort", "octvc1.cpp.module.eth.stats.ulethport",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0,
			"ulEthPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[1],
			{ "ulEthRxPktCnt", "octvc1.cpp.module.eth.stats.ulethrxpktcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEthRxPktCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[2],
			{ "ulEthTxPktCnt", "octvc1.cpp.module.eth.stats.ulethtxpktcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEthTxPktCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[3],
			{ "ulEthRxByteCnt", "octvc1.cpp.module.eth.stats.ulethrxbytecnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEthRxByteCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[4],
			{ "ulEthTxByteCnt", "octvc1.cpp.module.eth.stats.ulethtxbytecnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEthTxByteCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[5],
			{ "ulEthBadHdrCnt", "octvc1.cpp.module.eth.stats.ulethbadhdrcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEthBadHdrCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[6],
			{ "ulEthBadHdrLenCnt", "octvc1.cpp.module.eth.stats.ulethbadhdrlencnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEthBadHdrLenCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[7],
			{ "ulEth8023BadLlcOuiCnt", "octvc1.cpp.module.eth.stats.uleth8023badllcouicnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulEth8023BadLlcOuiCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[8],
			{ "ulRxFifoReSyncCnt", "octvc1.cpp.module.eth.stats.ulrxfiforesynccnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulRxFifoReSyncCnt",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[9],
			{ "ulTxPktQueueOverflowCnt", "octvc1.cpp.module.eth.stats.ultxpktqueueoverflowcnt",
			FT_UINT32,BASE_DEC, NULL, 0x0,
			"ulTxPktQueueOverflowCnt",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP;

void  register_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP[0],
			{ "Static", "octvc1.cpp.module.config.get.static",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"Static",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[6];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_CMD;

void  register_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[0],
			{ "hDestObj", "octvc1.cpp.forward.open.hdestobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hDestObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[1],
			{ "ulDestObjPort", "octvc1.cpp.forward.open.uldestobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[2],
			{ "ulDestObjFifoId", "octvc1.cpp.forward.open.uldestobjfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[3],
			{ "DestMacAddress", "octvc1.cpp.forward.open.destmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestMacAddress",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[4],
			{ "SrcMacAddress", "octvc1.cpp.forward.open.srcmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"SrcMacAddress",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[3];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_RSP;

void  register_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[0],
			{ "hForward", "octvc1.cpp.forward.open.hforward",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hForward",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[1],
			{ "ulFifoId", "octvc1.cpp.forward.open.ulfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulFifoId",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD;

void  register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD[0],
			{ "hForward", "octvc1.cpp.forward.close.hforward",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hForward",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP;

void  register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP[0],
			{ "hForward", "octvc1.cpp.forward.close.hforward",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hForward",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[3];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_STATS_CMD;

void  register_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[0],
			{ "ObjectGet", "octvc1.cpp.forward.stats.objectget",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"ObjectGet",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[1],
			{ "ulResetStatsFlag", "octvc1.cpp.forward.stats.ulresetstatsflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulResetStatsFlag",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_STATS_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP[2];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_STATS_RSP;

void  register_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP[0],
			{ "ObjectGet", "octvc1.cpp.forward.stats.objectget",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"ObjectGet",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_STATS_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[7];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_INFO_CMD;

void  register_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[0],
			{ "ObjectGet", "octvc1.cpp.forward.info.objectget",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"ObjectGet",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[1],
			{ "ulGetType", "octvc1.cpp.forward.info.ulgettype",
			FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_DEST_INFO_ENUM), 0x0,
			"ulGetType",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[2],
			{ "hDestObj", "octvc1.cpp.forward.info.hdestobj",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"hDestObj",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[3],
			{ "ulDestObjPort", "octvc1.cpp.forward.info.uldestobjport",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjPort",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[4],
			{ "ulDestObjFifoId", "octvc1.cpp.forward.info.uldestobjfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulDestObjFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[5],
			{ "DestMacAddress", "octvc1.cpp.forward.info.destmacaddress",
			FT_STRING, BASE_NONE, NULL, 0x0,
			"DestMacAddress",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_INFO_CMD.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

int ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[6];
tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_INFO_RSP;

void  register_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP(void)
{
	static hf_register_info hf[] =
	{
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[0],
			{ "ObjectGet", "octvc1.cpp.forward.info.objectget",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"ObjectGet",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[1],
			{ "ulFifoId", "octvc1.cpp.forward.info.ulfifoid",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulFifoId",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[2],
			{ "ulMoreFlag", "octvc1.cpp.forward.info.ulmoreflag",
			FT_BOOLEAN, BASE_NONE, NULL, 0x0,
			"ulMoreFlag",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[3],
			{ "ulNumDestEntry", "octvc1.cpp.forward.info.ulnumdestentry",
			FT_UINT32,BASE_HEX, NULL, 0x0,
			"ulNumDestEntry",HFILL }

		},
		{
			&ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[4],
			{ "aDestEntry", "octvc1.cpp.forward.info.adestentry",
			FT_NONE, BASE_NONE, NULL, 0x0,
			"aDestEntry",HFILL }

		},
	};

	static gint* ett[] =
	{
		&ws_htOCTVC1_CPP_MSG_FORWARD_INFO_RSP.ett
	};

	proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );

};

/****************************************************************************
	COMMON dissectors 
 ****************************************************************************/


unsigned int  dissect_tOCTVC1_CPP_CONFIG_STATIC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_CONFIG_STATIC)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_CONFIG_STATIC (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_CONFIG_STATIC));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_CONFIG_STATIC);
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[0], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxDestination), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxDestination);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpCnct);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxUdpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxUdpCnct);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[5], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[5], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpCnct);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[6], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxRtpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[6], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxRtpCnct);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[7], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[7], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[8], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[8], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpCnct);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[9], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxIpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[9], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxIpPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[10], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxForwardObj), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[10], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxForwardObj);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[11], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMask), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[11], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMask);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[12], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMatch), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[12], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMatch);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[13], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonEthernetBandwidth), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[13], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonEthernetBandwidth);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[14], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonUdpBandwidth), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[14], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonUdpBandwidth);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY);
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[0], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPacketEncodeType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPacketEncodeType);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulRtpPayloadType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulRtpPayloadType);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPktPortIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPktPortIndex);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY);
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[0], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulPacketEncodeType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulPacketEncodeType);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulRtpPayloadType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulRtpPayloadType);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_DEST_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_DEST_ENTRY)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_DEST_ENTRY (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_DEST_ENTRY));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_DEST_ENTRY);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, hCppObj), "hCppObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulCppObjPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulCppObjPort);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, hDestObj), "hDestObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjFifoId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjFifoId);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[5], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[6], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","BridgeMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_COMMON(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_COMMON)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_COMMON (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_COMMON));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_COMMON);
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[0], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderType);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderLength);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_ETHERNET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_ETHERNET)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_ETHERNET (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_ETHERNET));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_ETHERNET);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertypeEncoding), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertypeEncoding);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertype), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertype);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[3], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","SourceMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[4], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestinationMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_ETH_PQ(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_ETH_PQ)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_ETH_PQ (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_ETH_PQ));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_ETH_PQ);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertypeEncoding), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertypeEncoding);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertype), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertype);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulTci), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulTci);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[4], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","SourceMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[5], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestinationMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_LLC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_LLC)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_LLC (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_LLC));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_LLC);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_LLC, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_LLC[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_LLC, ulLlcValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_LLC[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_LLC, ulLlcValue);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_NLPID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_NLPID)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_NLPID (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_NLPID));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_NLPID);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_NLPID, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_NLPID[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_NLPID, ulNlpidValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_NLPID[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_NLPID, ulNlpidValue);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_SNAP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_SNAP)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_SNAP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_SNAP));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_SNAP);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulOuiValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulOuiValue);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulPidValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulPidValue);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_IPV4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_IPV4)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_IPV4 (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_IPV4));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_IPV4);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTypeOfService), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTypeOfService);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTimeToLive), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTimeToLive);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulProtocol), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulProtocol);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulFlags), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulFlags);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[5], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulSourceAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[5], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulSourceAddr);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[6], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulDestinationAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[6], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulDestinationAddr);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[7], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulUdpChecksumAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[7], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulUdpChecksumAddr);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[8], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulOptionsLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[8], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulOptionsLength);

		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, aulOptions), "aulOptions");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<1; i++ )
			{
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[9], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, aulOptions), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[9], tvb, offset,
			4, temp_data, "[%d]: 0x%08x", i, temp_data );
		}
				offset+=4;
			}
		}
	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_IPV6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_IPV6)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_IPV6 (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_IPV6));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_IPV6);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulTrafficClass), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulTrafficClass);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulFlowLabel), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulFlowLabel);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulHopLimit), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulHopLimit);

		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulSourceAddr), "aulSourceAddr");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<4; i++ )
			{
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulSourceAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[4], tvb, offset,
			4, temp_data, "[%d]: 0x%08x", i, temp_data );
		}
				offset+=4;
			}
		}
		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulDestinationAddr), "aulDestinationAddr");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<4; i++ )
			{
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[5], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulDestinationAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[5], tvb, offset,
			4, temp_data, "[%d]: 0x%08x", i, temp_data );
		}
				offset+=4;
			}
		}
		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulUdpChecksumAddr), "aulUdpChecksumAddr");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<4; i++ )
			{
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[6], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulUdpChecksumAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[6], tvb, offset,
			4, temp_data, "[%d]: 0x%08x", i, temp_data );
		}
				offset+=4;
			}
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[7], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulNextHeader), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[7], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulNextHeader);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_UDP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_UDP)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_UDP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_UDP));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_UDP);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulSourcePort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulSourcePort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulDestinationPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulDestinationPort);

	}


	return offset;

};


unsigned int  dissect_tOCTVC1_CPP_TX_HDR_RTP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_RTP)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_TX_HDR_RTP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_TX_HDR_RTP));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		bytes = sizeof(tOCTVC1_CPP_TX_HDR_RTP);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulNumContributingSources), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulNumContributingSources);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulSynchronizationSource), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulSynchronizationSource);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[3], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionFlag);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionType);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[5], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[5], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionLength);

		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulCsrcs), "aulCsrcs");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<15; i++ )
			{
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[6], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulCsrcs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[6], tvb, offset,
			4, temp_data, "[%d]: 0x%08x", i, temp_data );
		}
				offset+=4;
			}
		}
		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulExtensions), "aulExtensions");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<1; i++ )
			{
		temp_data = tvb_get_ntohl( tvb, offset );
		if( pExtValue && (pExtValue->lValue == temp_data ) )
		{
		ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[7], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulExtensions), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
		}else
		{
		ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[7], tvb, offset,
			4, temp_data, "[%d]: 0x%08x", i, temp_data );
		}
				offset+=4;
			}
		}
	}


	return offset;

};

/****************************************************************************
	CMD/RSP dissectors 
 ****************************************************************************/


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, hCppObj), "hCppObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulCppObjPort);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulDestObjPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( temp_data == cOCTVC1_FIFO_ID_INVALID)
		{		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data);
		}else {
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[4], tvb, offset,
			4, temp_data);
		}
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulDestObjFifoId);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[5], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[6], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","SrcMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[7], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","BridgeMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP, hCppObj), "hCppObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulRemoveMode);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, hCppObj), "hCppObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulCppObjPort);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulDestObjPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( temp_data == cOCTVC1_FIFO_ID_INVALID)
		{		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[5], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data);
		}else {
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[5], tvb, offset,
			4, temp_data);
		}
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulDestObjFifoId);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[6], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP, ulNumDestRemoved);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulGetType);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, hCppObj), "hCppObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulCppObjPort);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulDestObjPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( temp_data == cOCTVC1_FIFO_ID_INVALID)
		{		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[5], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data);
		}else {
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[5], tvb, offset,
			4, temp_data);
		}
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulDestObjFifoId);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[6], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[0], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, ulMoreFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, ulMoreFlag);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, ulNumDestEntry);

		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, aDestEntry), "aDestEntry:tOCTVC1_CPP_DEST_ENTRY");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<4; i++ )
			{
		{
			proto_tree*	sub_tree2;
			ti = proto_tree_add_text(sub_tree, tvb, offset,
				sizeof(tOCTVC1_CPP_DEST_ENTRY), "[%d]:", i);
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_DEST_ENTRY( tvb, pinfo, sub_tree2, offset, NULL );
		}
			}
		}
	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD[0], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD, ulResetStatsFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD, ulResetStatsFlag);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulControlRxPktCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulDataRxPktCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulControlBadHdrLenCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulDataBadHdrLenCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulInvalidPktFormatCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[5], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulNoFwdPktCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[6], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulCppCmdOverflowCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[7], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFlag);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[8], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFifoPoolId);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[9], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFifoIndex);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[10], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFlag);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[11], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFifoPoolId);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[12], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFifoIndex);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD, ulEthPort);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[0], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthRxPktCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[2], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthTxPktCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthRxByteCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[4], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthTxByteCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[5], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthBadHdrCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[6], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthBadHdrLenCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[7], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEth8023BadLlcOuiCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[8], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulRxFifoReSyncCnt);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[9], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulTxPktQueueOverflowCnt);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP, Static), "Static:tOCTVC1_CPP_CONFIG_STATIC");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_CONFIG_STATIC( tvb, pinfo, sub_tree2, offset, NULL );
		}
	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, ulDestObjPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( temp_data == cOCTVC1_FIFO_ID_INVALID)
		{		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data);
		}else {
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[2], tvb, offset,
			4, temp_data);
		}
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, ulDestObjFifoId);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[3], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[4], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","SrcMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP, hForward), "hForward:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP, ulFifoId);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD, hForward), "hForward:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP, hForward), "hForward:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[1], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD, ulResetStatsFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD, ulResetStatsFlag);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL );
		}
	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulGetType);

		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulDestObjPort);

		temp_data = tvb_get_ntohl( tvb, offset );
		if( temp_data == cOCTVC1_FIFO_ID_INVALID)
		{		ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[4], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data);
		}else {
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[4], tvb, offset,
			4, temp_data);
		}
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulDestObjFifoId);

		{
		int ulMac0, ulMac1;
			unsigned int	offs = offset;
			ulMac0 = tvb_get_ntohl( tvb, offs );
			offs += 4;
			ulMac1 = tvb_get_ntohl( tvb, offs );
		ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[5], tvb, offset,
			sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", 
			(( ulMac0 & 0x0000FF00 ) >> 8 ),
			( ulMac0 & 0x000000FF ),
			(( ulMac1 & 0xFF000000 ) >> 24 ),
			(( ulMac1 & 0x00FF0000 ) >> 16 ),
			(( ulMac1 & 0x0000FF00 ) >> 8 ),
			( ulMac1 & 0x000000FF ) );
		}
		offset += sizeof(tOCTVC1_MAC_ADDRESS);

	}


	return 0;

};


unsigned int  dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset )
{
	proto_tree *field_tree = tree;
	unsigned int offset_0 = offset;
	gint bytes = tvb_length_remaining(tvb, offset);
	if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)))
	{
		proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)",
			bytes, plurality(bytes, "", "s"),
			sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER));
		return 1;
	}
	else
	{
		int  temp_data = 0;
		proto_item *ti;
		ti = proto_tree_add_text(tree, tvb, offset, bytes,
			"tOCTVC1_CPP_MSG_FORWARD_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s"));

		field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
		ti = proto_tree_add_text(field_tree, tvb, offset, 
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET");
		{
			proto_tree*	sub_tree2;
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL );
		}
		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[1], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulFifoId);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[2], tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulMoreFlag), temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulMoreFlag);

		temp_data = tvb_get_ntohl( tvb, offset );
		{
		ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[3], tvb, offset,
			4, temp_data);
		}
		offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulNumDestEntry);

		ti = proto_tree_add_text(field_tree, tvb, offset,
			mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, aDestEntry), "aDestEntry:tOCTVC1_CPP_DEST_ENTRY");
		{
			int i, ofs=offset;
			proto_tree*	sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			for( i=0; i<4; i++ )
			{
		{
			proto_tree*	sub_tree2;
			ti = proto_tree_add_text(sub_tree, tvb, offset,
				sizeof(tOCTVC1_CPP_DEST_ENTRY), "[%d]:", i);
			sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
			offset = dissect_tOCTVC1_CPP_DEST_ENTRY( tvb, pinfo, sub_tree2, offset, NULL );
		}
			}
		}
	}


	return 0;

};
/****************************************************************************
	MODULE REGISTERED EXPORTED FUNCTION
 ****************************************************************************/

void ws_register_OCTVC1_CPP(void)
{
	/****************************************************************************
		Register Common struct
	****************************************************************************/
	register_tOCTVC1_CPP_CONFIG_STATIC(); 
	register_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY(); 
	register_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY(); 
	register_tOCTVC1_CPP_DEST_ENTRY(); 
	register_tOCTVC1_CPP_TX_HDR_COMMON(); 
	register_tOCTVC1_CPP_TX_HDR_ETHERNET(); 
	register_tOCTVC1_CPP_TX_HDR_ETH_PQ(); 
	register_tOCTVC1_CPP_TX_HDR_LLC(); 
	register_tOCTVC1_CPP_TX_HDR_NLPID(); 
	register_tOCTVC1_CPP_TX_HDR_SNAP(); 
	register_tOCTVC1_CPP_TX_HDR_IPV4(); 
	register_tOCTVC1_CPP_TX_HDR_IPV6(); 
	register_tOCTVC1_CPP_TX_HDR_UDP(); 
	register_tOCTVC1_CPP_TX_HDR_RTP(); 

	/****************************************************************************
		CMD/RSP Registered 
	****************************************************************************/
	register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD(); 
	register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP(); 
	register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD(); 
	register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP(); 
	register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD(); 
	register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP(); 
	register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD(); 
	register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP(); 
	register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD(); 
	register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP(); 
	register_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP(); 
	register_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD(); 
	register_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP(); 
	register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD(); 
	register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP(); 
	register_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD(); 
	register_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP(); 
	register_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD(); 
	register_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP(); 

}

/****************************************************************************
	MODULE DISSECTOR FUNCTIONS
 ****************************************************************************/
int ws_dissect_OCTVC1_CPP_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
{
	if( tree )
	{
		switch( CID ) {
			case cOCTVC1_CPP_MSG_MODULE_ADD_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_INFO_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_STATS_ETH_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CID: return 0; break;
			case cOCTVC1_CPP_MSG_FORWARD_OPEN_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_CLOSE_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_STATS_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_INFO_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD( tvb, pinfo, tree, 0 ); break;
			default: return 1;
		}
	}
	return 0;

}
int ws_dissect_OCTVC1_CPP_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
{
	if( tree )
	{
		switch( CID ) {
			case cOCTVC1_CPP_MSG_MODULE_ADD_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_INFO_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_STATS_ETH_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_OPEN_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_CLOSE_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_STATS_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP( tvb, pinfo, tree, 0 ); break;
			case cOCTVC1_CPP_MSG_FORWARD_INFO_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP( tvb, pinfo, tree, 0 ); break;
			default: return 1;
		}
	}
	return 0;

}
int ws_dissect_OCTVC1_CPP_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
{
	if( tree )
	{
		switch( CID ) {
			default: return 1;
		}
	}
	return 0;

}

/****************************************************************************
	MODULE DISSECTOR EXPORTED FUNCTION
 ****************************************************************************/

int ws_dissect_OCTVC1_CPP( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
{
	if (message_type == cOCTVC1_MSG_TYPE_RESPONSE)
		return ws_dissect_OCTVC1_CPP_RSP( CID, tvb, pinfo, tree);
	if (message_type == cOCTVC1_MSG_TYPE_COMMAND)
		return ws_dissect_OCTVC1_CPP_CMD( CID, tvb, pinfo, tree);
	if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION )
		return ws_dissect_OCTVC1_CPP_EVT( CID, tvb, pinfo, tree);
	else
		return 1;

}

