summaryrefslogtreecommitdiffstats
path: root/3rdparty/openpgm-svn-r1085/pgm/options.txt
blob: cb01da02c5883b9c34dadba4c62f658a3c0f3de1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
OPT_LENGTH      0x00 - Option's Length

pgm_opt_header
pgm_opt_length

first option, always present.

--------------------------------------------------------------------------------

   OPT_FRAGMENT    0x01 - Fragmentation

pgm_opt_header
pgm_opt_fragment

may be present for odata, rdata.  'MAY' exist for others, although a bit strange.

--------------------------------------------------------------------------------

   OPT_NAK_LIST    0x02 - List of NAK entries

pgm_opt_header
pgm_opt_nak_list

may be present for naks.

--------------------------------------------------------------------------------

   OPT_JOIN        0x03 - Late Joining

pgm_opt_header
pgm_opt_join

may be present for odata, rdata, spm.

requires SPM to learn NLA already so not overly useful with odata/rdata, could be
used with video streaming to last i-frame data sequence number.

--------------------------------------------------------------------------------

   OPT_REDIRECT    0x07 - Redirect

pgm_opt_header
pgm_opt_redirect
pgm_opt_redirect6

should be present for polrs from a dlr.

--------------------------------------------------------------------------------

   OPT_SYN         0x0D - Synchronization

pgm_opt_header
pgm_opt_syn

must only appear with odata or rdata.

--------------------------------------------------------------------------------

   OPT_FIN         0x0E - Session Fin   receivers, conventional
                          feedbackish

pgm_opt_header
opt_opt_fin

may be present for odata, rdata, must appear in following spms.

--------------------------------------------------------------------------------

   OPT_RST         0x0F - Session Reset

pgm_opt_header
pgm_opt_rst

must only appear in spms.  not many 'unrecoverable error conditions' exist though.

--------------------------------------------------------------------------------

   OPT_PARITY

must appear in odata or rdata to indicate pro-active or on-demand parity data,
nak to request parity repair data, ncf to confirm parity nak.


   OPT_VAR_PKTLEN

may be present in odata or data to indicate variable size packets.


   OPT_PARITY_PRM  0x08 - Forward Error Correction Parameters

pgm_opt_header
pgm_opt_parity_prm

appended to spms to inform of pro-active or on-demand parity.

--------------------------------------------------------------------------------

   OPT_PARITY_GRP  0x09 - Forward Error Correction Group Number

pgm_opt_parity_grp

appended to odata and rdata parity packets.

--------------------------------------------------------------------------------

   OPT_CURR_TGSIZE 0x0A - Forward Error Correction Group Size

pgm_opt_curr_tgsize

must appear in last odata or rdata packet of variable transmission group, may
appear in spms.

--------------------------------------------------------------------------------

   OPT_CR          0x10 - Congestion Report

pgm_opt_header
pgm_opt_cr

--------------------------------------------------------------------------------

   OPT_CRQST       0x11 - Congestion Report Request

pgm_opt_header
pgm_opt_crqst

--------------------------------------------------------------------------------

   OPT_NAK_BO_IVL  0x04 - NAK Back-Off Interval

pgm_opt_header
pgm_opt_nak_bo_ivl

--------------------------------------------------------------------------------

   OPT_NAK_BO_RNG  0x05 - NAK Back-Off Range

pgm_opt_header
pgm_opt_nak_bo_rng

--------------------------------------------------------------------------------

   OPT_NBR_UNREACH 0x0B - Neighbor Unreachable

pgm_opt_header
pgm_opt_nbr_unreach

--------------------------------------------------------------------------------

   OPT_PATH_NLA    0x0C - Path NLA

pgm_opt_header
pgm_opt_path_nla
pgm_opt6_path_nla

--------------------------------------------------------------------------------

   OPT_INVALID     0x7F - Option invalidated