> >
> > Any thoughts on this? Should I write an equivalent of flow_wc_map() and
> use
> > it in xlate_wc_finish()
> > or we use a stricter version i.e. flow_wildcards_init_for_packet() and
use
> > in revalidate_ukey__?
> 
> My big problem for review here is that I don't understand the motivation
> for moving the code around.  Sure, it *works*, but why?  Why did you
> think to do it?

The reason to move the code from xlate_wc_finish() to revalidate_ukey__() is
as it caused quite a few unit tests to fail.
After looking at the failures I notice that Megaflow is not matching the
'expected' value.

For e.g. failure for test 0738 is:

-Megaflow:
recirc_id=0,eth,ip,tun_id=0,tun_src=1.1.1.1,tun_dst=2.2.2.2,tun_tos=3,tun_fl
ags=-df-csum-key,in_port=1,nw_ecn=3,nw_frag=no
+Megaflow:
recirc_id=0,eth,ip,tun_src=1.1.1.1,tun_dst=2.2.2.2,tun_tos=3,tun_flags=-df-c
sum-key,in_port=1,nw_ecn=3,nw_frag=no

flow_wildcards_init_for_packet() unwildcards 'tun_id' only when either
FLOW_TNL_F_KEY is set in tunnel flags or tun->ip_dst is not set & tun_id is
non-zero.

However the 'expected' Megaflow itself is not correct in this case as
tun_flags = -key and tun_dst is set, so tun_id should have been wildcarded
but it is not.

Let me know if it makes sense.

Warm Regards,
Vishal Ajmera
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to