On Saturday 19 January 2008, Jussi Kivilinna wrote: > RNDIS packet filter flags are not exactly the same as CDC flags > so we cannot reuse them. > > Signed-off-by: Jussi Kivilinna <jussi.kivilinna@xxxxxxxx> > Signed-off-by: Bjorge Dijkstra <bjd@xxxxxxxx> Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > --- > > drivers/net/usb/rndis_host.c | 23 ++++++++++++++++++++++- > 1 files changed, 22 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c > index c686025..12daf9c 100644 > --- a/drivers/net/usb/rndis_host.c > +++ b/drivers/net/usb/rndis_host.c > @@ -256,6 +256,27 @@ struct rndis_keepalive_c { /* IN (optionally OUT) */ > #define OID_GEN_MAXIMUM_FRAME_SIZE ccpu2(0x00010106) > #define OID_GEN_CURRENT_PACKET_FILTER ccpu2(0x0001010e) > > +/* packet filter bits used by OID_GEN_CURRENT_PACKET_FILTER */ > +#define RNDIS_PACKET_TYPE_DIRECTED ccpu2(0x00000001) > +#define RNDIS_PACKET_TYPE_MULTICAST ccpu2(0x00000002) > +#define RNDIS_PACKET_TYPE_ALL_MULTICAST ccpu2(0x00000004) > +#define RNDIS_PACKET_TYPE_BROADCAST ccpu2(0x00000008) > +#define RNDIS_PACKET_TYPE_SOURCE_ROUTING ccpu2(0x00000010) > +#define RNDIS_PACKET_TYPE_PROMISCUOUS ccpu2(0x00000020) > +#define RNDIS_PACKET_TYPE_SMT ccpu2(0x00000040) > +#define RNDIS_PACKET_TYPE_ALL_LOCAL ccpu2(0x00000080) > +#define RNDIS_PACKET_TYPE_GROUP ccpu2(0x00001000) > +#define RNDIS_PACKET_TYPE_ALL_FUNCTIONAL ccpu2(0x00002000) > +#define RNDIS_PACKET_TYPE_FUNCTIONAL ccpu2(0x00004000) > +#define RNDIS_PACKET_TYPE_MAC_FRAME ccpu2(0x00008000) > + > +/* default filter used with RNDIS devices */ > +#define RNDIS_DEFAULT_FILTER ( \ > + RNDIS_PACKET_TYPE_DIRECTED | \ > + RNDIS_PACKET_TYPE_BROADCAST | \ > + RNDIS_PACKET_TYPE_ALL_MULTICAST | \ > + RNDIS_PACKET_TYPE_PROMISCUOUS) > + > /* > * RNDIS notifications from device: command completion; "reverse" > * keepalives; etc > @@ -551,7 +572,7 @@ static int rndis_bind(struct usbnet *dev, struct usb_interface *intf) > u.set->oid = OID_GEN_CURRENT_PACKET_FILTER; > u.set->len = ccpu2(4); > u.set->offset = ccpu2((sizeof *u.set) - 8); > - *(__le32 *)(u.buf + sizeof *u.set) = ccpu2(DEFAULT_FILTER); > + *(__le32 *)(u.buf + sizeof *u.set) = RNDIS_DEFAULT_FILTER; > > retval = rndis_command(dev, u.header); > if (unlikely(retval < 0)) { > - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html