GNUnet 0.21.1
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 95 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 101 of file gnunet-service-vpn.c.

Referenced by gnunet-chk.Chk::__init__(), gnunet-chk.AESKey::__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 106 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 111 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 122 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 134 of file gnunet-service-vpn.c.

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

◆ target

struct GNUNET_PeerIdentity DestinationEntry::target

◆ 

struct { ... } DestinationEntry::service_destination

◆ af

int DestinationEntry::af

Address family used (AF_INET or AF_INET6).

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

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

◆ v4

struct in_addr DestinationEntry::v4

Address if af is AF_INET.

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

Referenced by allocate_response_ip(), create_channel_to_destination(), and route_packet().

◆ v6

struct in6_addr DestinationEntry::v6

Address if af is AF_INET6.

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

Referenced by allocate_response_ip(), create_channel_to_destination(), and route_packet().

◆ 

union { ... } DestinationEntry::ip

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

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

◆ 

struct { ... } DestinationEntry::exit_destination

◆ 

union { ... } DestinationEntry::details

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