Hi Stephen, thank you for your reply. On Mon, Apr 08, 2013 at 11:58:48 -0700, Stephen Hemminger wrote: > The standard way to do this is to use netfilter. Considering the > additional device flags and skb flag changes, I am not sure that your > method is better. > The point is that netfilter would not help me in "distributing" this policy remotely over a generic layer2 network. Using these flags, instead, I can make other modules (e.g. batman-adv) notice that the skb has been marked and then react using their own logic. If netfilter (at the bridge level) could "mark" the skbs somehow then I could use it for this purpose. But I don't think this is really possible. Cheers, > On Mon, Apr 8, 2013 at 10:41 AM, Antonio Quartulli > <antonio@xxxxxxxxxxxxx> wrote: > > This new flag tells whether a network device has to be > > considered as restricted in the new bridge forwarding logic. > > > > Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxx> > > --- > > include/uapi/linux/if.h | 1 + > > net/core/dev.c | 2 +- > > 2 files changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/include/uapi/linux/if.h b/include/uapi/linux/if.h > > index 1ec407b..5c3a9bd 100644 > > --- a/include/uapi/linux/if.h > > +++ b/include/uapi/linux/if.h > > @@ -83,6 +83,7 @@ > > #define IFF_SUPP_NOFCS 0x80000 /* device supports sending custom FCS */ > > #define IFF_LIVE_ADDR_CHANGE 0x100000 /* device supports hardware address > > * change when it's running */ > > +#define IFF_BRIDGE_RESTRICTED 0x200000 /* device is bridge-restricted */ > > > > > > #define IF_GET_IFACE 0x0001 /* for querying only */ > > diff --git a/net/core/dev.c b/net/core/dev.c > > index 3655ff9..49eafc8 100644 > > --- a/net/core/dev.c > > +++ b/net/core/dev.c > > @@ -4627,7 +4627,7 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags) > > > > dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP | > > IFF_DYNAMIC | IFF_MULTICAST | IFF_PORTSEL | > > - IFF_AUTOMEDIA)) | > > + IFF_AUTOMEDIA | IFF_BRIDGE_RESTRICTED)) | > > (dev->flags & (IFF_UP | IFF_VOLATILE | IFF_PROMISC | > > IFF_ALLMULTI)); > > > > -- > > 1.8.1.5 > > -- Antonio Quartulli ..each of us alone is worth nothing.. Ernesto "Che" Guevara
Attachment:
pgph5AGh2SYsa.pgp
Description: PGP signature