The former FIXME comment pointed at the fact that struct ebt_entry does
not have a 'flags' field (unlike struct ipt_ip). In fact, ebt_entry's
equivalent is 'bitmask' field. Comparing that instead is the right
thing to do, even though it does not seem to make a difference in
practice: No rule options alter just the bitmask value, nor is it
possible to fill an associated field with default values (e.g. all-zero
MAC and mask).
Since the situation described above might change and there is a slight
performance improvement in some cases (e.g. comparing rules differing
only by specified/omitted source/dest MAC address), add the check
anyway.
Suggested-by: Michael Estner <michaelestner@web.de>
Signed-off-by: Phil Sutter <phil@nwl.cc>
int i;
if (a->ethproto != b->ethproto ||
- /* FIXME: a->flags != b->flags || */
+ a->bitmask != b->bitmask ||
a->invflags != b->invflags) {
- DEBUGP("different proto/flags/invflags\n");
+ DEBUGP("different proto/bitmask/invflags\n");
return false;
}