GNUnet  0.11.x
Data Fields
DestinationEntry Struct Reference

Information we track for each IP address to determine which channel to send the traffic over to the destination. More...

Collaboration diagram for DestinationEntry:
[legend]

Data Fields

struct GNUNET_HashCode key
 Key under which this entry is in the 'destination_map' (only valid if 'heap_node != NULL'). More...
 
struct DestinationChanneldt_head
 Head of DLL of channels associated with this destination. More...
 
struct DestinationChanneldt_tail
 Tail of DLL of channels associated with this destination. More...
 
struct GNUNET_CONTAINER_HeapNodeheap_node
 Entry for this entry in the destination_heap. More...
 
int is_service
 GNUNET_NO if this is a channel to an Internet-exit, GNUNET_YES if this channel is to a service. More...
 
union {
   struct {
      struct GNUNET_HashCode   service_descriptor
 The description of the service (only used for service channels). More...
 
      struct GNUNET_PeerIdentity   target
 Peer offering the service. More...
 
   }   service_destination
 
   struct {
      int   af
 Address family used (AF_INET or AF_INET6). More...
 
      union {
         struct in_addr   v4
 Address if af is AF_INET. More...
 
         struct in6_addr   v6
 Address if af is AF_INET6. More...
 
      }   ip
 IP address of the ultimate destination (only used for exit channels). More...
 
   }   exit_destination
 
details
 Details about the connection (depending on is_service). More...
 

Detailed Description

Information we track for each IP address to determine which channel to send the traffic over to the destination.

Definition at line 96 of file gnunet-service-vpn.c.

Field Documentation

◆ key

struct GNUNET_HashCode DestinationEntry::key

Key under which this entry is in the 'destination_map' (only valid if 'heap_node != NULL').

Definition at line 102 of file gnunet-service-vpn.c.

Referenced by gnunet-chk.AESKey::__init__(), gnunet-chk.Chk::__init__(), free_destination_entry(), handle_client_redirect_to_ip(), handle_client_redirect_to_service(), and gnunet-chk.Chk::uri().

◆ dt_head

struct DestinationChannel* DestinationEntry::dt_head

Head of DLL of channels associated with this destination.

Definition at line 107 of file gnunet-service-vpn.c.

Referenced by free_destination_entry(), handle_client_redirect_to_service(), and route_packet().

◆ dt_tail

struct DestinationChannel* DestinationEntry::dt_tail

Tail of DLL of channels associated with this destination.

Definition at line 112 of file gnunet-service-vpn.c.

Referenced by free_destination_entry(), handle_client_redirect_to_service(), and route_packet().

◆ heap_node

struct GNUNET_CONTAINER_HeapNode* DestinationEntry::heap_node

◆ is_service

int DestinationEntry::is_service

GNUNET_NO if this is a channel to an Internet-exit, GNUNET_YES if this channel is to a service.

Definition at line 123 of file gnunet-service-vpn.c.

Referenced by create_channel_to_destination(), handle_client_redirect_to_ip(), handle_client_redirect_to_service(), print_channel_destination(), and route_packet().

◆ service_descriptor

struct GNUNET_HashCode DestinationEntry::service_descriptor

The description of the service (only used for service channels).

Definition at line 135 of file gnunet-service-vpn.c.

◆ target

struct GNUNET_PeerIdentity DestinationEntry::target

Peer offering the service.

Definition at line 140 of file gnunet-service-vpn.c.

◆ service_destination

struct { ... } DestinationEntry::service_destination

◆ af

int DestinationEntry::af

Address family used (AF_INET or AF_INET6).

Definition at line 148 of file gnunet-service-vpn.c.

◆ v4

struct in_addr DestinationEntry::v4

Address if af is AF_INET.

Definition at line 158 of file gnunet-service-vpn.c.

Referenced by allocate_response_ip().

◆ v6

struct in6_addr DestinationEntry::v6

Address if af is AF_INET6.

Definition at line 163 of file gnunet-service-vpn.c.

Referenced by allocate_response_ip().

◆ ip

union { ... } DestinationEntry::ip

IP address of the ultimate destination (only used for exit channels).

◆ exit_destination

struct { ... } DestinationEntry::exit_destination

◆ details

union { ... } DestinationEntry::details

The documentation for this struct was generated from the following file: