GNUnet debian-0.24.3-29-g453fda2cf
 
Loading...
Searching...
No Matches
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').
 
struct DestinationChanneldt_head
 Head of DLL of channels associated with this destination.
 
struct DestinationChanneldt_tail
 Tail of DLL of channels associated with this destination.
 
struct GNUNET_CONTAINER_HeapNodeheap_node
 Entry for this entry in the destination_heap.
 
int is_service
 GNUNET_NO if this is a channel to an Internet-exit, GNUNET_YES if this channel is to a service.
 
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).
 

Detailed Description

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

Definition at line 94 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 100 of file gnunet-service-vpn.c.

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

◆ dt_head

struct DestinationChannel* DestinationEntry::dt_head

Head of DLL of channels associated with this destination.

Definition at line 105 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 110 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 121 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 133 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]

struct { ... } DestinationEntry::service_destination

◆ af

int DestinationEntry::af

Address family used (AF_INET or AF_INET6).

Definition at line 146 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 156 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 161 of file gnunet-service-vpn.c.

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

◆ [union]

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]

struct { ... } DestinationEntry::exit_destination

◆ [union]

union { ... } DestinationEntry::details

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