diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2008-08-23 07:28:27 -0400 |
---|---|---|
committer | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2008-09-04 01:45:25 -0400 |
commit | eac7726bf5cd24440d84b166e0813668d1bf3224 (patch) | |
tree | 02d293769c68cd87f3cc8c2184080f2e8a58fc42 /net/dccp/options.c | |
parent | faf61c3319ea336ed47acd6ca86faaaa3a8f4937 (diff) |
dccp: Fill in the Data fields for "Option Error" Resets
This updates the use of the `out_invalid_option' label, which produces a
Reset (code 5, "Option Error"), to fill in the Data1...Data3 fields as
specified in RFC 4340, 5.6.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Diffstat (limited to 'net/dccp/options.c')
-rw-r--r-- | net/dccp/options.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/dccp/options.c b/net/dccp/options.c index 4284f0856047..0809b63cb055 100644 --- a/net/dccp/options.c +++ b/net/dccp/options.c | |||
@@ -291,6 +291,9 @@ out_invalid_option: | |||
291 | DCCP_INC_STATS_BH(DCCP_MIB_INVALIDOPT); | 291 | DCCP_INC_STATS_BH(DCCP_MIB_INVALIDOPT); |
292 | DCCP_SKB_CB(skb)->dccpd_reset_code = DCCP_RESET_CODE_OPTION_ERROR; | 292 | DCCP_SKB_CB(skb)->dccpd_reset_code = DCCP_RESET_CODE_OPTION_ERROR; |
293 | DCCP_WARN("DCCP(%p): invalid option %d, len=%d", sk, opt, len); | 293 | DCCP_WARN("DCCP(%p): invalid option %d, len=%d", sk, opt, len); |
294 | DCCP_SKB_CB(skb)->dccpd_reset_data[0] = opt; | ||
295 | DCCP_SKB_CB(skb)->dccpd_reset_data[1] = len > 0 ? value[0] : 0; | ||
296 | DCCP_SKB_CB(skb)->dccpd_reset_data[2] = len > 1 ? value[1] : 0; | ||
294 | return -1; | 297 | return -1; |
295 | } | 298 | } |
296 | 299 | ||