On Mon, Apr 24, 2017 at 07:07:43PM -0700, Jakub Kicinski wrote: > On Mon, 24 Apr 2017 22:06:08 -0400, Jamal Hadi Salim wrote: > > On 17-04-24 10:00 PM, Jamal Hadi Salim wrote: > > > On 17-04-24 09:48 PM, Jamal Hadi Salim wrote: > > > > > > > > Hrm. maybe I am wrong. > > > Lets say user sets all of the 8 bits in BOS, > > > what does setting > > > key_val->mpls_bos = nla_get_u8 do? > > > > > > Same with the 20 bits for the label in the u32 > > > or 3 bit bits in the u8 tc. > > > > The label and tc are masked - maybe just the BOS > > needs something similar? > > Indeed, good catch!
I agree something should be done wrt BOS. If the LABEL and TC are to be left as-is then I think a similar treatment of BOS - that is masking it - makes sense. I also agree with statements made earlier in the thread that it is unlikely that the unused bits of these attributes will be used - as opposed to a bitmask of flag values which seems ripe for re-use for future flags. I would like to add to the discussion that I think in future it would be good to expand the features provided by this patch to support supplying a mask as part of the match - as flower supports for other fields such as IP addresses. But I think the current scheme of masking out invalid bits should also work in conjunction with user-supplied masks.