Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
link.h File Reference
#include "msg.h"
#include "node.h"

Go to the source code of this file.

Data Structures

struct  tipc_stats
struct  tipc_link


#define PUSH_FAILED   1
#define PUSH_FINISHED   2
#define INVALID_LINK_SEQ   0x10000
#define WORKING_WORKING   560810u
#define WORKING_UNKNOWN   560811u
#define RESET_UNKNOWN   560812u
#define RESET_RESET   560813u
#define MAX_PKT_DEFAULT   1500


: link name character string

struct tipc_link - TIPC link data structure : network address of link's peer node

: media address to use when sending messages over link : link timer : pointer to peer node : adjacent links in bearer's list of links : indicates if link has been started : reference point for triggering link continuity checking : link session # being used by peer end of link : bearer id used by link's peer endpoint : pointer to bearer used by link : minimum link continuity loss needed to reset link [in ms] : link continuity testing interval [in ms] : # of unacknowledged continuity probes needed to reset link : current state of link FSM : indicates if link has been administratively blocked : # of protocol messages link FSM has sent in current state : template for control messages generated by link : convenience pointer to "proto_msg" field : current link priority : outbound message queue congestion thresholds (indexed by user) : # of tunnelled messages expected during link changeover : seq # of last acknowledged message at time of link reset : current maximum packet size for this link : desired maximum packet size for this link : # of probes based on current (max_pkt, max_pkt_target) : # of messages in outbound message queue : ptr to first outbound message in queue : ptr to last outbound message in queue : next sequence number to use for outbound messages : sequence number of most recently retransmitted message : # of identical retransmit requests made by peer : next sequence number to expect for inbound messages : # of messages in inbound message queue : ptr to first inbound message in queue : ptr to last inbound message in queue : # of inbound messages rx'd without ack'ing back to peer : ptr to (single) outbound control message : number of messages to retransmit : sequence number of first message to retransmit : ptr to first unsent outbound message in queue : linked list of ports waiting for link congestion to abate : next identifier to use for outbound fragmented messages : list of partially reassembled inbound message fragments : collects statistics regarding link activity

struct tipc_linktipc_link_create (struct tipc_node *n_ptr, struct tipc_bearer *b_ptr, const struct tipc_media_addr *media_addr)
void tipc_link_delete (struct tipc_link *l_ptr)
void tipc_link_changeover (struct tipc_link *l_ptr)
void tipc_link_send_duplicate (struct tipc_link *l_ptr, struct tipc_link *dest)
void tipc_link_reset_fragments (struct tipc_link *l_ptr)
int tipc_link_is_up (struct tipc_link *l_ptr)
int tipc_link_is_active (struct tipc_link *l_ptr)
u32 tipc_link_push_packet (struct tipc_link *l_ptr)
void tipc_link_stop (struct tipc_link *l_ptr)
struct sk_bufftipc_link_cmd_config (const void *req_tlv_area, int req_tlv_space, u16 cmd)
struct sk_bufftipc_link_cmd_show_stats (const void *req_tlv_area, int req_tlv_space)
struct sk_bufftipc_link_cmd_reset_stats (const void *req_tlv_area, int req_tlv_space)
void tipc_link_reset (struct tipc_link *l_ptr)
int tipc_link_send (struct sk_buff *buf, u32 dest, u32 selector)
void tipc_link_send_names (struct list_head *message_list, u32 dest)
int tipc_link_send_buf (struct tipc_link *l_ptr, struct sk_buff *buf)
u32 tipc_link_get_max_pkt (u32 dest, u32 selector)
int tipc_link_send_sections_fast (struct tipc_port *sender, struct iovec const *msg_sect, const u32 num_sect, unsigned int total_len, u32 destnode)
void tipc_link_recv_bundle (struct sk_buff *buf)
int tipc_link_recv_fragment (struct sk_buff **pending, struct sk_buff **fb, struct tipc_msg **msg)
void tipc_link_send_proto_msg (struct tipc_link *l_ptr, u32 msg_typ, int prob, u32 gap, u32 tolerance, u32 priority, u32 acked_mtu)
void tipc_link_push_queue (struct tipc_link *l_ptr)
u32 tipc_link_defer_pkt (struct sk_buff **head, struct sk_buff **tail, struct sk_buff *buf)
void tipc_link_wakeup_ports (struct tipc_link *l_ptr, int all)
void tipc_link_set_queue_limits (struct tipc_link *l_ptr, u32 window)
void tipc_link_retransmit (struct tipc_link *l_ptr, struct sk_buff *start, u32 retransmits)

Macro Definition Documentation

#define INVALID_LINK_SEQ   0x10000

Definition at line 49 of file link.h.

#define MAX_PKT_DEFAULT   1500

Definition at line 63 of file link.h.

#define PUSH_FAILED   1

Definition at line 43 of file link.h.

#define PUSH_FINISHED   2

Definition at line 44 of file link.h.

#define RESET_RESET   560813u

