Search Linux Wireless

Re: [PATCH v1 1/6] mac80211: move flag IEEE80211_TX_CTL_ASSIGN_SEQ into info->control.flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2014-02-28 at 15:27 +0100, Thomas Hühn wrote:

> > Right, but if IEEE80211_TX_CTL_ASSIGN was set then it also isn't
> > cleared.
> 
> So the standard conform behavior should be to re-use the same sequno in case of a software retry ?

Technically, I think that's probably what should happen. However, the
implementation of that is practically impossible since in many cases the
firmware may have assigned a sequence number. Drivers will typically not
assign that number back, if they even know it.

> I could re-assign the flag IEEE80211_TX_CTL_ASSIGN_SEQ when a software retry happens by add
> a test to function ieee80211_handle_filtered_frame. Something like:
> 	 if (!ieee80211_is_data_qos(hdr->frame_control) || is_multicast_ether_addr(hdr->addr1)) {
> 		/* driver should assign sequence number */
> 		info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ;
> 	}
> 
> Would this be right ?

No, clearly not, this isn't the same set of conditions. Even if it were,
though, I'd hate to duplicate them here since that just causes a
maintenance nightmare.

> > But now the frame might not have *any* sequence number assigned at all,
> > if e.g. the firmware assigns sequence numbers and they're not written
> > back to the frame. Thus I think you're losing the entire sequence number
> > assignment in this case.
> > 
> 
> If I re-assign the IEEE80211_TX_CTL_ASSIGN_SEQ flag for software retries, than drivers
> that assigned a sequence number in the first try, could probably assign a new one. Would that
> be ok ?

That's what we have. It's debatable and not necessarily
standard-conformant, but I don't think a little cleanup patch like yours
should be allowed to change it.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux