ROHC compression/decompression library
|
ROHC ESP compression profile. More...
#include "c_esp.h"
#include "c_generic.h"
#include "c_ip.h"
#include "rohc_traces_internal.h"
#include "crc.h"
#include "protocols/esp.h"
#include "rohc_utils.h"
#include <stdbool.h>
#include <string.h>
#include <assert.h>
Data Structures | |
struct | sc_esp_context |
Define the ESP part of the profile decompression context. More... | |
Functions | |
bool | c_esp_check_profile (const struct rohc_comp *const comp, const struct ip_packet *const outer_ip, const struct ip_packet *const inner_ip, const uint8_t protocol, rohc_ctxt_key_t *const ctxt_key) |
Check if the given packet corresponds to the ESP profile. | |
Variables | |
struct c_profile | c_esp_profile |
Define the compression part of the ESP profile as described in the RFC 3095. |
ROHC ESP compression profile.
bool c_esp_check_profile | ( | const struct rohc_comp *const | comp, |
const struct ip_packet *const | outer_ip, | ||
const struct ip_packet *const | inner_ip, | ||
const uint8_t | protocol, | ||
rohc_ctxt_key_t *const | ctxt_key | ||
) |
Check if the given packet corresponds to the ESP profile.
Conditions are:
This function is one of the functions that must exist in one profile for the framework to work.
comp | The ROHC compressor |
outer_ip | The outer IP header of the IP packet to check |
inner_ip |
|
protocol | The transport protocol carried by the IP packet:
|
ctxt_key | The key to help finding the context associated with packet |
References c_generic_check_profile(), ip_get_next_layer(), ip_get_plen(), ROHC_IPPROTO_ESP, and esphdr::spi.
struct c_profile c_esp_profile |
{ ROHC_IPPROTO_ESP, ROHC_PROFILE_ESP, "ESP / Compressor", c_esp_create, c_generic_destroy, c_esp_check_profile, c_esp_check_context, c_esp_encode, c_generic_reinit_context, c_generic_feedback, c_generic_use_udp_port, }
Define the compression part of the ESP profile as described in the RFC 3095.