Thank you very much.

>The OpenFlow flows in question are 10.0.0.0/24, which matches:
>        00001010.00000000.00000000.xxxxxxxx
>and 10.0.0.1/32, which matches:
>        00001010.00000000.00000000.00000001
>The packet matched against them contains 8.8.8.8, which has the value:
>        00001000.00001000.00001000.00001000
>The megaflow match 0.0.0.0/2.0.0.0 checks for:
>        xxxxxx0x.xxxxxxxx.xxxxxxxx.xxxxxxxx
As you descripted, the table rules in openflow switch as shown:
table 1:
match inport + dst MAC
table 2:
priority 100 match 10.0.0.0/24 go to controller
priority 100 match 10.0.0.1 go to next table (table 3)
table 3:
priority 1 goto egress table


So the megaflow installed in linux kernel is used to match the rule:
" priority 1 goto egress table ".


But I don't know why the 'xxxxxx0x.xxxxxxxx.xxxxxxxx.xxxxxxxx' is calculated as 
the result.
Why is it not "xxxxxxxx.xxxx0xxx.xxxxxxxx.xxxxxxxx" which can also be used to 
differ the
00001010.00000000.(=10.0) from 00001000.00001000(=8.8) ?


And another problem is:
 in the situation '0.0.0.0/2.0.0.0'  is used, if I add another flow 
'nw_dst=9(bit=00001001).8.8.8 action output:200'
then the actions will be not same with 'nw_dst=8.8.8.8' but the flow installed 
in kernel will make the packet 
of which the ip destination is 9.8.8.8 not be upcalled to userspace by 
flow-miss, it will use the flow for '8.8.8.8'
 in kernel. Is this right?


Looking for your reply. Thanks.









At 2015-09-09 14:12:37, "Ben Pfaff" <b...@nicira.com> wrote:
>On Wed, Sep 09, 2015 at 01:43:19PM +0800, openvswitcher wrote:
>> Thank you for your reply.
>> 
>> 
>> >The megaflow match 0.0.0.0/2.0.0.0 checks for:
>> >       xxxx0xxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
>> But is there a typo?  why xxxx0xxx == 0/2 ?
>
>Oops, 0/2 is xxxxxx0x but I think that the rest of my message is
>accurate.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to