From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kalle Valo Subject: Re: [PATCH net-next v2] wireless-drivers: rtnetlink wifi simulation device Date: Thu, 27 Sep 2018 07:34:50 +0300 Message-ID: <871s9fr21h.fsf@kamboji.qca.qualcomm.com> References: <20180926194324.71290-1-schuffelen@google.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Johannes Berg , "David S . Miller" , linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, kernel-team@android.com To: Cody Schuffelen Return-path: In-Reply-To: <20180926194324.71290-1-schuffelen@google.com> (Cody Schuffelen's message of "Wed, 26 Sep 2018 12:43:24 -0700") Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Cody Schuffelen writes: > This device takes over an existing network device and produces a > new one that appears like a wireless connection, returning enough canned > responses to nl80211 to satisfy a standard network manager. If > necessary, it can also be set up one step removed from an existing > network device, such as through a vlan/80211Q or macvlan connection to > not disrupt the existing network interface. > > To use it to wrap a bare ethernet connection: > > ip link set eth0 down > ip link set eth0 name buried_eth0 > ip link set buried_eth0 up > ip link add link buried_eth0 name wlan0 type virt_wifi > > eth0 is renamed to buried_eth0 to avoid a network manager trying to > manage it, as the original network link will become unusuable and only > the wireless wrapper will be functional. This can also be combined with > vlan or macvlan links on top of eth0 to share the network between > distinct links, but that requires support outside the machine for > accepting vlan-tagged packets or packets from multiple MAC addresses. > > This is being used for Google's Remote Android Virtual Device project, > which runs Android devices in virtual machines. The standard network > interfaces provided inside the virtual machines are all ethernet. > However, Android is not interested in ethernet devices and would rather > connect to a wireless interface. This patch allows the virtual machine > guest to treat one of its network connections as wireless rather than > ethernet, satisfying Android's network connection requirements. > > We believe this is a generally useful driver for simulating wireless > network connections in other environments where a wireless connection is > desired by some userspace process but is not available. Future work can > also include exporting the wireless control plane to userspace, so the > device can configure the behavior of the simulated wireless network > itself. > > This is distinct from other testing efforts such as mac80211_hwsim by > being a cfg80211 device instead of mac80211 device, allowing straight > pass-through on the data plane instead of forcing packaging of ethernet > data into mac80211 frames. > > Signed-off-by: A. Cody Schuffelen > Acked-by: Alistair Strachan > Acked-by: Greg Hartman > Signed-off-by: Cody Schuffelen [...] > --- a/drivers/net/wireless/Kconfig > +++ b/drivers/net/wireless/Kconfig > @@ -114,4 +114,11 @@ config USB_NET_RNDIS_WLAN > > If you choose to build a module, it'll be called rndis_wlan. > > +config VIRT_WIFI > + tristate "Wifi wrapper for ethernet drivers" > + default n Isn't 'n' the default so you don't need to explicitly set that? -- Kalle Valo