Hi Jesse, Hi Ben, Hi All,

I have been working on reimplementing packet recirculation,
however I am a little unsure how to make facet revalidation work
for facets of recirculated packets.

The problem that I am seeing is that as facets are intended to be applied
to packets that have been recirculated they may not use the odpactions of a
rule directly. Currently my implementation provides uses an offset into the
odpactions of the rule that matches the original packet (the packet before
any recirculation). And I have it in mind to change this around a little to
handle goto table by allowing the use of an offset into the odpactions of
another rule.  But I'm not sure how this scheme can work with facet
revalidation.  As revalidate.

The first problem is that facet_revalidate() calls rule_dpif_lookup()
on the flow of the facet. But for the facet of recirculated packets
no such rule (should) exist.

The second, related, problem is that facet_revalidate() calls
xlate_actions() using the looked-up rule. However the odpactions of the
rule are not the same as the odpactions used for the facet of a
recirculated packet.  In cases where goto table isn't used an offset or
similar could be used.  But its not clear how to cover goto table actions
correctly.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to