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

Reply via email to