On Wed, Dec 06, 2017 at 11:55:27AM +0100, Zoltan Balogh wrote:
> If several bridges are connected via patch ports or the packet is sent
> via tunnel and an error occurs during translation in a subsequent bridge,
> e.g. Ethernet header cannot be pushed to the packet due to lack of
> prerequisites in the second bridge and there were flow actions already
> translated in first bridge, it can happen that the installed datapath
> flow contains actions which are going to be performed for all received
> packets, however the packets are going to be dropped in the end. This
> is waste of processing resource.

Can you help me understand how this works?  I don't understand yet how
base_flow is necessarily what we should restore to, nor why backup_wc
should always accumulate new 1-bits on each call to
store_ctx_xlate_data().  Some of that explanation should probably go in
the code, by the way.

I really don't understand the interaction with
ofpact_validates_dp_actions().  There needs to be a code comment there
too, I think, explaining what that function's return value means.

It's not clear to me why xlate_backup_data is malloced and freed rather
than a local variable in xlate_actions.

I'm not sure why there's a forward declaration of struct
xlate_backup_data.

Thanks,

Ben.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to