Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jun 2015 17:54:42 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r283994 - head/sys/net80211
Message-ID:  <201506041754.t54HsgON018779@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Thu Jun  4 17:54:41 2015
New Revision: 283994
URL: https://svnweb.freebsd.org/changeset/base/283994

Log:
  Tag outbound raw 802.11 frames with both the node and an mbuf tag
  with the transmit params.
  
  This allows raw 802.11 frames to be queued in the driver if necessary,
  rather than requiring it to be direct-dispatched into the hardware.
  
  Tested:
  
  * ath(4), STA mode
  * iwn(4), STA mode
  
  MFC after:	2 weeks
  Sponsored by:	Norse Corp, Inc.

Modified:
  head/sys/net80211/ieee80211_output.c

Modified: head/sys/net80211/ieee80211_output.c
==============================================================================
--- head/sys/net80211/ieee80211_output.c	Thu Jun  4 17:05:51 2015	(r283993)
+++ head/sys/net80211/ieee80211_output.c	Thu Jun  4 17:54:41 2015	(r283994)
@@ -508,6 +508,25 @@ ieee80211_raw_output(struct ieee80211vap
 {
 	struct ieee80211com *ic = vap->iv_ic;
 
+	/*
+	 * Set node - the caller has taken a reference, so ensure
+	 * that the mbuf has the same node value that
+	 * it would if it were going via the normal path.
+	 */
+	m->m_pkthdr.rcvif = (void *)ni;
+
+	/*
+	 * Attempt to add bpf transmit parameters.
+	 *
+	 * For now it's ok to fail; the raw_xmit api still takes
+	 * them as an option.
+	 *
+	 * Later on when ic_raw_xmit() has params removed,
+	 * they'll have to be added - so fail the transmit if
+	 * they can't be.
+	 */
+	(void) ieee80211_add_xmit_params(m, params);
+
 	return (ic->ic_raw_xmit(ni, m, params));
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506041754.t54HsgON018779>