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 [email protected] http://openvswitch.org/mailman/listinfo/discuss
