On 06/20/2018 07:53 AM, Jamal Hadi Salim wrote:
On 19/06/18 08:39 AM, Michel Machado wrote:

 Notice that, different from skbmod, there's no field parm->flags in skbedit. Skbedit infers the flags in d->flags from the presence of the parameters of each of its actions. But SKBEDIT_F_INHERITDSFIELD has no parameter and adding field parm->flags breaks backward compatibility with user space as pointed out by Marcelo Ricardo Leitner. Our solution was to add TCA_SKBEDIT_FLAGS, so SKBEDIT_F_INHERITDSFIELD and future flag-only actions can be added.

Ok, that makes sense - thanks. I am not so sure about using
64 bits (32 bits would have been fine to match the size of
the kernel flags), but other than that LGTM.

The choice for the u64 is meant to keep the interface between kernel and user space the same for hopefully a longer time than it would be with a u32. Changing from u32 to u64 in the kernel, when the need arrives, won't impact applications. This interface choice was motivated by the backward compatibility issue mentioned above.

   Thank you for the review, Jamal.

[ ]'s
Michel Machado

Reply via email to