Skip to content
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

Max buffer allocation size needs to take into account differing max size caps for TCP and MRP #31779

Closed
pidarped opened this issue Jan 30, 2024 · 0 comments · Fixed by #33308
Closed

Comments

@pidarped
Copy link
Contributor

Feature description

Allocating a new PacketBuffer(using PacketBuffer::New(..)) currently has internal checks against kMaxSizeWithoutReserve(set to CHIP_SYSTEM_CONFIG_PACKETBUFFER_CAPACITY_MAX), that is a hardcoded maximum buffer capacity based on network constraints like MTU. This needs to be updated to utilize a slightly more flexible approach during allocation for systems that support both MRP and TCP so that buffer allocation can check against a larger capacity for TCP but keep the existing one for MRP.

Platform

core

Platform Version(s)

No response

Anything else?

No response

pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 5, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 15, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 15, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 15, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 17, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 22, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 23, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 25, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 26, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 26, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 28, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.
- Disable TCP on nrfconnect platform because of resource requirements.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue May 31, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.
- Disable TCP on nrfconnect platform because of resource requirements.
  Stack allocations for large buffer with default size is exceeding
  limits. Disabling the Test file altogether for this platform would
  prevent all tests from running. Instead, only disabling TCP on
  nrfConnect for now, since it is unused.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue Jun 2, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Close the connection to peer if a message is received with length
exceeding the amount supported by the local node.

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.
- Disable TCP on nrfconnect platform because of resource requirements.
  Stack allocations for large buffer with default size is exceeding
  limits. Disabling the Test file altogether for this platform would
  prevent all tests from running. Instead, only disabling TCP on
  nrfConnect for now, since it is unused.

Fixes Issues project-chip#31779, project-chip#33307.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue Jun 4, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.
- Disable TCP on nrfconnect platform because of resource requirements.
  Stack allocations for large buffer with default size is exceeding
  limits. Disabling the Test file altogether for this platform would
  prevent all tests from running. Instead, only disabling TCP on
  nrfConnect for now, since it is unused.

Fixes project-chip#31779.
pidarped added a commit to pidarped/connectedhomeip that referenced this issue Jun 4, 2024
Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.
- Disable TCP on nrfconnect platform because of resource requirements.
  Stack allocations for large buffer with default size is exceeding
  limits. Disabling the Test file altogether for this platform would
  prevent all tests from running. Instead, only disabling TCP on
  nrfConnect for now, since it is unused.

Fixes project-chip#31779.
@mergify mergify bot closed this as completed in #33308 Jun 5, 2024
mergify bot pushed a commit that referenced this issue Jun 5, 2024
…3308)

* Changes for large Packetbuffer allocation to support TCP payloads

Changes to internal checks in SystemPacketBuffer.

Update the length encoding for TCP payloads during send and receive.

Max size config for large packetbuffer size limit in SystemPacketBuffer.h.

Define Max application payload size for large buffers

Test modifications for chainedbuffer receives for TCP.
- Add test for Buffer length greater than MRP max size.
- Disable TCP on nrfconnect platform because of resource requirements.
  Stack allocations for large buffer with default size is exceeding
  limits. Disabling the Test file altogether for this platform would
  prevent all tests from running. Instead, only disabling TCP on
  nrfConnect for now, since it is unused.

Fixes #31779.

* Update src/system/SystemPacketBuffer.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Update src/transport/raw/TCP.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Restyle fix

---------

Co-authored-by: Boris Zbarsky <[email protected]>
@github-project-automation github-project-automation bot moved this from Todo to Done in [Feature] TCP Jun 5, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in [Device Type] Cameras Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants