Skip to content

nimble/ll: Fixes for Data Length Extension#614

Merged
andrzej-kaczmarek merged 6 commits intoapache:masterfrom
andrzej-kaczmarek:nimble-ll-dle-fix
Feb 5, 2018
Merged

nimble/ll: Fixes for Data Length Extension#614
andrzej-kaczmarek merged 6 commits intoapache:masterfrom
andrzej-kaczmarek:nimble-ll-dle-fix

Conversation

@andrzej-kaczmarek
Copy link
Contributor

No description provided.

@andrzej-kaczmarek
Copy link
Contributor Author

this needs some more changes

sjanc
sjanc previously approved these changes Oct 13, 2017
@vrahane
Copy link
Contributor

vrahane commented Oct 13, 2017

test this please

Using our bot for tests. Not asking the PR author for testing.

@sjanc sjanc dismissed their stale review November 22, 2017 09:06

as discussed, this needs some changes

@rymanluk
Copy link
Contributor

@andrzej-kaczmarek Can we have it updated before UPF?

@andrzej-kaczmarek andrzej-kaczmarek force-pushed the nimble-ll-dle-fix branch 2 times, most recently from a485f63 to e2a7533 Compare January 26, 2018 12:37
Max TX time (regardless of PHY) is 17040us since this is maximum value
allowed by HCI commands and we should accept it. This does not mean we
will use whatever hosts requests since these are just suggestions and
we calculate actual supported and effective TX time taking into account
connection settings and other limitations from spec.
We should reply LL_UNKNOWN_RSP if CtrlData received from peer are
invalid [1]. This means, we only have to check if TX/RX values for time
and octets are not less than 328 and 27 respectively [2]. Any other
value received shall be accepted - we will calculate effective values
for both octets and time to be within limits anyway.

In addidion, even if LL_LENGTH_RSP does not have valid data we should
end procedure since there is no exception for this in spec [3]. We do
not apply invalid parameters, but also won't hit procedure timeout.

Core specification v5.0, Vol 6, Part B
[1] section 2.4.2
[2] section 2.4.2.21
[3] section 5.1.10
We did not properly adjust payload length for 2nd and subsequent packet
fragments so in case effectiveMaxTxTime is less than time required to
send payload of effectiveMaxTxOctets, we send too many data in all
packets except 1st one.
In Core specification 5.0 upper limit for TxTime is 17040 (0x4290).
@andrzej-kaczmarek andrzej-kaczmarek changed the title nimble/ll: Fixes for dle nimble/ll: Fixes for Data Length Extension Feb 5, 2018
Copy link
Contributor

@rymanluk rymanluk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, also tested on UPF59

@andrzej-kaczmarek andrzej-kaczmarek merged commit d2cd241 into apache:master Feb 5, 2018
@andrzej-kaczmarek andrzej-kaczmarek deleted the nimble-ll-dle-fix branch February 5, 2018 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants