tcp_sack.c File Reference

Handle decoding of TCP Selective ACKnowledgement (SACK) option. More...

#include "tcp_sack.h"
#include "rohc_utils.h"
Include dependency graph for decomp/schemes/tcp_sack.c:

Functions

static int d_tcp_sack_block (const struct rohc_decomp_ctxt *const context, const uint8_t *const data, const size_t data_len, sack_block_t *const sack_block)
 Parse a SACK block of the TCP SACK option.
static int d_tcp_sack_pure_lsb (const struct rohc_decomp_ctxt *const context, const uint8_t *const data, const size_t data_len, uint32_t *const sack_field)
 Parse a SACK field of a SACK block of the TCP SACK option.
int d_tcp_sack_parse (const struct rohc_decomp_ctxt *const context, const uint8_t *const data, const size_t data_len, struct d_tcp_opt_sack *const opt_sack)
 Parse the SACK TCP option.

Detailed Description

Handle decoding of TCP Selective ACKnowledgement (SACK) option.

Author:
FWX <rohc_team@dialine.fr>
Didier Barvaux <didier@barvaux.org>
Didier Barvaux <didier.barvaux@toulouse.viveris.com>

Function Documentation

static int d_tcp_sack_block ( const struct rohc_decomp_ctxt *const   context,
const uint8_t *const   data,
const size_t  data_len,
sack_block_t *const   sack_block 
) [static]

Parse a SACK block of the TCP SACK option.

See RFC6846 page 68 (and RFC2018 for Selective Acknowledgement option)

Parameters:
context The decompression context
data The data to parse
data_len The length of the data to parse
[out] sack_block The SACK block bits extracted from ROHC packet
Returns:
The number of data bytes parsed, -1 if data is malformed
int d_tcp_sack_parse ( const struct rohc_decomp_ctxt *const   context,
const uint8_t *const   data,
const size_t  data_len,
struct d_tcp_opt_sack *const   opt_sack 
)

Parse the SACK TCP option.

See RFC6846 page 68 (and RFC2018 for Selective Acknowledgement option)

Parameters:
context The decompression context
data The ROHC data to parse
data_len The length of the ROHC data to parse
[out] opt_sack The information of SACK option extracted from the packet
Returns:
The number of ROHC bytes parsed, -1 if packet is malformed
static int d_tcp_sack_pure_lsb ( const struct rohc_decomp_ctxt *const   context,
const uint8_t *const   data,
const size_t  data_len,
uint32_t *const   sack_field 
) [static]

Parse a SACK field of a SACK block of the TCP SACK option.

See RFC6846 page 67 (and RFC2018 for Selective Acknowledgement option)

Parameters:
context The decompression context
data The ROHC data to parse
data_len The length of the ROHC data to parse
[out] sack_field The uncompressed SACK field
Returns:
The number of data bytes parsed, -1 if data is malformed

Generated on 4 Jul 2018 for ROHC compression/decompression library by  doxygen 1.6.1