Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp114993ybj; Fri, 8 May 2020 07:45:17 -0700 (PDT) X-Google-Smtp-Source: APiQypLxeDI+gYGrMD3wly4R5rfYTvjDDT/OX18KFWScI+vtsXvIbYbuX2M48FgjeP3uiO9/pjvI X-Received: by 2002:a50:ec0c:: with SMTP id g12mr2466957edr.140.1588949117319; Fri, 08 May 2020 07:45:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588949117; cv=none; d=google.com; s=arc-20160816; b=TecFyG8slzA4ctogsEarlwwxhVNcq0yEDcuXpZQpdyGPJkdfGyRswJlEyXKbC2/VNM 2beSGvZLWRSmRxA7I5RhElQGgPlYisGD8OEKTAhGHXDcy1Prey09QI/brgXfnswqlRQ0 l4fo1vnDW0GkhbJ13bl3BJnGzQECyG4mgmUkFGKSnY4BYr5o2+JFC1XEiQnSJ2l6dyr9 Ly5Xm2yVcsE+NQ+kzMb7Cm4mO30lIJLWGlBdvx0e8uBzcBBzQTbOOwvdWgbmGZOxhwjv n6xlloWRFCW8bdc6+2wK4/Kof+qqiJKGICl3uBenvB6rS5nrV/6jI26fcE0ZJg7GfqmL 3p/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=A+NccqVoLEk+HXcUnHoccaDlT1l7GL08kfFSwUakUHw=; b=GkX/bF68EuYYPFGESSv4zImBlwJPVpeD0mW+Cevwz3UaM2wiSUD3Id/6XHsMbmEM4P Z+D8OcHWBAsTMj4gziHlhR89BZzxntNM98s9xeQIyTF9dDEBodbMJK047ru5Y3MimGzH 0/CEjfRXqM8dGWHtcH46ODQfR1QtEZaGwEUnIjYLQAHi7HtyaC1Y9LqA7dKL/3D9px25 C2f5ecNg2V6YTLmDhGBMKAbIH70O2jhi+vOvIFwVg6TwQElFQowHZNDnOxzifLpi30hR P3m59ZHOkYyo9UEr7tQvmrbDtcLgntPqfyBa0+KKptKsZJmAs87iR3cLhxlQc9IzWhsA EGdg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m11si320328ejx.228.2020.05.08.07.44.53; Fri, 08 May 2020 07:45:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727106AbgEHOmV (ORCPT + 99 others); Fri, 8 May 2020 10:42:21 -0400 Received: from smail.rz.tu-ilmenau.de ([141.24.186.67]:54259 "EHLO smail.rz.tu-ilmenau.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726751AbgEHOmV (ORCPT ); Fri, 8 May 2020 10:42:21 -0400 Received: from legolas.fritz.box (unknown [87.147.56.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smail.rz.tu-ilmenau.de (Postfix) with ESMTPSA id 915B8580247; Fri, 8 May 2020 16:42:19 +0200 (CEST) From: Markus Theil To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Markus Theil Subject: [PATCH 0/3] nl80211/mac80211: add tx status for ctrl port Date: Fri, 8 May 2020 16:41:59 +0200 Message-Id: <20200508144202.7678-1-markus.theil@tu-ilmenau.de> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org When sending EAPOL frames from an AP to a STA, SO_WIFI_STATUS can be used on raw/packet sockets to get notified of (un-)successful frame transmissions in order to trigger retransmits earlier. The nl80211 control port currently lacks such a feature, which therefore gets added in this series, in order to function as a drop in replacement for using dedicated AF_PACKET sockets for handling EAPOL messages. With this series it is finally possible to run hostapd in AP mode with mgmt and EAPOL control port frames solely over nl80211 and data frames on the kernel data path. The intended behaviour stems from tx notifications for mgmt frames over nl80211. A cookie is provided to match request and reply, furthermore the frame content is also included in status messages. This series has been tested with a modified hostapd version. Patches for hostapd will follow soon on its mailing list. Markus Theil (3): nl80211: cookie arg for tx control port nl80211: add control port tx status method nl80211: add feature flag for control port tx status capability include/net/cfg80211.h | 18 +++++++- include/uapi/linux/nl80211.h | 12 ++++++ net/mac80211/ieee80211_i.h | 8 +++- net/mac80211/main.c | 2 + net/mac80211/status.c | 7 ++- net/mac80211/tdls.c | 2 +- net/mac80211/tx.c | 83 +++++++++++++++++++++++++++--------- net/wireless/nl80211.c | 73 ++++++++++++++++++++++++++----- net/wireless/rdev-ops.h | 9 ++-- net/wireless/trace.h | 17 ++++++++ 10 files changed, 193 insertions(+), 38 deletions(-) -- 2.26.2