Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
tcp.c File Reference
#include <linux/kernel.h>
#include <linux/jiffies.h>
#include <linux/slab.h>
#include <linux/idr.h>
#include <linux/kref.h>
#include <linux/net.h>
#include <linux/export.h>
#include <linux/uaccess.h>
#include <net/tcp.h>
#include "heartbeat.h"
#include "tcp.h"
#include "nodemanager.h"
#include "masklog.h"
#include "tcp_internal.h"

Go to the source code of this file.

Macros

#define MLOG_MASK_PREFIX   ML_TCP
 
#define SC_NODEF_FMT   "node %s (num %u) at %pI4:%u"
 
#define msglog(hdr, fmt, args...)
 
#define sclog(sc, fmt, args...)
 
#define R2NET_HB_PRI   0x1
 
#define r2net_init_nst(a, b, c, d, e)
 
#define r2net_set_nst_sock_time(a)
 
#define r2net_set_nst_send_time(a)
 
#define r2net_set_nst_status_time(a)
 
#define r2net_set_nst_sock_container(a, b)
 
#define r2net_set_nst_msg_id(a, b)
 
#define r2net_set_sock_timer(a)
 
#define r2net_set_data_ready_time(a)
 
#define r2net_set_advance_start_time(a)
 
#define r2net_set_advance_stop_time(a)
 
#define r2net_set_func_start_time(a)
 
#define r2net_set_func_stop_time(a)
 
#define r2net_update_send_stats(a, b)
 
#define r2net_update_recv_stats(sc)
 

Functions

struct r2net_noder2net_nn_from_num (u8 node_num)
 
int r2net_num_connected_peers (void)
 
int r2net_register_handler (u32 msg_type, u32 key, u32 max_len, r2net_msg_handler_func *func, void *data, r2net_post_msg_handler_func *post_func, struct list_head *unreg_list)
 
 EXPORT_SYMBOL_GPL (r2net_register_handler)
 
void r2net_unregister_handler_list (struct list_head *list)
 
 EXPORT_SYMBOL_GPL (r2net_unregister_handler_list)
 
void r2net_fill_node_map (unsigned long *map, unsigned bytes)
 
 EXPORT_SYMBOL_GPL (r2net_fill_node_map)
 
int r2net_send_message_vec (u32 msg_type, u32 key, struct kvec *caller_vec, size_t caller_veclen, u8 target_node, int *status)
 
 EXPORT_SYMBOL_GPL (r2net_send_message_vec)
 
int r2net_send_message (u32 msg_type, u32 key, void *data, u32 len, u8 target_node, int *status)
 
 EXPORT_SYMBOL_GPL (r2net_send_message)
 
void r2net_force_data_magic (struct r2net_msg *hdr, u16 msgtype, u32 msgkey)
 
void r2net_disconnect_node (struct r2nm_node *node)
 
void r2net_unregister_hb_callbacks (void)
 
int r2net_register_hb_callbacks (void)
 
int r2net_start_listening (struct r2nm_node *node)
 
void r2net_stop_listening (struct r2nm_node *node)
 
void r2net_hb_node_up_manual (int node_num)
 
int r2net_init (void)
 
void r2net_exit (void)
 

Macro Definition Documentation

#define MLOG_MASK_PREFIX   ML_TCP

Definition at line 70 of file tcp.c.

#define msglog (   hdr,
  fmt,
  args... 
)
Value:
do { \
typeof(hdr) __hdr = (hdr); \
mlog(ML_MSG, "[mag %u len %u typ %u stat %d sys_stat %d " \
"key %08x num %u] " fmt, \
be16_to_cpu(__hdr->magic), be16_to_cpu(__hdr->data_len), \
be16_to_cpu(__hdr->msg_type), be32_to_cpu(__hdr->status), \
be32_to_cpu(__hdr->sys_status), be32_to_cpu(__hdr->key), \
be32_to_cpu(__hdr->msg_num) , ##args); \
} while (0)

Definition at line 82 of file tcp.c.

#define R2NET_HB_PRI   0x1

Definition at line 121 of file tcp.c.

#define r2net_init_nst (   a,
  b,
  c,
  d,
  e 
)

Definition at line 211 of file tcp.c.

#define r2net_set_advance_start_time (   a)

