[ovs-dev] [warnings 3/8] ofp-util: Don't warn for different forms of nw_{src, dst} wildcards.

Ethan Jackson ethan at nicira.com
Fri May 13 01:39:55 UTC 2011


Looks Good.

Ethan

On Mon, May 2, 2011 at 12:57, Ben Pfaff <blp at nicira.com> wrote:
> OpenFlow 1.0 uses a 6-bit field to express the number of wildcarded bits
> in the nw_src and nw_dst field.  Any value 32 or greater in these fields
> (binary 1xxxxx) means that all of the bits are wildcarded.  That means
> that there are 32 different ways to express a wildcarded nw_src or nw_dst.
> At least two of those seem sensible (100000 and 111111) so we shouldn't
> warn about one of them.
>
> This fixes the problem by ORing with 100000 instead of 111111, so that any
> already-correct wildcarded mask won't be affected.
>
> This fix allows us to update some tests.
> ---
>  lib/ofp-util.c     |    2 +-
>  tests/autopath.at  |    4 ++--
>  tests/ovs-ofctl.at |   13 +------------
>  3 files changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/lib/ofp-util.c b/lib/ofp-util.c
> index 5aa2b82..ade0756 100644
> --- a/lib/ofp-util.c
> +++ b/lib/ofp-util.c
> @@ -2031,7 +2031,7 @@ actions_next(struct actions_iterator *iter)
>  void
>  normalize_match(struct ofp_match *m)
>  {
> -    enum { OFPFW_NW = (OFPFW_NW_SRC_MASK | OFPFW_NW_DST_MASK | OFPFW_NW_PROTO
> +    enum { OFPFW_NW = (OFPFW_NW_SRC_ALL | OFPFW_NW_DST_ALL | OFPFW_NW_PROTO
>                        | OFPFW_NW_TOS) };
>     enum { OFPFW_TP = OFPFW_TP_SRC | OFPFW_TP_DST };
>     uint32_t wc;
> diff --git a/tests/autopath.at b/tests/autopath.at
> index 40e54d5..79ecb02 100644
> --- a/tests/autopath.at
> +++ b/tests/autopath.at
> @@ -3,10 +3,10 @@ AT_BANNER([autopath link selection])
>  AT_SETUP([autopath basic])
>  AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(1, NXM_NX_REG0[[]])'], [0],
>   [OFPT_FLOW_MOD (xid=0x1): ADD actions=autopath(1,NXM_NX_REG0[[]])
> -], [ignore])
> +])
>  AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(2, NXM_NX_REG0[[2..30]])'], [0],
>   [OFPT_FLOW_MOD (xid=0x1): ADD actions=autopath(2,NXM_NX_REG0[[2..30]])
> -], [ignore])
> +])
>  AT_CLEANUP
>
>  AT_SETUP([autopath action missing argument])
> diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at
> index 1014710..c23945f 100644
> --- a/tests/ovs-ofctl.at
> +++ b/tests/ovs-ofctl.at
> @@ -18,7 +18,7 @@ actions=drop
>  tun_id=0x1234000056780000/0xffff0000ffff0000,actions=drop
>  ]])
>  AT_CHECK([ovs-ofctl parse-flows flows.txt
> -], [0], [stdout], [stderr])
> +], [0], [stdout])
>  AT_CHECK([[sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout]], [0],
>  [[OFPT_FLOW_MOD: ADD tcp,tp_src=123 actions=FLOOD
>  OFPT_FLOW_MOD: ADD in_port=65534,dl_vlan=9,dl_src=00:0a:e4:25:6b:b0 actions=drop
> @@ -35,17 +35,6 @@ NXT_FLOW_MOD: ADD actions=multipath(eth_src,50,hrw,12,0,NXM_NX_REG0[0..3]),multi
>  NXT_FLOW_MOD: ADD actions=drop
>  NXT_FLOW_MOD: ADD tun_id=0x1234000056780000/0xffff0000ffff0000 actions=drop
>  ]])
> -AT_CHECK([sed 's/.*|//' stderr], [0], [dnl
> -normalization changed ofp_match, details:
> - pre: wildcards=  0x3820f8  in_port=65534  dl_src=00:0a:e4:25:6b:b0  dl_dst=00:00:00:00:00:00  dl_vlan=    9  dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=         0  nw_dst=         0  tp_src=    0  tp_dst=    0
> -post: wildcards=  0x3ffff8  in_port=65534  dl_src=00:0a:e4:25:6b:b0  dl_dst=00:00:00:00:00:00  dl_vlan=    9  dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=         0  nw_dst=         0  tp_src=    0  tp_dst=    0
> -normalization changed ofp_match, details:
> - pre: wildcards=  0x3820ff  in_port=65534  dl_src=00:00:00:00:00:00  dl_dst=00:00:00:00:00:00  dl_vlan=    0  dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=         0  nw_dst=         0  tp_src=    0  tp_dst=    0
> -post: wildcards=  0x3fffff  in_port=65534  dl_src=00:00:00:00:00:00  dl_dst=00:00:00:00:00:00  dl_vlan=    0  dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=         0  nw_dst=         0  tp_src=    0  tp_dst=    0
> -normalization changed ofp_match, details:
> - pre: wildcards=  0x3820ff  in_port=65534  dl_src=00:00:00:00:00:00  dl_dst=00:00:00:00:00:00  dl_vlan=    0  dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=         0  nw_dst=         0  tp_src=    0  tp_dst=    0
> -post: wildcards=  0x3fffff  in_port=65534  dl_src=00:00:00:00:00:00  dl_dst=00:00:00:00:00:00  dl_vlan=    0  dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=         0  nw_dst=         0  tp_src=    0  tp_dst=    0
> -])
>  AT_CLEANUP
>
>  AT_SETUP([ovs-ofctl -F nxm parse-flows])
> --
> 1.7.4.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list