forked from didier-barvaux/rohc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
TCP: CR: fix corner case for Context Replication
Corner case is: 1/ Send IR packet for stream CID=0 2/ Receive ACK for CID=0, making the stream 'established' 3/ Send IR-CR packet for stream CID=1, with base CID=0 (as CID=0 is established), but lose the packet in the way towards decompressor 4/ Send a new packet for CID=0, but with TTL changed (+1) 5/ Send a new packet for CID=1, IR-CR is repeated since previous IR-CR was lost and no ACK was received 6/ Decompressor fails to decompress packet IR-CR The problem was located at compressor. At step 5, the compressor used a copy of context CID=0 as base context instead of the real context CID=0. The problem was fixed by using the base context as reference while: a/ finding differences between the context and the packet, b/ determining the best packet type to build, and c/ while building the packet. The real context is only used while updating the context. To achieve that, all steps a/ b/ c/ were reworked not to modify the context. 49 commits were required. Once rework was achieved, the fix is quite simple.
- Loading branch information
1 parent
bc12b88
commit b863678
Showing
12 changed files
with
560 additions
and
474 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.