On Tue, Nov 10, 2015 at 02:34:02PM -0800, Ben Pfaff wrote:
> On Thu, Oct 22, 2015 at 03:29:02PM -0200, Thadeu Lima de Souza Cascardo wrote:
> > From: Jiri Benc <[email protected]>
> > 
> > Note that because there's been no prerequisite on the outer protocol,
> > we cannot add it now. Instead, treat the ipv4 and ipv6 dst fields in the way
> > that either both are null, or at most one of them is non-null.
> > 
> > [cascardo: abstract testing either dst with flow_tnl_dst_is_set]
> > 
> > Signed-off-by: Jiri Benc <[email protected]>
> > Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
> > Co-authored-by: Thadeu Lima de Souza Cascardo <[email protected]>
> 
> One wonders whether it would be worth merging the ip_dst and ipv6_dst
> fields in struct flow_tnl, using IPv6-mapped IPv4 addresses for the IPv4
> case.  Did you consider that?

Yes, I tried that, and had to go back to the way Jiri implemented it. The main
problem was meta-flow and match. I tried using a union, so meta-flow.inc auto
generated code would still work. However, when setting IPv4 tunnel addresses,
the prefix would be all zeroes, not 0:0:0:0:0:0:ffff::. I didn't manage to make
that work. Maybe now that I have put my head a little more into meta-flow and
match code, I may find a way to do that. I will take a new look and see if I can
come back with new code or a better commit message, explaining why that would
not be the best course in this case.

When I went back to the original implementation, I knew an explanation about not
using IPv4-mapped addresses was due, but I must have forgotten after working on
the testsuite and many rebases.

Cascardo.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to