Definition at line 219 of file tcp.c.

#define r2net_set_advance_stop_time (   a)

Definition at line 220 of file tcp.c.

#define r2net_set_data_ready_time (   a)

Definition at line 218 of file tcp.c.

#define r2net_set_func_start_time (   a)

Definition at line 221 of file tcp.c.

#define r2net_set_func_stop_time (   a)

Definition at line 222 of file tcp.c.

#define r2net_set_nst_msg_id (   a,
  b 
)

Definition at line 216 of file tcp.c.

#define r2net_set_nst_send_time (   a)

Definition at line 213 of file tcp.c.

#define r2net_set_nst_sock_container (   a,
  b 
)

Definition at line 215 of file tcp.c.

#define r2net_set_nst_sock_time (   a)

Definition at line 212 of file tcp.c.

#define r2net_set_nst_status_time (   a)

Definition at line 214 of file tcp.c.

#define r2net_set_sock_timer (   a)

Definition at line 217 of file tcp.c.

#define r2net_update_recv_stats (   sc)

Definition at line 257 of file tcp.c.

#define r2net_update_send_stats (   a,
  b 
)

Definition at line 255 of file tcp.c.

#define SC_NODEF_FMT   "node %s (num %u) at %pI4:%u"

Definition at line 75 of file tcp.c.

#define sclog (   sc,
  fmt,
  args... 
)
Value:
do { \
typeof(sc) __sc = (sc); \
mlog(ML_SOCKET, "[sc %p refs %d sock %p node %u page %p " \
"pg_off %zu] " fmt, __sc, \
atomic_read(&__sc->sc_kref.refcount), __sc->sc_sock, \
__sc->sc_node->nd_num, __sc->sc_page, __sc->sc_page_off , \
##args); \
} while (0)

Definition at line 92 of file tcp.c.

Function Documentation

EXPORT_SYMBOL_GPL ( r2net_register_handler  )
EXPORT_SYMBOL_GPL ( r2net_unregister_handler_list  )
EXPORT_SYMBOL_GPL ( r2net_fill_node_map  )
EXPORT_SYMBOL_GPL ( r2net_send_message_vec  )
EXPORT_SYMBOL_GPL ( r2net_send_message  )
void r2net_disconnect_node ( struct r2nm_node node)

Definition at line 1851 of file tcp.c.

void r2net_exit ( void  )

Definition at line 2247 of file tcp.c.

void r2net_fill_node_map ( unsigned long map,
unsigned  bytes 
)

Definition at line 1047 of file tcp.c.

void r2net_force_data_magic ( struct r2net_msg hdr,
u16  msgtype,
u32  msgkey 
)

Definition at line 1259 of file tcp.c.

void r2net_hb_node_up_manual ( int  node_num)

Definition at line 2192 of file tcp.c.

int r2net_init ( void  )

Definition at line 2205 of file tcp.c.

struct r2net_node* r2net_nn_from_num ( u8  node_num)
read

Definition at line 287 of file tcp.c.

int r2net_num_connected_peers ( void  )

Definition at line 497 of file tcp.c.

int r2net_register_handler ( u32  msg_type,
u32  key,
u32  max_len,
r2net_msg_handler_func func,
void data,
r2net_post_msg_handler_func post_func,
struct list_head unreg_list 
)

Definition at line 816 of file tcp.c.

int r2net_register_hb_callbacks ( void  )

Definition at line 1911 of file tcp.c.

int r2net_send_message ( u32  msg_type,
u32  key,
void data,
u32  len,
u8  target_node,
int status 
)

Definition at line 1187 of file tcp.c.

int r2net_send_message_vec ( u32  msg_type,
u32  key,
struct kvec caller_vec,
size_t  caller_veclen,
u8  target_node,
int status 
)

Definition at line 1065 of file tcp.c.

int r2net_start_listening ( struct r2nm_node node)

Definition at line 2135 of file tcp.c.

void r2net_stop_listening ( struct r2nm_node node)

Definition at line 2161 of file tcp.c.

void r2net_unregister_handler_list ( struct list_head list)

Definition at line 890 of file tcp.c.

void r2net_unregister_hb_callbacks ( void  )

Definition at line 1905 of file tcp.c.