Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Macros | Enumerations | Variables
error.h File Reference

Go to the source code of this file.

Macros

#define foreach_hicn_error
 
#define _(a, b, c)   HICN_ERROR_##a = (b),
 
#define get_error_string(errno)
 

Enumerations

enum  hicn_error_t { HICN_N_ERROR, HICN_N_ERROR }
 

Variables

typedef __attribute__
 
const char * HICN_ERROR_STRING []
 

Detailed Description

Error codes for the hICN plugin.

Macro Definition Documentation

◆ get_error_string

#define get_error_string (   errno)
Value:
(char *) (errno ? HICN_ERROR_STRING[(-errno) - 127] : \
HICN_ERROR_STRING[errno])

Variable Documentation

◆ __attribute__

__attribute__

Key definition for the mhash table. An face is uniquely identified by ip address, the interface id and a dpo pointing to the next node in the vlib graph. The ip address can correspond to the remote ip address of the next hicn hop, or to the local address of the receiving interface. The former is used to retrieve the incoming face when an interest is received, the latter when the arring packet is a data. If the face is a regular face In case of iface, the following structure can be filled in different ways:

  • dpo equal to DPO_INVALID when the iface is a regular hICN iface
  • in case of udp_tunnel dpo = { .dpoi_index = tunnel_id, .dpoi_type = DPO_FIRST, //We don't need the type, we leave it invalid .dpoi_proto = DPO_PROTO_IP4 or DPO_PROTO_IP6, .dpoi_next_node = HICN6_IFACE_OUTPUT_NEXT_UDP4_ENCAP or HICN6_IFACE_OUTPUT_NEXT_UDP6_ENCAP or HICN4_IFACE_OUTPUT_NEXT_UDP4_ENCAP or HICN4_IFACE_OUTPUT_NEXT_UDP6_ENCAP }