[ovs-discuss] question about facet and subfacet in the code

Justin Pettit jpettit at nicira.com
Thu Jul 11 15:58:47 UTC 2013


Your description sounds correct for megaflows (branch-1.11 and master), but your code walk-through sounds like it was for an older branch.

--Justin


On Jul 11, 2013, at 7:36 AM, Feixiong Zhang <feixiong at winlab.rutgers.edu> wrote:

> hello, everyone,
> 
> I'm looking at the implementation of openvswitch and is confused about facet and subfacet. From previous posts, facet represents user space flow with wildcard, while subfacet stands for kernel space flow concept with no wildcard. Thus a facet consists of multiple subfacets.
> 
> However, in the implementation, 
> facet_create(rule, &miss->flow, hash) in handle_flow_miss() will create a facet with miss->flow as the key. But miss->flow is from kernel datapath and doesn't contain wildcard. 
> Moreover, facet_find() uses flow_equal(flow, &facet->flow) to determine whether a facet match the flow, and flow_equal() will check all the field in the struct flow. And facet_find() is almost the same as subfacet_find__(), both uses flow_equal().
> It seems in the implementation, facet also relies on exact match of all fields, same as subfacet. 
> 
> I'm not sure whether I understand correctly. Can anyone clarify on this? Thanks a lot!
> 
> Regards.
> Feixiong
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss




More information about the discuss mailing list