Re: [ovs-dev] [PATCH net] openvswitch: Fix mask generation for IPv6 labels.

From: Pravin Shelar
Date: Wed Nov 19 2014 - 03:11:07 EST

On Tue, Nov 18, 2014 at 11:25 PM, Joe Stringer <joestringer@xxxxxxxxxx> wrote:
> On 18 November 2014 22:09, Pravin Shelar <pshelar@xxxxxxxxxx> wrote:
>> On Tue, Nov 18, 2014 at 10:54 AM, Joe Stringer <joestringer@xxxxxxxxxx>
>> wrote:
>> > When userspace doesn't provide a mask, OVS datapath generates a fully
>> > unwildcarded mask for the flow. This is done by taking a copy of the
>> > flow key, then iterating across its attributes, setting all values to
>> > 0xff. This works for most attributes, as the length of the netlink
>> > attribute typically matches the length of the value. However, IPv6
>> > labels only use the lower 20 bits of the field. This patch makes a
>> > special case to handle this.
>> >
>> > This fixes the following error seen when installing IPv6 flows without a
>> > mask:
>> >
>> > openvswitch: netlink: Invalid IPv6 flow label value (value=ffffffff,
>> > max=fffff)
>> >
>> We should allow exact match mask here rather than generating
>> wildcarded mask. So that ovs can catch invalid ipv6.label.
> I don't quite follow, I thought this was exact-match? (The existing function
> sets all bits to 1)
With 0xffffffff value we can exact match on all ipv6.lable bits.

> In this case, userspace has not specified a mask, but the kernel complains
> about a mask that is too wide (because it generated a mask that's too wide).
> Do you have an alternative fix in mind?

We can avoid the sanity check ipv6.lable for mask key.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at