Em Mon, Oct 01, 2007 at 03:18:11PM +0100, Gerrit Renker escreveu:
> [DCCP]: Auxiliary function for smallest-fit option lengths
> 
> This introduces a function to determine the smallest-fit data type to carry 
> options,
> which is used by the feature-negotiation code to insert option values.
> 
> While doing this, I found that the same code is required to set the NDP 
> length,
> whose length is variable between 1..6 bytes (RFC 4340, 7.7). 
> 
> There seem to be remains of the old code base when apparently NDP count was 
> only 3 
> bytes long. I have removed the annotations, as well as an unused constant 
> limiting
> the maximum NDP value to 3 bytes, and added a FIXME to increase the data type 
> for
> NDP up to u64. I didn't want to add this to this patch also, since various 
> other
> parts (e.g. CCID3) implicitly rely on u32. For the moment, u32 seems to more 
> than
> ample anyway, so the FIXME could even remain until there is a `high-speed' 
> CCID.
> 
> Signed-off-by: Gerrit Renker <[EMAIL PROTECTED]>
> ---
>  include/linux/dccp.h |    4 +---
>  net/dccp/feat.h      |    8 ++++++++
>  net/dccp/options.c   |   13 ++++++-------
>  3 files changed, 15 insertions(+), 10 deletions(-)
> 
> --- a/net/dccp/feat.h
> +++ b/net/dccp/feat.h
> @@ -112,4 +112,12 @@ extern int  dccp_feat_clone(struct sock 
>  extern int  dccp_feat_clone_list(struct list_head const *, struct list_head 
> *);
>  extern int  dccp_feat_init(struct sock *sk);
>  
> +/* Find smallest-fit for @value, but not more than 6 bytes (current maximum) 
> */
> +static inline u8 dccp_bytes_per_value(const u64 value)
> +{
> +     if (value > 0xFFFFFFFFull)
> +             return 6;
> +     return value > 0xFFFF? 4 : (value > 0xFF? 2 : 1);

Gerrit, one more coding style request: please always add an space after
the '?'.

- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to