Added IANA-assigned DCCP Service Codes.

Changes:
* Added list of IANA-assigned DCCP Service Codes.
* Added decoding of DCCP Service Codes into DCCP dissector.
This commit is contained in:
Thomas Dreibholz 2021-02-19 13:30:26 +01:00
parent 06a65f121f
commit b82d08ab18
2 changed files with 58 additions and 1 deletions

33
epan/dccpservicecodes.h Normal file
View File

@ -0,0 +1,33 @@
/* dccpservicecodes.h
* Declarations of DCCP payload protocol IDs.
*
* Copyright 2021 by Thomas Dreibholz <dreibh [AT] simula.no>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef __DCCPSERVICECODES_H__
#define __DCCPSERVICECODES_H__
/*
* DCCP Service Codes.
* From https://www.iana.org/assignments/service-codes/service-codes.xhtml
* as of 2021-02-19
*
* Please do not put non-IANA-registered service codes here. Put them in the
* dissector using them instead (and consider registering them!).
*/
#define NOT_SPECIFIED_SERVICE_CODE 0
#define LTP_SERVICE_CODE 7107696
#define DISC_SERVICE_CODE 1145656131
#define RTCP_SERVICE_CODE 1381253968
#define RTPA_SERVICE_CODE 1381257281
#define RTPO_SERVICE_CODE 1381257295
#define RTPT_SERVICE_CODE 1381257300
#define RTPV_SERVICE_CODE 1381257302
#define SYLG_SERVICE_CODE 1398361159
#define BUNDLES_SERVICE_CODE 1685351985
#define NPMP_SERVICE_CODE 1852861808
#define RESERVED_SERVICE_CODE 4294967295
#endif /* dccpservicecodes.h */

View File

@ -32,12 +32,16 @@
*
* Mar 11, 2012: add support for RFC 5596 (DCCP-Listen Packet)
* (Francesco Fondelli)
*
* Feb 19, 2021: added service code types
* (Thomas Dreibholz)
*/
#include "config.h"
#include <epan/packet.h>
#include <epan/addr_resolv.h>
#include <epan/dccpservicecodes.h>
#include <epan/ipproto.h>
#include <epan/in_cksum.h>
#include <epan/prefs.h>
@ -92,6 +96,26 @@ static const value_string dccp_packet_type_vals[] = {
{0, NULL }
};
/*
* Based on https://www.iana.org/assignments/service-codes/service-codes.xhtml
* as of February 19th, 2021
*/
static const value_string dccp_service_code_vals[] = {
{ NOT_SPECIFIED_SERVICE_CODE, "not specified" },
{ LTP_SERVICE_CODE, "LTP: Licklider Transmission Protocol" },
{ DISC_SERVICE_CODE, "DISC: Discard" },
{ RTCP_SERVICE_CODE, "RTCP: RTCP connection, separate from the corresponding RTP" },
{ RTPA_SERVICE_CODE, "RTPA: RTP session conveying audio data (and associated RTCP)" },
{ RTPO_SERVICE_CODE, "RTPO: RTP session conveying other media (and associated RTCP)" },
{ RTPT_SERVICE_CODE, "RTPT: RTP session conveying text media (and associated RTCP)" },
{ RTPV_SERVICE_CODE, "RTPV: RTP session conveying video data (and associated RTCP)" },
{ SYLG_SERVICE_CODE, "SYLG: Syslog Protocol" },
{ BUNDLES_SERVICE_CODE, "Bundle Protocol" },
{ NPMP_SERVICE_CODE, "NPMP: NetPerfMeter Data" },
{ RESERVED_SERVICE_CODE, "Reserved (Invalid)" },
{ 0, NULL } };
static const value_string dccp_reset_code_vals[] = {
{0x00, "Unspecified" },
{0x01, "Closed" },
@ -1134,7 +1158,7 @@ proto_register_dccp(void)
&hf_dccp_service_code,
{
"Service Code", "dccp.service_code",
FT_UINT32, BASE_DEC, NULL, 0x0,
FT_UINT32, BASE_DEC, VALS(dccp_service_code_vals), 0x0,
NULL, HFILL
}
},