[ovs-discuss] Match only the upper 3 bits of dscp field

Ben Pfaff blp at ovn.org
Tue Jun 27 21:40:47 UTC 2017

On Tue, Jun 20, 2017 at 02:16:36PM +0200, Matthias May wrote:
> Hi
> I need to modify the tos field of ipv4 frames.
> The rule I currently have for this looks something like:
> ovs-ofctl add-flow br0-wlan0 "table=20 priority=100 dl_type=0x0800 nw_tos=32 actions=mod_nw_tos:224"
> I only want to match the upper most 3 bits of the DSCP field. This rule as it is has the obvious drawback of the rule
> only matching when the lower 3 bits are 0.
> When I try to create a rule with:
> ovs-ofctl add-flow br0-wlan0 "table=22 priority=0 dl_type=0x0800 nw_tos=160/0xe0 actions=load:5->nw_tos[5..7]"
> I get the message;
> ovs-ofctl: 160/0xe0: invalid mask for field nw_tos
> The match nw_tos=160/0xff works.

The OpenFlow specs say that the DSCP fields aren't maskable.  I don't
know why.  OVS follows the spec on this point.

More information about the discuss mailing list