net: Split hw_features out from feat
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 13 Nov 2017 19:20:57 +0000 (14:20 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Nov 2017 15:46:56 +0000 (10:46 -0500)
commit1317ca74d99a5f8c0b84a38f8a07582d8fadf48c
tree7306194ed23abc7fbc7c0235f6b39d10333e1654
parent8fcb0978721fd7d06f80efdf78b3e4446d66d6a1
net: Split hw_features out from feat

hw_features is what is possible; feat is what is turned on *or* other Plan
9 characteristics.  Notably, NETF_PADMIN is more of a signal that the NIC
will pad to the mintu.  It's not something the hardware will turn on or
off.

By #defining hw_features to feat, we were possibly turning on things that
shouldn't be on by default.  Likewise, an = (instead of |=) could clobber
values of feat.  It was all quite nasty.

Note that the name 'feat' is an ABI to some extent.  etherbind() looks for
that string when it decides which features get added to the Ipifc.  If we
have dynamic features and want them to actually take affect to IP stacks
bound to a NIC, then we'll need to propagate those changes to Ipifc.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/linux_compat.h
kern/include/net/ip.h
kern/src/net/netif.c