-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluetooth: L2CAP_BR: Enable Retransmission and Flow control #78879
base: main
Are you sure you want to change the base?
Changes from all commits
c34ccec
fb4d29a
67e47c1
c618edc
0588fa4
ad41023
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,7 @@ config BT_CLASSIC | |
select BT_CENTRAL | ||
select BT_SMP | ||
select BT_L2CAP_DYNAMIC_CHANNEL | ||
select CRC | ||
select EXPERIMENTAL | ||
help | ||
This option enables Bluetooth BR/EDR support | ||
|
@@ -26,6 +27,86 @@ config BT_MAX_SCO_CONN | |
Maximum number of simultaneous Bluetooth synchronous connections | ||
supported. The minimum (and default) number is 1. | ||
|
||
config BT_L2CAP_RET | ||
bool "Bluetooth L2CAP retransmission mode [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
help | ||
This option enables Bluetooth L2CAP retransmission mode | ||
|
||
config BT_L2CAP_FC | ||
bool "Bluetooth L2CAP flow control mode [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
help | ||
This option enables Bluetooth L2CAP flow control mode | ||
|
||
config BT_L2CAP_ENH_RET | ||
bool "Bluetooth L2CAP enhance retransmission [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
help | ||
This option enables Bluetooth L2CAP enhance retransmission | ||
|
||
config BT_L2CAP_STREAM | ||
bool "Bluetooth L2CAP streaming mode [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
help | ||
This option enables Bluetooth L2CAP streaming mode | ||
|
||
config BT_L2CAP_FCS | ||
bool "Bluetooth L2CAP FCS Option [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
depends on BT_L2CAP_STREAM || BT_L2CAP_ENH_RET | ||
help | ||
This option enables Bluetooth L2CAP FCS Option | ||
|
||
config BT_L2CAP_EXT_WIN_SIZE | ||
bool "Bluetooth L2CAP Extended window size Option [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
depends on BT_L2CAP_STREAM || BT_L2CAP_ENH_RET | ||
help | ||
This option enables Bluetooth L2CAP Extended window size Option | ||
|
||
if BT_L2CAP_RET || BT_L2CAP_FC || BT_L2CAP_ENH_RET || BT_L2CAP_STREAM | ||
config BT_L2CAP_MPS | ||
int "Bluetooth L2CAP MPS for retransmission and Flow control" | ||
default 48 | ||
range 48 BT_L2CAP_TX_MTU | ||
help | ||
Bluetooth L2CAP MPS for retransmission and Flow control | ||
|
||
config BT_L2CAP_MAX_WINDOW_SIZE | ||
int "Maximum Windows Size of Retransmission and Flow Control" | ||
default 1 | ||
range 1 32 | ||
help | ||
Maximum Windows Size of Retransmission and Flow Control. | ||
The minimum (and default) number is 1. | ||
The range is 1 to 32 for Flow Control mode and Retransmission mode. | ||
The range is 1 to 63 for Enhanced Retransmission mode. | ||
The range is 1 to 0x3FFF for Enhanced Retransmission mode with | ||
externed control. | ||
|
||
config BT_L2CAP_BR_RET_TIMEOUT | ||
int "Retransmission timeout" | ||
default 2000 | ||
range 1000 2000 | ||
help | ||
the Retransmission timeout shall be three times the value of flush | ||
timeout, subject to a minimum of 1 second and maximum of 2 seconds. | ||
|
||
config BT_L2CAP_BR_MONITOR_TIMEOUT | ||
int "Monitor timeout" | ||
default 12000 if BT_L2CAP_ENH_RET | ||
default BT_L2CAP_BR_RET_TIMEOUT | ||
range BT_L2CAP_BR_RET_TIMEOUT 12000 | ||
Comment on lines
+69
to
+100
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about these? They really don't depend on any of the other newly added options in this PR? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. They are depended on BT_L2CAP_RET, BT_L2CAP_FC, BT_L2CAP_ENH_RET, or BT_L2CAP_STREAM. Let me update the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updated. |
||
help | ||
If a flush timeout exists on the link for Enhanced Retransmission mode and | ||
both sides of the link are configured to the same flush timeout value then the | ||
monitor timeout shall be set to a value at least as large as the Retransmission | ||
timeout otherwise the value of the Monitor timeout shall be six times the value | ||
of flush timeout, subject to a minimum of the retransmission timeout value and | ||
a maximum of 12 seconds. | ||
endif # BT_L2CAP_RET || BT_L2CAP_FC || BT_L2CAP_ENH_RET || BT_L2CAP_STREAM | ||
|
||
config BT_RFCOMM | ||
bool "Bluetooth RFCOMM protocol support [EXPERIMENTAL]" | ||
select EXPERIMENTAL | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there really no interdependencies with these, i.e. all four of them can be enabled independently without depending on any other option?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. I think they can be enabled independently.