Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jun 2009 16:36:28 +0000 (UTC)
From:      Sam Leffler <sam@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r193239 - head/sys/net80211
Message-ID:  <200906011636.n51GaSAA084599@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sam
Date: Mon Jun  1 16:36:28 2009
New Revision: 193239
URL: http://svn.freebsd.org/changeset/base/193239

Log:
  pad data structures to enable integration of future features w/o abi breakage

Modified:
  head/sys/net80211/ieee80211_ht.h
  head/sys/net80211/ieee80211_ioctl.h
  head/sys/net80211/ieee80211_node.h
  head/sys/net80211/ieee80211_proto.h
  head/sys/net80211/ieee80211_scan.h
  head/sys/net80211/ieee80211_var.h

Modified: head/sys/net80211/ieee80211_ht.h
==============================================================================
--- head/sys/net80211/ieee80211_ht.h	Mon Jun  1 16:29:03 2009	(r193238)
+++ head/sys/net80211/ieee80211_ht.h	Mon Jun  1 16:36:28 2009	(r193239)
@@ -58,6 +58,7 @@ struct ieee80211_tx_ampdu {
 	int		txa_nextrequest;/* soonest to make next request */
 	struct callout	txa_timer;
 	void		*txa_private;	/* driver-private storage */
+	uint64_t	txa_pad[4];
 };
 
 /* return non-zero if AMPDU tx for the TID is running */
@@ -141,6 +142,7 @@ struct ieee80211_rx_ampdu {
 	int		rxa_age;	/* age of oldest frame in window */
 	int		rxa_nframes;	/* frames since ADDBA */
 	struct mbuf *rxa_m[IEEE80211_AGGR_BAWMAX];
+	uint64_t	rxa_pad[4];
 };
 
 void	ieee80211_ht_attach(struct ieee80211com *);

Modified: head/sys/net80211/ieee80211_ioctl.h
==============================================================================
--- head/sys/net80211/ieee80211_ioctl.h	Mon Jun  1 16:29:03 2009	(r193238)
+++ head/sys/net80211/ieee80211_ioctl.h	Mon Jun  1 16:36:28 2009	(r193239)
@@ -64,6 +64,7 @@ struct ieee80211_nodestats {
 
 	uint32_t	ns_tx_data;		/* tx data frames */
 	uint32_t	ns_tx_mgmt;		/* tx management frames */
+	uint32_t	ns_tx_ctrl;		/* tx control frames */
 	uint32_t	ns_tx_ucast;		/* tx unicast frames */
 	uint32_t	ns_tx_mcast;		/* tx multi/broadcast frames */
 	uint64_t	ns_tx_bytes;		/* tx data count (bytes) */
@@ -83,6 +84,7 @@ struct ieee80211_nodestats {
 	uint32_t	ns_tx_deauth_code;	/* last deauth reason */
 	uint32_t	ns_tx_disassoc;		/* disassociations */
 	uint32_t	ns_tx_disassoc_code;	/* last disassociation reason */
+	uint32_t	ns_spare[8];
 };
 
 /*
@@ -101,7 +103,7 @@ struct ieee80211_stats {
 	uint32_t	is_rx_wepfail;		/* rx wep processing failed */
 	uint32_t	is_rx_decap;		/* rx decapsulation failed */
 	uint32_t	is_rx_mgtdiscard;	/* rx discard mgt frames */
-	uint32_t	is_rx_ctl;		/* rx discard ctrl frames */
+	uint32_t	is_rx_ctl;		/* rx ctrl frames */
 	uint32_t	is_rx_beacon;		/* rx beacon frames */
 	uint32_t	is_rx_rstoobig;		/* rx rate set truncated */
 	uint32_t	is_rx_elem_missing;	/* rx required element missing*/
@@ -218,7 +220,10 @@ struct ieee80211_stats {
 	uint32_t	is_beacon_miss;		/* beacon miss notification */
 	uint32_t	is_rx_badstate;		/* rx discard state != RUN */
 	uint32_t	is_ff_flush;		/* ff's flush'd from stageq */
-	uint32_t	is_spare[11];
+	uint32_t	is_tx_ctl;		/* tx ctrl frames */
+	uint32_t	is_ampdu_rexmt;		/* A-MPDU frames rexmt ok */
+	uint32_t	is_ampdu_rexmt_fail;	/* A-MPDU frames rexmt fail */
+	uint32_t	is_spare[16];
 };
 
 /*

Modified: head/sys/net80211/ieee80211_node.h
==============================================================================
--- head/sys/net80211/ieee80211_node.h	Mon Jun  1 16:29:03 2009	(r193238)
+++ head/sys/net80211/ieee80211_node.h	Mon Jun  1 16:36:28 2009	(r193239)
@@ -81,6 +81,7 @@ struct ieee80211_ies {
 	uint8_t	*htcap_ie;	/* captured HTCAP ie */
 	uint8_t	*htinfo_ie;	/* captured HTINFO ie */
 	uint8_t	*tdma_ie;	/* captured TDMA ie */
+	uint8_t	*spare[4];
 	/* NB: these must be the last members of this structure */
 	uint8_t	*data;		/* frame data > 802.11 header */
 	int	len;		/* data size in bytes */
@@ -192,6 +193,7 @@ struct ieee80211_node {
 	struct ieee80211vap	*ni_wdsvap;	/* associated WDS vap */
 	/* XXX move to vap? */
 	struct ifqueue		ni_wdsq;	/* wds pending queue */
+	uint64_t		ni_spare[4];
 };
 MALLOC_DECLARE(M_80211_NODE);
 MALLOC_DECLARE(M_80211_NODE_IE);

Modified: head/sys/net80211/ieee80211_proto.h
==============================================================================
--- head/sys/net80211/ieee80211_proto.h	Mon Jun  1 16:29:03 2009	(r193238)
+++ head/sys/net80211/ieee80211_proto.h	Mon Jun  1 16:36:28 2009	(r193239)
@@ -305,6 +305,7 @@ struct ieee80211_beacon_offsets {
 	uint16_t	bo_appie_len;	/* AppIE length in bytes */
 	uint16_t	bo_csa_trailer_len;;
 	uint8_t		*bo_csa;	/* start of CSA element */
+	uint8_t		*bo_spare[4];
 };
 struct mbuf *ieee80211_beacon_alloc(struct ieee80211_node *,
 		struct ieee80211_beacon_offsets *);

Modified: head/sys/net80211/ieee80211_scan.h
==============================================================================
--- head/sys/net80211/ieee80211_scan.h	Mon Jun  1 16:29:03 2009	(r193238)
+++ head/sys/net80211/ieee80211_scan.h	Mon Jun  1 16:36:28 2009	(r193239)
@@ -211,6 +211,7 @@ struct ieee80211_scanparams {
 	uint8_t		*htinfo;
 	uint8_t		*ath;
 	uint8_t		*tdma;
+	uint8_t		*spare[4];
 };
 
 /*
@@ -281,6 +282,10 @@ struct ieee80211_scanner {
 	/* iterate over entries in the scan cache */
 	void	(*scan_iterate)(struct ieee80211_scan_state *,
 			ieee80211_scan_iter_func *, void *);
+	void	(*scan_spare0)(void);
+	void	(*scan_spare1)(void);
+	void	(*scan_spare2)(void);
+	void	(*scan_spare4)(void);
 };
 void	ieee80211_scanner_register(enum ieee80211_opmode,
 		const struct ieee80211_scanner *);

Modified: head/sys/net80211/ieee80211_var.h
==============================================================================
--- head/sys/net80211/ieee80211_var.h	Mon Jun  1 16:29:03 2009	(r193238)
+++ head/sys/net80211/ieee80211_var.h	Mon Jun  1 16:36:28 2009	(r193239)
@@ -307,6 +307,7 @@ struct ieee80211com {
 				    int batimeout, int baseqctl);
 	void			(*ic_ampdu_rx_stop)(struct ieee80211_node *,
 				    struct ieee80211_rx_ampdu *);
+	uint64_t		ic_spare[8];
 };
 
 struct ieee80211_aclator;
@@ -456,6 +457,7 @@ struct ieee80211vap {
 	/* 802.3 output method for raw frame xmit */
 	int			(*iv_output)(struct ifnet *, struct mbuf *,
 				    struct sockaddr *, struct route *);
+	uint64_t		iv_spare[8];
 };
 MALLOC_DECLARE(M_80211_VAP);
 



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