On 12/11/2015 04:29 PM, Joe Stringer wrote:
> On 10 December 2015 at 09:12, Russell Bryant <russ...@ovn.org> wrote:
>> A previous commit fixed this code to match changes to the conntrack
>> state bit assignments.  This patch further updates the code to use
>> the defined constants to ensure this code adapts automatically to any
>> possible future changes.
>>
>> Signed-off-by: Russell Bryant <russ...@ovn.org>
>> Requested-by: Joe Stringer <j...@ovn.org>
> 
> Thanks, minor comment below.
> 
>>  lib/packets.h          | 25 +++++++++++++++++--------
>>  ovn/controller/lflow.c | 22 +++++++++++++++-------
>>  2 files changed, 32 insertions(+), 15 deletions(-)
>>
>> diff --git a/lib/packets.h b/lib/packets.h
>> index edf140b..c50e316 100644
>> --- a/lib/packets.h
>> +++ b/lib/packets.h
>> @@ -733,14 +733,23 @@ struct tcp_header {
>>  BUILD_ASSERT_DECL(TCP_HEADER_LEN == sizeof(struct tcp_header));
>>
>>  /* Connection states */
>> -#define CS_NEW               0x01
>> -#define CS_ESTABLISHED       0x02
>> -#define CS_RELATED           0x04
>> -#define CS_REPLY_DIR         0x08
>> -#define CS_INVALID           0x10
>> -#define CS_TRACKED           0x20
>> -#define CS_SRC_NAT           0x40
>> -#define CS_DST_NAT           0x80
>> +#define CS_NEW_BIT           0
>> +#define CS_ESTABLISHED_BIT   1
>> +#define CS_RELATED_BIT       2
>> +#define CS_REPLY_DIR_BIT     3
>> +#define CS_INVALID_BIT       4
>> +#define CS_TRACKED_BIT       5
>> +#define CS_SRC_NAT_BIT       6
>> +#define CS_DST_NAT_BIT       7
> 
> Would these be appropriate to be an enum instead?

Sure, I'll post a v2 in a minute.  Here's the incremetal diff:

> diff --git a/lib/packets.h b/lib/packets.h
> index c50e316..36bd759 100644
> --- a/lib/packets.h
> +++ b/lib/packets.h
> @@ -733,23 +733,27 @@ struct tcp_header {
>  BUILD_ASSERT_DECL(TCP_HEADER_LEN == sizeof(struct tcp_header));
>  
>  /* Connection states */
> -#define CS_NEW_BIT           0
> -#define CS_ESTABLISHED_BIT   1
> -#define CS_RELATED_BIT       2
> -#define CS_REPLY_DIR_BIT     3
> -#define CS_INVALID_BIT       4
> -#define CS_TRACKED_BIT       5
> -#define CS_SRC_NAT_BIT       6
> -#define CS_DST_NAT_BIT       7
> -
> -#define CS_NEW               (1 << CS_NEW_BIT)
> -#define CS_ESTABLISHED       (1 << CS_ESTABLISHED_BIT)
> -#define CS_RELATED           (1 << CS_RELATED_BIT)
> -#define CS_REPLY_DIR         (1 << CS_REPLY_DIR_BIT)
> -#define CS_INVALID           (1 << CS_INVALID_BIT)
> -#define CS_TRACKED           (1 << CS_TRACKED_BIT)
> -#define CS_SRC_NAT           (1 << CS_SRC_NAT_BIT)
> -#define CS_DST_NAT           (1 << CS_DST_NAT_BIT)
> +enum {
> +    CS_NEW_BIT =         0,
> +    CS_ESTABLISHED_BIT = 1,
> +    CS_RELATED_BIT =     2,
> +    CS_REPLY_DIR_BIT =   3,
> +    CS_INVALID_BIT =     4,
> +    CS_TRACKED_BIT =     5,
> +    CS_SRC_NAT_BIT =     6,
> +    CS_DST_NAT_BIT =     7,
> +};

I know the integers aren't necessary above, but I kind of like
specifying them anyway since the specific values are important.

> +
> +enum {
> +    CS_NEW =         (1 << CS_NEW_BIT),
> +    CS_ESTABLISHED = (1 << CS_ESTABLISHED_BIT),
> +    CS_RELATED =     (1 << CS_RELATED_BIT),
> +    CS_REPLY_DIR =   (1 << CS_REPLY_DIR_BIT),
> +    CS_INVALID =     (1 << CS_INVALID_BIT),
> +    CS_TRACKED =     (1 << CS_TRACKED_BIT),
> +    CS_SRC_NAT =     (1 << CS_SRC_NAT_BIT),
> +    CS_DST_NAT =     (1 << CS_DST_NAT_BIT),
> +};

and I went ahead and used an enum here, as well.

-- 
Russell Bryant
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to