dccp: Fill in the Data fields for "Option Error" Resets
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Sat, 23 Aug 2008 11:28:27 +0000 (13:28 +0200)
committerGerrit Renker <gerrit@erg.abdn.ac.uk>
Wed, 27 Aug 2008 05:22:00 +0000 (07:22 +0200)
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>
net/dccp/options.c

index 4284f08560476df47321f8fdea2771a6b5422707..0809b63cb055a204a0eccbb05d28af88d73ef022 100644 (file)
@@ -291,6 +291,9 @@ out_invalid_option:
        DCCP_INC_STATS_BH(DCCP_MIB_INVALIDOPT);
        DCCP_SKB_CB(skb)->dccpd_reset_code = DCCP_RESET_CODE_OPTION_ERROR;
        DCCP_WARN("DCCP(%p): invalid option %d, len=%d", sk, opt, len);
+       DCCP_SKB_CB(skb)->dccpd_reset_data[0] = opt;
+       DCCP_SKB_CB(skb)->dccpd_reset_data[1] = len > 0 ? value[0] : 0;
+       DCCP_SKB_CB(skb)->dccpd_reset_data[2] = len > 1 ? value[1] : 0;
        return -1;
 }