On Fri, 31 May 2019 19:18:17 +0000, Saeed Mahameed wrote: > > + 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? :)