Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-bpv6.h
1 /* packet-bpv6.h
2  * References:
3  * RFC 5050: https://tools.ietf.org/html/rfc5050
4  *
5  * Copyright 2006-2007 The MITRE Corporation.
6  * All Rights Reserved.
7  * Approved for Public Release; Distribution Unlimited.
8  * Tracking Number 07-0090.
9  *
10  * The US Government will not be charged any license fee and/or royalties
11  * related to this software. Neither name of The MITRE Corporation; nor the
12  * names of its contributors may be used to endorse or promote products
13  * derived from this software without specific prior written permission.
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * SPDX-License-Identifier: GPL-2.0-or-later
20  */
21 #ifndef PACKET_BPV6_H
22 #define PACKET_BPV6_H
23 
24 #include <ws_symbol_export.h>
25 #include <epan/tvbuff.h>
26 #include <epan/proto.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #define BUNDLE_PORT 4556
33 
34 #define BUNDLE_PROCFLAGS_FRAG_MASK 0x01
35 #define BUNDLE_PROCFLAGS_ADMIN_MASK 0x02
36 #define BUNDLE_PROCFLAGS_DONTFRAG_MASK 0x04
37 #define BUNDLE_PROCFLAGS_XFERREQ_MASK 0x08
38 #define BUNDLE_PROCFLAGS_SINGLETON_MASK 0x10
39 #define BUNDLE_PROCFLAGS_APP_ACK_MASK 0x20
40 
41 #define BUNDLE_COSFLAGS_PRIORITY_MASK 0x03
42 #define BUNDLE_COSFLAGS_PRIORITY_BULK 0x00
43 #define BUNDLE_COSFLAGS_PRIORITY_NORMAL 0x01
44 #define BUNDLE_COSFLAGS_PRIORITY_EXP 0x02
45 
46 #define BUNDLE_SRRFLAGS_REPORT_MASK 0x01
47 #define BUNDLE_SRRFLAGS_CUSTODY_MASK 0x02
48 #define BUNDLE_SRRFLAGS_FORWARD_MASK 0x04
49 #define BUNDLE_SRRFLAGS_DELIVERY_MASK 0x08
50 #define BUNDLE_SRRFLAGS_DELETION_MASK 0x10
51 #define BUNDLE_SRRFLAGS_ACK_MASK 0x20
52 
53 /* Header Processing Flags (non-primary) */
54 #define HEADER_PROCFLAGS_REPLICATE 0x01
55 #define HEADER_PROCFLAGS_XMIT_STATUS 0x02
56 #define HEADER_PROCFLAGS_DISCARD 0x04
57 #define HEADER_PROCFLAGS_LAST_HEADER 0x08
58 
59 /* Header Types (excluding Primary Header) */
60 #define BUNDLE_BLOCK_TYPE_PAYLOAD 0x01 /* RFC5050 */
61 #define BUNDLE_BLOCK_TYPE_AUTHENTICATION 0x02 /* RFC6257 */
62 #define BUNDLE_BLOCK_TYPE_INTEGRITY 0x03 /* RFC6257 */
63 #define BUNDLE_BLOCK_TYPE_CONFIDENTIALITY 0x04 /* RFC6257 */
64 #define BUNDLE_BLOCK_TYPE_PREVIOUS_HOP_INSERT 0x05 /* RFC6259 */
65 #define BUNDLE_BLOCK_TYPE_METADATA_EXTENSION 0x08 /* RFC6258 */
66 #define BUNDLE_BLOCK_TYPE_EXTENSION_SECURITY 0x09 /* RFC6257 */
67 #define BUNDLE_BLOCK_TYPE_CUSTODY_TRANSFER 0x0a /* http://bioserve.colorado.edu/bp-acs/ */
68 #define BUNDLE_BLOCK_TYPE_EXTENDED_COS 0x13 /* http://tools.ietf.org/html/draft-irtf-dtnrg-ecos-02 */
69 #define BUNDLE_BLOCK_TYPE_BUNDLE_AGE 0x14 /* https://tools.ietf.org/html/draft-irtf-dtnrg-bundle-age-block-01 */
70 
71 /* Payload Header Processing Flags */
72 #define PAYLOAD_PROCFLAGS_REPLICATE_MASK 0x01
73 #define PAYLOAD_PROCFLAGS_XMIT_STATUS 0x02
74 #define PAYLOAD_PROCFLAGS_DISCARD_FAILURE 0x04
75 #define PAYLOAD_PROCFLAGS_LAST_HEADER 0x08
76 
77 /* Administrative Record Definitions */
78 #define ADMIN_REC_TYPE_STATUS_REPORT 0x01
79 #define ADMIN_REC_TYPE_CUSTODY_SIGNAL 0x02
80 #define ADMIN_REC_TYPE_AGGREGATE_CUSTODY_SIGNAL 0x04
81 #define ADMIN_REC_TYPE_ANNOUNCE_BUNDLE 0x05
82 
83 #define ADMIN_REC_FLAGS_FRAGMENT 0x01
84 #define ADMIN_REC_CUSTODY_REASON_MASK 0x7f
85 
86 /* Bundle Status Report Flags */
87 #define ADMIN_STATUS_FLAGS_RECEIVED 0x01
88 #define ADMIN_STATUS_FLAGS_ACCEPTED 0x02
89 #define ADMIN_STATUS_FLAGS_FORWARDED 0x04
90 #define ADMIN_STATUS_FLAGS_DELIVERED 0x08
91 #define ADMIN_STATUS_FLAGS_DELETED 0x10
92 #define ADMIN_STATUS_FLAGS_ACKNOWLEDGED 0x20
93 
94 /* Block Processing Control Flags (Version 5) */
95 #define BLOCK_CONTROL_REPLICATE 0x01
96 #define BLOCK_CONTROL_TRANSMIT_STATUS 0x02
97 #define BLOCK_CONTROL_DELETE_BUNDLE 0x04
98 #define BLOCK_CONTROL_LAST_BLOCK 0x08
99 #define BLOCK_CONTROL_DISCARD_BLOCK 0x10
100 #define BLOCK_CONTROL_NOT_PROCESSED 0x20
101 #define BLOCK_CONTROL_EID_REFERENCE 0x40
102 
103 /* ECOS Flags */
104 #define ECOS_FLAGS_CRITICAL 0x01
105 #define ECOS_FLAGS_STREAMING 0x02
106 #define ECOS_FLAGS_FLOWLABEL 0x04
107 #define ECOS_FLAGS_RELIABLE 0x08
108 
109 /* Ciphersuite Flags */
110 #define BLOCK_CIPHERSUITE_PARAMS 0x01
111 
112 #define DTN_SCHEME_STR "dtn"
113 #define IPN_SCHEME_STR "ipn"
114 
115 #ifdef __cplusplus
116 }
117 #endif
118 
119 #endif /* PACKET_AMP_H */
120 
121 /*
122  * Editor modelines - https://www.wireshark.org/tools/modelines.html
123  *
124  * Local variables:
125  * c-basic-offset: 4
126  * tab-width: 8
127  * indent-tabs-mode: nil
128  * End:
129  *
130  * vi: set shiftwidth=4 tabstop=8 expandtab:
131  * :indentSize=4:tabSize=8:noTabs=true:
132  */