/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ 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 . Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) $Octasic_Revision: $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ /***************************** INCLUDE FILES *******************************/ #include #include #include "../../../include/oct_ws_macro.h" #include "../include/module.h" #include "../include/octvc1_common.h" #include /**************************************************************************** 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; }