The IPv6 header.  
More...
#include "rohc_utils.h"
#include <stdint.h>
#include <stddef.h>
#include "config.h"
 
Go to the source code of this file.
◆ IPV6_ADDR_CMP
      
        
          | #define IPV6_ADDR_CMP | 
          ( | 
            | 
          x,  | 
        
        
           | 
           | 
            | 
          y  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:((x)->u32[0] == (y)->u32[0] && (x)->u32[1] == (y)->u32[1] && \
         (x)->u32[2] == (y)->u32[2] && (x)->u32[3] == (y)->u32[3])
Compare two IPv6 addresses in (struct ipv6_addr *) format 
 
 
◆ IPV6_ADDR_FORMAT
      
        
          | #define IPV6_ADDR_FORMAT   "%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x" | 
        
      
 
The format to print an IPv6 address 
 
 
◆ IPV6_ADDR_IN6
The data to print an IPv6 address in (struct ipv6_addr *) format 
 
 
◆ IPV6_ADDR_RAW
      
        
          | #define IPV6_ADDR_RAW | 
          ( | 
            | 
          x | ) | 
           | 
        
      
 
Value:(x)[0], (x)[1], (x)[2], (x)[3], (x)[4], (x)[5], (x)[6], (x)[7], \
        (x)[8], (x)[9], (x)[10], (x)[11], (x)[12], (x)[13], (x)[14], (x)[15]
The data to print an IPv6 address in raw format 
 
 
◆ IPV6_FLOW_MASK
      
        
          | #define IPV6_FLOW_MASK   0x000fffffU | 
        
      
 
The mask for the Flow Label field 
 
 
◆ IPV6_OPT_CTXT_LEN_MAX
The maximum length for the IPv6 extension header context 
 
 
◆ IPV6_OPT_HDR_LEN_FIELD_MAX_VAL
      
        
          | #define IPV6_OPT_HDR_LEN_FIELD_MAX_VAL   0xffU | 
        
      
 
The maximum value of the length field of one IPv6 extension header 
 
 
◆ IPV6_OPT_HDR_LEN_MAX
The maximum length of one IPv6 extension header 
 
 
◆ IPV6_TC_MASK
      
        
          | #define IPV6_TC_MASK   0x0ff00000U | 
        
      
 
The mask for the Traffic Class (TC) field 
 
 
◆ IPV6_VERSION_MASK
      
        
          | #define IPV6_VERSION_MASK   0xf0000000U | 
        
      
 
The mask for the Traffic Class (TC) field 
 
 
◆ ipv6_get_dscp()
  
  
      
        
          | static uint8_t ipv6_get_dscp  | 
          ( | 
          const struct ipv6_hdr *const  | 
          ipv6 | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Get the Differentiated Services Code Point (DSCP) of the given IPv6 packet. 
- Parameters
 - 
  
    | ipv6 | The header of the IPv6 packet  | 
  
   
- Returns
 - The 6-bit DSCP 
 
 
 
◆ ipv6_get_flow_label()
  
  
      
        
          | static uint32_t ipv6_get_flow_label  | 
          ( | 
          const struct ipv6_hdr *const  | 
          ipv6 | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Get the Flow Label of the given IPv6 packet. 
- Parameters
 - 
  
    | ipv6 | The header of the IPv6 packet  | 
  
   
- Returns
 - The 20-bit Flow Label 
 
 
 
◆ ipv6_get_tc()
  
  
      
        
          | static uint8_t ipv6_get_tc  | 
          ( | 
          const struct ipv6_hdr *const  | 
          ipv6 | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Get the Traffic Class (TC) of the given IPv6 packet. 
- Parameters
 - 
  
    | ipv6 | The header of the IPv6 packet  | 
  
   
- Returns
 - The 8-bit Traffic Class (TC) 
 
 
 
◆ ipv6_opt_get_length()
  
  
      
        
          | static size_t ipv6_opt_get_length  | 
          ( | 
          const struct ipv6_opt *const  | 
          opt | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
get the length (in bytes) of the IPv6 option header 
- Parameters
 - 
  
    | opt | The IPv6 option header  | 
  
   
- Returns
 - The length (in bytes) of the IPv6 option header 
 
 
 
◆ ipv6_set_dscp()
  
  
      
        
          | static void ipv6_set_dscp  | 
          ( | 
          struct ipv6_hdr *const  | 
          ipv6,  | 
         
        
           | 
           | 
          const uint8_t  | 
          dscp  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Set the Differentiated Services Code Point (DSCP) of the given IPv6 packet. 
- Parameters
 - 
  
    | [in,out] | ipv6 | The header of the IPv6 packet  | 
     | dscp | The 6-bit DSCP  | 
  
   
 
 
◆ ipv6_set_dscp_ecn()
  
  
      
        
          | static void ipv6_set_dscp_ecn  | 
          ( | 
          struct ipv6_hdr *const  | 
          ipv6,  | 
         
        
           | 
           | 
          const uint8_t  | 
          dscp,  | 
         
        
           | 
           | 
          const uint8_t  | 
          ecn  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Set the DSCP and ECN of the given IPv6 packet. 
- Parameters
 - 
  
    | [in,out] | ipv6 | The header of the IPv6 packet  | 
     | dscp | The 6-bit DSCP  | 
     | ecn | The 2-bit ECN  | 
  
   
 
 
◆ ipv6_set_flow_label()
  
  
      
        
          | static void ipv6_set_flow_label  | 
          ( | 
          struct ipv6_hdr *const  | 
          ipv6,  | 
         
        
           | 
           | 
          const uint32_t  | 
          flow_label  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Set the Flow Label of the given IPv6 packet. 
- Parameters
 - 
  
    | [in,out] | ipv6 | The header of the IPv6 packet  | 
     | flow_label | The 20-bit Flow Label  | 
  
   
 
 
◆ ipv6_set_tc()
  
  
      
        
          | static void ipv6_set_tc  | 
          ( | 
          struct ipv6_hdr *const  | 
          ipv6,  | 
         
        
           | 
           | 
          const uint8_t  | 
          tc  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Set the Traffic Class (TC) of the given IPv6 packet. 
- Parameters
 - 
  
    | [in,out] | ipv6 | The header of the IPv6 packet  | 
     | tc | The 8-bit Traffic Class (TC)  |