Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
ip_vs_sync.c File Reference
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/inetdevice.h>
#include <linux/net.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/skbuff.h>
#include <linux/in.h>
#include <linux/igmp.h>
#include <linux/udp.h>
#include <linux/err.h>
#include <linux/kthread.h>
#include <linux/wait.h>
#include <linux/kernel.h>
#include <asm/unaligned.h>
#include <net/ip.h>
#include <net/sock.h>
#include <net/ip_vs.h>

Go to the source code of this file.

Data Structures

struct  ip_vs_sync_conn_v0
 
struct  ip_vs_sync_conn_options
 
struct  ip_vs_sync_v4
 
struct  ip_vs_sync_v6
 
union  ip_vs_sync_conn
 
struct  ip_vs_sync_thread_data
 
struct  ip_vs_sync_mesg_v0
 
struct  ip_vs_sync_mesg
 
struct  ip_vs_sync_buff
 

Macros

#define KMSG_COMPONENT   "IPVS"
 
#define pr_fmt(fmt)   KMSG_COMPONENT ": " fmt
 
#define IP_VS_SYNC_GROUP   0xe0000051 /* multicast addr - 224.0.0.81 */
 
#define IP_VS_SYNC_PORT   8848 /* multicast port */
 
#define SYNC_PROTO_VER   1 /* Protocol version in header */
 
#define STYPE_INET6   0
 
#define STYPE_F_INET6   (1 << STYPE_INET6)
 
#define SVER_SHIFT   12 /* Shift to get version */
 
#define SVER_MASK   0x0fff /* Mask to strip version */
 
#define IPVS_OPT_SEQ_DATA   1
 
#define IPVS_OPT_PE_DATA   2
 
#define IPVS_OPT_PE_NAME   3
 
#define IPVS_OPT_PARAM   7
 
#define IPVS_OPT_F_SEQ_DATA   (1 << (IPVS_OPT_SEQ_DATA-1))
 
#define IPVS_OPT_F_PE_DATA   (1 << (IPVS_OPT_PE_DATA-1))
 
#define IPVS_OPT_F_PE_NAME   (1 << (IPVS_OPT_PE_NAME-1))
 
#define IPVS_OPT_F_PARAM   (1 << (IPVS_OPT_PARAM-1))
 
#define SIMPLE_CONN_SIZE   (sizeof(struct ip_vs_sync_conn_v0))
 
#define FULL_CONN_SIZE   (sizeof(struct ip_vs_sync_conn_v0) + sizeof(struct ip_vs_sync_conn_options))
 
#define SYNC_MESG_HEADER_LEN   4
 
#define MAX_CONNS_PER_SYNCBUFF   255 /* nr_conns in ip_vs_sync_mesg is 8 bit */
 

Functions

void ip_vs_sync_conn (struct net *net, struct ip_vs_conn *cp, int pkts)
 
int start_sync_thread (struct net *net, int state, char *mcast_ifn, __u8 syncid)
 
int stop_sync_thread (struct net *net, int state)
 
int __net_init ip_vs_sync_net_init (struct net *net)
 
void ip_vs_sync_net_cleanup (struct net *net)
 

Macro Definition Documentation

Definition at line 204 of file ip_vs_sync.c.

#define IP_VS_SYNC_GROUP   0xe0000051 /* multicast addr - 224.0.0.81 */

Definition at line 59 of file ip_vs_sync.c.

#define IP_VS_SYNC_PORT   8848 /* multicast port */

Definition at line 60 of file ip_vs_sync.c.

#define IPVS_OPT_F_PARAM   (1 << (IPVS_OPT_PARAM-1))

Definition at line 193 of file ip_vs_sync.c.

#define IPVS_OPT_F_PE_DATA   (1 << (IPVS_OPT_PE_DATA-1))

Definition at line 191 of file ip_vs_sync.c.

#define IPVS_OPT_F_PE_NAME   (1 << (IPVS_OPT_PE_NAME-1))

Definition at line 192 of file ip_vs_sync.c.

#define IPVS_OPT_F_SEQ_DATA   (1 << (IPVS_OPT_SEQ_DATA-1))

Definition at line 190 of file ip_vs_sync.c.

#define IPVS_OPT_PARAM   7

Definition at line 188 of file ip_vs_sync.c.

#define IPVS_OPT_PE_DATA   2

Definition at line 186 of file ip_vs_sync.c.

#define IPVS_OPT_PE_NAME   3

Definition at line 187 of file ip_vs_sync.c.

#define IPVS_OPT_SEQ_DATA   1

Definition at line 185 of file ip_vs_sync.c.

#define KMSG_COMPONENT   "IPVS"

Definition at line 34 of file ip_vs_sync.c.

#define MAX_CONNS_PER_SYNCBUFF   255 /* nr_conns in ip_vs_sync_mesg is 8 bit */

Definition at line 243 of file ip_vs_sync.c.

#define pr_fmt (   fmt)    KMSG_COMPONENT ": " fmt

Definition at line 35 of file ip_vs_sync.c.

#define SIMPLE_CONN_SIZE   (sizeof(struct ip_vs_sync_conn_v0))

Definition at line 203 of file ip_vs_sync.c.

#define STYPE_F_INET6   (1 << STYPE_INET6)

Definition at line 180 of file ip_vs_sync.c.

#define STYPE_INET6   0

Definition at line 179 of file ip_vs_sync.c.

#define SVER_MASK   0x0fff /* Mask to strip version */

Definition at line 183 of file ip_vs_sync.c.

#define SVER_SHIFT   12 /* Shift to get version */

Definition at line 182 of file ip_vs_sync.c.

#define SYNC_MESG_HEADER_LEN   4

Definition at line 242 of file ip_vs_sync.c.

#define SYNC_PROTO_VER   1 /* Protocol version in header */

Definition at line 62 of file ip_vs_sync.c.

Function Documentation

void ip_vs_sync_conn ( struct net net,
struct ip_vs_conn cp,
int  pkts 
)

Definition at line 611 of file ip_vs_sync.c.

void ip_vs_sync_net_cleanup ( struct net net)

Definition at line 1931 of file ip_vs_sync.c.

int __net_init ip_vs_sync_net_init ( struct net net)

Definition at line 1921 of file ip_vs_sync.c.

int start_sync_thread ( struct net net,
int  state,
char mcast_ifn,
__u8  syncid 
)

Definition at line 1712 of file ip_vs_sync.c.

int stop_sync_thread ( struct net net,
int  state 
)

Definition at line 1853 of file ip_vs_sync.c.