Bug 482296 - californium-proxy causes Block2 transfer timeout
Summary: californium-proxy causes Block2 transfer timeout
Status: NEW
Alias: None
Product: Californium
Classification: IoT
Component: Californium (show other bugs)
Version: 1.0.0   Edit
Hardware: All All
: P3 normal
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-16 09:47 EST by Matthias Kovatsch CLA
Modified: 2015-11-16 09:47 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Kovatsch CLA 2015-11-16 09:47:14 EST
rahxepon12 <jdamme258@gmail.com> reported a Block2 timeout when using the CoAP-CoAP proxy. The transfer completes successfully, though.

A possible cause that needs to be confirmed is that the proxy cannot find the initial exchange, since proxy requests can use the Proxy-Uri option instead of Uri-Path. The latter is, however, used to match exchanges of blockwise transfers.

Copper       Proxy       Erbium
   |           |           |
   |---GET---->|           | [Exchange A]
   |<---ACK----|           |
   |           |---GET---->|
   |           |<--Block#0-|
   |           |---GET#1-->|
   |           |<--Block#1-|
   |<--Block#0-|           | [Exchange A]
   |---GET#1-->|           | [new Exchange B:
   |           |---GET#1-->|  This is wrong and happens when the proxy does not
   |           |<--Block#1-|  find the previous exchange with cached response]
   |<--Block#1-|           | [Exchange B completes]
   |           |           |
   |           X           | [Exchange A is cleaned up by BlockCleanupTask]
   |           |           |