Message ID | 1344441322-2942-1-git-send-email-rmanohar@qca.qualcomm.com |
---|---|
State | Changes Requested |
Headers | show |
On Wed, Aug 08, 2012 at 09:25:22PM +0530, Rajkumar Manoharan wrote: > Fill bridge interface name while creating new P2P GO interface. No doing > so, is causing to EAP handshake failure on p2p negotiation when group > interface was brigded. Why would a P2P GO interface be in a bridge? The P2P specification explicitly describes cross connection to use "any mechanism above layer 2" and as such, layer 2 bridging may not be a suitable mechanism for this. And even if this were allowed, it would be unclear how the new interface would get added to the bridge.
On Thu, Aug 09, 2012 at 02:04:01PM +0300, Jouni Malinen wrote: > On Wed, Aug 08, 2012 at 09:25:22PM +0530, Rajkumar Manoharan wrote: > > Fill bridge interface name while creating new P2P GO interface. No doing > > so, is causing to EAP handshake failure on p2p negotiation when group > > interface was brigded. > > Why would a P2P GO interface be in a bridge? The P2P specification > explicitly describes cross connection to use "any mechanism above layer > 2" and as such, layer 2 bridging may not be a suitable mechanism for > this. And even if this were allowed, it would be unclear how the new > interface would get added to the bridge. > I tried to bridge ethernet and P2P GO like we do it for AP and ethernet. Thanks for the spec. reference. I did my testing by creating a bridge interface and started supplicant with bridge option then started autonomus GO. Later add the group interface as bridge member by bridge-utils. -Rajkumar
On Thu, Aug 09, 2012 at 05:33:52PM +0530, Rajkumar Manoharan wrote: > I tried to bridge ethernet and P2P GO like we do it for AP and ethernet. > Thanks for the spec. reference. I did my testing by creating a bridge interface > and started supplicant with bridge option then started autonomus GO. Later > add the group interface as bridge member by bridge-utils. While you could do that that with non-P2P AP interface, the P2P cross connection is supposed to use masquerading NAT and IP routing instead of layer 2 bridge. In addition, the sequence where a new interface gets added to a bridge is not really something that is handled by wpa_supplicant currently. This would need to be more like hostapd implementation or some other ways of more dynamically changing the parameters. Just assuming that the parent interface and the GO (or any other separately added interface) will end up getting added to the same bridge does not sound generic enough.
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 0d94ee0..0b76567 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -942,6 +942,7 @@ wpas_p2p_init_group_interface(struct wpa_supplicant *wpa_s, int go) } os_memset(&iface, 0, sizeof(iface)); + iface.bridge_ifname = wpa_s->bridge_ifname; iface.ifname = wpa_s->pending_interface_name; iface.driver = wpa_s->driver->name; iface.ctrl_interface = wpa_s->conf->ctrl_interface;