On Fri, 31 May 2019 19:18:17 +0000, Saeed Mahameed wrote:
quoted
+ if (!bpf_op || flags & XDP_FLAGS_SKB_MODE)
+ mode = XDP_FLAGS_SKB_MODE;
+
+ curr_mode = dev_xdp_current_mode(dev);
+
+ if (!offload && curr_mode && (mode ^ curr_mode) &
+ (XDP_FLAGS_DRV_MODE | XDP_FLAGS_SKB_MODE)) {
if i am reading this correctly this is equivalent to :
if (!offload && (curre_mode != mode))
offlad is false then curr_mode and mode must be DRV or GENERIC ..
Naw, if curr_mode is not set, i.e. nothing installed now, we don't care
about the diff.
better if you keep bitwise operations for actual bitmasks, mode and
curr_mode are not bitmask, they can hold one value each .. according to
your logic..
Well, they hold one bit each, whether one bit is a bitmap perhaps is
disputable? :)
I think the logic is fine.
What happened to my request to move the change in behaviour for
disabling to a separate patch, tho, Bjorn? :)