Definition at line 57 of file link.h.

#define RESET_UNKNOWN   560812u

Definition at line 56 of file link.h.

#define WORKING_UNKNOWN   560811u

Definition at line 55 of file link.h.

#define WORKING_WORKING   560810u

Definition at line 54 of file link.h.

Function Documentation

void tipc_link_changeover ( struct tipc_link l_ptr)

Definition at line 2170 of file link.c.

struct sk_buff* tipc_link_cmd_config ( const void req_tlv_area,
int  req_tlv_space,
u16  cmd 

Definition at line 2774 of file link.c.

struct sk_buff* tipc_link_cmd_reset_stats ( const void req_tlv_area,
int  req_tlv_space 

Definition at line 2819 of file link.c.

struct sk_buff* tipc_link_cmd_show_stats ( const void req_tlv_area,
int  req_tlv_space 

Definition at line 2950 of file link.c.

struct tipc_link* tipc_link_create ( struct tipc_node n_ptr,
struct tipc_bearer b_ptr,
const struct tipc_media_addr media_addr 

tipc_link_create - create a new link : pointer to associated node : pointer to associated bearer : media address to use when sending messages over link

Returns pointer to link.

Definition at line 295 of file link.c.

u32 tipc_link_defer_pkt ( struct sk_buff **  head,
struct sk_buff **  tail,
struct sk_buff buf 

tipc_link_defer_pkt - Add out-of-sequence message to deferred reception queue

Returns increase in queue length (i.e. 0 or 1)

Definition at line 1802 of file link.c.

void tipc_link_delete ( struct tipc_link l_ptr)

tipc_link_delete - delete a link : pointer to link

Note: 'tipc_net_lock' is write_locked, bearer is locked. This routine must not grab the node lock until after link timer cancellation to avoid a potential deadlock situation.

Definition at line 375 of file link.c.

u32 tipc_link_get_max_pkt ( u32  dest,
u32  selector 

tipc_link_get_max_pkt - get maximum packet size to use when sending to destination : network address of destination node : used to select from set of active links

If no active link can be found, uses default maximum packet size.

Definition at line 2988 of file link.c.

int tipc_link_is_active ( struct tipc_link l_ptr)

Definition at line 154 of file link.c.

int tipc_link_is_up ( struct tipc_link l_ptr)

Definition at line 147 of file link.c.

u32 tipc_link_push_packet ( struct tipc_link l_ptr)

Definition at line 1307 of file link.c.

void tipc_link_push_queue ( struct tipc_link l_ptr)

Definition at line 1387 of file link.c.

void tipc_link_recv_bundle ( struct sk_buff buf)

Definition at line 2365 of file link.c.

int tipc_link_recv_fragment ( struct sk_buff **  pending,
struct sk_buff **  fb,
struct tipc_msg **  msg 

Definition at line 2504 of file link.c.

void tipc_link_reset ( struct tipc_link l_ptr)

Definition at line 526 of file link.c.

void tipc_link_reset_fragments ( struct tipc_link l_ptr)

tipc_link_reset_fragments - purge link's inbound message fragments queue : pointer to link

Definition at line 484 of file link.c.

void tipc_link_retransmit ( struct tipc_link l_ptr,
struct sk_buff start,
u32  retransmits 

Definition at line 1474 of file link.c.

int tipc_link_send ( struct sk_buff buf,
u32  dest,
u32  selector 

Definition at line 929 of file link.c.

int tipc_link_send_buf ( struct tipc_link l_ptr,
struct sk_buff buf 

Definition at line 844 of file link.c.

void tipc_link_send_duplicate ( struct tipc_link l_ptr,
struct tipc_link dest 

Definition at line 2232 of file link.c.

void tipc_link_send_names ( struct list_head message_list,
u32  dest 

tipc_link_send_names - send name table entries to new neighbor

Send routine for bulk delivery of name table messages when contact with a new neighbor occurs. No link congestion checking is performed because name table messages must be delivered. The messages must be small enough not to require fragmentation. Called without any locks held.

Definition at line 961 of file link.c.

void tipc_link_send_proto_msg ( struct tipc_link l_ptr,
u32  msg_typ,
int  prob,
u32  gap,
u32  tolerance,
u32  priority,
u32  acked_mtu 

Definition at line 1886 of file link.c.

int tipc_link_send_sections_fast ( struct tipc_port sender,
struct iovec const msg_sect,
const u32  num_sect,
unsigned int  total_len,
u32  destnode 

Definition at line 1067 of file link.c.

void tipc_link_set_queue_limits ( struct tipc_link l_ptr,
u32  window 

Definition at line 2621 of file link.c.

void tipc_link_stop ( struct tipc_link l_ptr)

tipc_link_stop - purge all inbound and outbound messages associated with link : pointer to link

Definition at line 501 of file link.c.

void tipc_link_wakeup_ports ( struct tipc_link l_ptr,
int  all 

Definition at line 432 of file link.c.