Skip to content

: Encoding, inserting, and processing Feature-Negotiation options

Gerrit Renker dccp 1 version In review

Get series with b4
b4 am 200710011518.08134@strip-the-willow

Versions newest first

  1. v1 Latest11 patches 16 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11: Auxiliary function for smallest-fit option lengthsinclude/linux/dccp.h net/dccp/feat.h net/dccp/options.c+15 -103 replies
2/11: Increase the scope of variable-length htonl/ntohl functionsnet/dccp/feat.h net/dccp/options.c+16 -71 reply
3/11: Upgrade NDP count from u32 to u64include/linux/dccp.h net/dccp/ccids/ccid3.c net/dccp/ccids/lib/packet_history.c +2 more+22 -181 reply
4/11: Support for Mandatory optionsnet/dccp/feat.h net/dccp/options.c+17 -01 reply
5/11: Update insertion routine for feature-negotiation optionsnet/dccp/ackvec.c net/dccp/ackvec.h net/dccp/feat.h +1 more+39 -152 replies
6/11: Insert feature-negotiation options into skbnet/dccp/dccp.h net/dccp/feat.c net/dccp/options.c+59 -453 replies
7/11: Integrate feature-negotiation insertion codenet/dccp/options.c+19 -191 reply
8/11: Preference list reconciliationnet/dccp/feat.c+50 -1801 reply
9/11: Fill in the Data1..3 fields when option processing encounters option errorsnet/dccp/options.c+12 -61 reply
10/11: Process incoming Change requestsnet/dccp/feat.c net/dccp/feat.h net/dccp/options.c+132 -1071 reply
11/11: Processing Confirm optionsnet/dccp/feat.c net/dccp/feat.h net/dccp/options.c+99 -701 reply

Reviews trailers per patch

All 11 patches have a Reviewed-by or Acked-by.

PatchIan McDonald
1/11A-b
2/11A-b
3/11A-b
4/11A-b
5/11A-b
6/11A-b A-b
7/11A-b
8/11A-b
9/11A-b
10/11A-b
11/11A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/11]: Encoding, inserting, and processing Feature-Negotiation options

Patch #1: Increases the find-smallest-optlen function to go up to 6 bytes
which is the maximum for Seq Window and NDP count; and adds a Fixme, since some of the code still refers to an older draft using 3-bytes NDP count (wireshark was the same).

Patch #2: In the same manner, the scope of the variable-length htonl/ntohl
functions dccp_{de,en}code_value_var() is increased to up to 6 bytes.

Patch #3: Resolves the problem raised in patch#1 and updates NDP count usage from
3 to 6 bytes. The CCID3 code got an overflow warning instead of a full
update: let's first wait and celebrate the first connection to hit an NDP count of 2^32-1. Until that happens, many other problems can be resolved.

Patch #4: An dccp_insert_mandatory_opt() to add Mandatory option support (RFC 4340, 5.8.2)

Patch #5: Update for the dccp_insert_feat_opt() routine (more checks, more functionality).

Patch #6: The Feature-Negotiation end of the insert-into-skb business. This function now
calls the function in options.c. Unlike before, the interfaces between option-inserting code and feature-negotiation code are now separate, connected via this function.

Patch #7: Integrate insertion of feature-negotiation options at the server and the client (glue

          patch for #5 and #6).

Patch #8: Routines for (a) reconciling SP preference lists, (b) reordering a preference list
so that a now-preferred entry comes first.

Patch #9: Support for filling in the Data 1..3 fields when option processing encounters an error.

Patch #10: Process incoming Change L/R requests. This is done in a combined routine now, since the
code takes two different paths:
- feature-negotiation during connection setup
- passing of NN options (such as Ack Ratio) in establihed socket state

Patch #11: Process incoming Confirm L/R responses. The internally-called function is still separate.