Merge branch 'tipc-Dec29-2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
This commit is contained in:
commit
56be178875
@ -46,7 +46,7 @@
|
||||
#define BCLINK_WIN_DEFAULT 20 /* bcast link window size (default) */
|
||||
|
||||
/**
|
||||
* struct bcbearer_pair - a pair of bearers used by broadcast link
|
||||
* struct tipc_bcbearer_pair - a pair of bearers used by broadcast link
|
||||
* @primary: pointer to primary bearer
|
||||
* @secondary: pointer to secondary bearer
|
||||
*
|
||||
@ -54,13 +54,13 @@
|
||||
* to be paired.
|
||||
*/
|
||||
|
||||
struct bcbearer_pair {
|
||||
struct tipc_bcbearer_pair {
|
||||
struct tipc_bearer *primary;
|
||||
struct tipc_bearer *secondary;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct bcbearer - bearer used by broadcast link
|
||||
* struct tipc_bcbearer - bearer used by broadcast link
|
||||
* @bearer: (non-standard) broadcast bearer structure
|
||||
* @media: (non-standard) broadcast media structure
|
||||
* @bpairs: array of bearer pairs
|
||||
@ -74,17 +74,17 @@ struct bcbearer_pair {
|
||||
* prevented through use of the spinlock "bc_lock".
|
||||
*/
|
||||
|
||||
struct bcbearer {
|
||||
struct tipc_bcbearer {
|
||||
struct tipc_bearer bearer;
|
||||
struct media media;
|
||||
struct bcbearer_pair bpairs[MAX_BEARERS];
|
||||
struct bcbearer_pair bpairs_temp[TIPC_MAX_LINK_PRI + 1];
|
||||
struct tipc_media media;
|
||||
struct tipc_bcbearer_pair bpairs[MAX_BEARERS];
|
||||
struct tipc_bcbearer_pair bpairs_temp[TIPC_MAX_LINK_PRI + 1];
|
||||
struct tipc_node_map remains;
|
||||
struct tipc_node_map remains_new;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct bclink - link used for broadcast messages
|
||||
* struct tipc_bclink - link used for broadcast messages
|
||||
* @link: (non-standard) broadcast link structure
|
||||
* @node: (non-standard) node structure representing b'cast link's peer node
|
||||
* @bcast_nodes: map of broadcast-capable nodes
|
||||
@ -93,19 +93,19 @@ struct bcbearer {
|
||||
* Handles sequence numbering, fragmentation, bundling, etc.
|
||||
*/
|
||||
|
||||
struct bclink {
|
||||
struct link link;
|
||||
struct tipc_bclink {
|
||||
struct tipc_link link;
|
||||
struct tipc_node node;
|
||||
struct tipc_node_map bcast_nodes;
|
||||
struct tipc_node *retransmit_to;
|
||||
};
|
||||
|
||||
static struct bcbearer bcast_bearer;
|
||||
static struct bclink bcast_link;
|
||||
static struct tipc_bcbearer bcast_bearer;
|
||||
static struct tipc_bclink bcast_link;
|
||||
|
||||
static struct bcbearer *bcbearer = &bcast_bearer;
|
||||
static struct bclink *bclink = &bcast_link;
|
||||
static struct link *bcl = &bcast_link.link;
|
||||
static struct tipc_bcbearer *bcbearer = &bcast_bearer;
|
||||
static struct tipc_bclink *bclink = &bcast_link;
|
||||
static struct tipc_link *bcl = &bcast_link.link;
|
||||
|
||||
static DEFINE_SPINLOCK(bc_lock);
|
||||
|
||||
@ -308,7 +308,7 @@ void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked)
|
||||
|
||||
static void bclink_send_ack(struct tipc_node *n_ptr)
|
||||
{
|
||||
struct link *l_ptr = n_ptr->active_links[n_ptr->addr & 1];
|
||||
struct tipc_link *l_ptr = n_ptr->active_links[n_ptr->addr & 1];
|
||||
|
||||
if (l_ptr != NULL)
|
||||
tipc_link_send_proto_msg(l_ptr, STATE_MSG, 0, 0, 0, 0, 0);
|
||||
@ -677,8 +677,8 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
|
||||
|
||||
void tipc_bcbearer_sort(void)
|
||||
{
|
||||
struct bcbearer_pair *bp_temp = bcbearer->bpairs_temp;
|
||||
struct bcbearer_pair *bp_curr;
|
||||
struct tipc_bcbearer_pair *bp_temp = bcbearer->bpairs_temp;
|
||||
struct tipc_bcbearer_pair *bp_curr;
|
||||
int b_index;
|
||||
int pri;
|
||||
|
||||
@ -893,9 +893,9 @@ static void tipc_nmap_diff(struct tipc_node_map *nm_a,
|
||||
* tipc_port_list_add - add a port to a port list, ensuring no duplicates
|
||||
*/
|
||||
|
||||
void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
|
||||
void tipc_port_list_add(struct tipc_port_list *pl_ptr, u32 port)
|
||||
{
|
||||
struct port_list *item = pl_ptr;
|
||||
struct tipc_port_list *item = pl_ptr;
|
||||
int i;
|
||||
int item_sz = PLSIZE;
|
||||
int cnt = pl_ptr->count;
|
||||
@ -927,10 +927,10 @@ void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
|
||||
*
|
||||
*/
|
||||
|
||||
void tipc_port_list_free(struct port_list *pl_ptr)
|
||||
void tipc_port_list_free(struct tipc_port_list *pl_ptr)
|
||||
{
|
||||
struct port_list *item;
|
||||
struct port_list *next;
|
||||
struct tipc_port_list *item;
|
||||
struct tipc_port_list *next;
|
||||
|
||||
for (item = pl_ptr->next; item; item = next) {
|
||||
next = item->next;
|
||||
|
@ -54,15 +54,15 @@ struct tipc_node_map {
|
||||
#define PLSIZE 32
|
||||
|
||||
/**
|
||||
* struct port_list - set of node local destination ports
|
||||
* struct tipc_port_list - set of node local destination ports
|
||||
* @count: # of ports in set (only valid for first entry in list)
|
||||
* @next: pointer to next entry in list
|
||||
* @ports: array of port references
|
||||
*/
|
||||
|
||||
struct port_list {
|
||||
struct tipc_port_list {
|
||||
int count;
|
||||
struct port_list *next;
|
||||
struct tipc_port_list *next;
|
||||
u32 ports[PLSIZE];
|
||||
};
|
||||
|
||||
@ -83,8 +83,8 @@ static inline int tipc_nmap_equal(struct tipc_node_map *nm_a, struct tipc_node_m
|
||||
return !memcmp(nm_a, nm_b, sizeof(*nm_a));
|
||||
}
|
||||
|
||||
void tipc_port_list_add(struct port_list *pl_ptr, u32 port);
|
||||
void tipc_port_list_free(struct port_list *pl_ptr);
|
||||
void tipc_port_list_add(struct tipc_port_list *pl_ptr, u32 port);
|
||||
void tipc_port_list_free(struct tipc_port_list *pl_ptr);
|
||||
|
||||
void tipc_bclink_init(void);
|
||||
void tipc_bclink_stop(void);
|
||||
|
@ -41,7 +41,7 @@
|
||||
|
||||
#define MAX_ADDR_STR 32
|
||||
|
||||
static struct media *media_list[MAX_MEDIA];
|
||||
static struct tipc_media *media_list[MAX_MEDIA];
|
||||
static u32 media_count;
|
||||
|
||||
struct tipc_bearer tipc_bearers[MAX_BEARERS];
|
||||
@ -68,7 +68,7 @@ static int media_name_valid(const char *name)
|
||||
* tipc_media_find - locates specified media object by name
|
||||
*/
|
||||
|
||||
struct media *tipc_media_find(const char *name)
|
||||
struct tipc_media *tipc_media_find(const char *name)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
@ -83,7 +83,7 @@ struct media *tipc_media_find(const char *name)
|
||||
* media_find_id - locates specified media object by type identifier
|
||||
*/
|
||||
|
||||
static struct media *media_find_id(u8 type)
|
||||
static struct tipc_media *media_find_id(u8 type)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
@ -100,7 +100,7 @@ static struct media *media_find_id(u8 type)
|
||||
* Bearers for this media type must be activated separately at a later stage.
|
||||
*/
|
||||
|
||||
int tipc_register_media(struct media *m_ptr)
|
||||
int tipc_register_media(struct tipc_media *m_ptr)
|
||||
{
|
||||
int res = -EINVAL;
|
||||
|
||||
@ -138,7 +138,7 @@ int tipc_register_media(struct media *m_ptr)
|
||||
void tipc_media_addr_printf(struct print_buf *pb, struct tipc_media_addr *a)
|
||||
{
|
||||
char addr_str[MAX_ADDR_STR];
|
||||
struct media *m_ptr;
|
||||
struct tipc_media *m_ptr;
|
||||
|
||||
m_ptr = media_find_id(a->media_id);
|
||||
|
||||
@ -185,7 +185,7 @@ struct sk_buff *tipc_media_get_names(void)
|
||||
*/
|
||||
|
||||
static int bearer_name_validate(const char *name,
|
||||
struct bearer_name *name_parts)
|
||||
struct tipc_bearer_names *name_parts)
|
||||
{
|
||||
char name_copy[TIPC_MAX_BEARER_NAME];
|
||||
char *media_name;
|
||||
@ -318,7 +318,7 @@ void tipc_bearer_remove_dest(struct tipc_bearer *b_ptr, u32 dest)
|
||||
static int bearer_push(struct tipc_bearer *b_ptr)
|
||||
{
|
||||
u32 res = 0;
|
||||
struct link *ln, *tln;
|
||||
struct tipc_link *ln, *tln;
|
||||
|
||||
if (b_ptr->blocked)
|
||||
return 0;
|
||||
@ -364,7 +364,8 @@ void tipc_continue(struct tipc_bearer *b_ptr)
|
||||
* bearer.lock is busy
|
||||
*/
|
||||
|
||||
static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr, struct link *l_ptr)
|
||||
static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr,
|
||||
struct tipc_link *l_ptr)
|
||||
{
|
||||
list_move_tail(&l_ptr->link_list, &b_ptr->cong_links);
|
||||
}
|
||||
@ -377,7 +378,7 @@ static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr, struct link
|
||||
* bearer.lock is free
|
||||
*/
|
||||
|
||||
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr)
|
||||
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr)
|
||||
{
|
||||
spin_lock_bh(&b_ptr->lock);
|
||||
tipc_bearer_schedule_unlocked(b_ptr, l_ptr);
|
||||
@ -390,7 +391,8 @@ void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr)
|
||||
* and if there is, try to resolve it before returning.
|
||||
* 'tipc_net_lock' is read_locked when this function is called
|
||||
*/
|
||||
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr)
|
||||
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr,
|
||||
struct tipc_link *l_ptr)
|
||||
{
|
||||
int res = 1;
|
||||
|
||||
@ -409,7 +411,7 @@ int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr
|
||||
* tipc_bearer_congested - determines if bearer is currently congested
|
||||
*/
|
||||
|
||||
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr)
|
||||
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr)
|
||||
{
|
||||
if (unlikely(b_ptr->blocked))
|
||||
return 1;
|
||||
@ -425,8 +427,8 @@ int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr)
|
||||
int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
|
||||
{
|
||||
struct tipc_bearer *b_ptr;
|
||||
struct media *m_ptr;
|
||||
struct bearer_name b_name;
|
||||
struct tipc_media *m_ptr;
|
||||
struct tipc_bearer_names b_names;
|
||||
char addr_string[16];
|
||||
u32 bearer_id;
|
||||
u32 with_this_prio;
|
||||
@ -438,7 +440,7 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
|
||||
name);
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
if (!bearer_name_validate(name, &b_name)) {
|
||||
if (!bearer_name_validate(name, &b_names)) {
|
||||
warn("Bearer <%s> rejected, illegal name\n", name);
|
||||
return -EINVAL;
|
||||
}
|
||||
@ -463,10 +465,10 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
|
||||
|
||||
write_lock_bh(&tipc_net_lock);
|
||||
|
||||
m_ptr = tipc_media_find(b_name.media_name);
|
||||
m_ptr = tipc_media_find(b_names.media_name);
|
||||
if (!m_ptr) {
|
||||
warn("Bearer <%s> rejected, media <%s> not registered\n", name,
|
||||
b_name.media_name);
|
||||
b_names.media_name);
|
||||
goto exit;
|
||||
}
|
||||
|
||||
@ -544,8 +546,8 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
|
||||
int tipc_block_bearer(const char *name)
|
||||
{
|
||||
struct tipc_bearer *b_ptr = NULL;
|
||||
struct link *l_ptr;
|
||||
struct link *temp_l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_link *temp_l_ptr;
|
||||
|
||||
read_lock_bh(&tipc_net_lock);
|
||||
b_ptr = tipc_bearer_find(name);
|
||||
@ -579,8 +581,8 @@ int tipc_block_bearer(const char *name)
|
||||
|
||||
static void bearer_disable(struct tipc_bearer *b_ptr)
|
||||
{
|
||||
struct link *l_ptr;
|
||||
struct link *temp_l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_link *temp_l_ptr;
|
||||
|
||||
info("Disabling bearer <%s>\n", b_ptr->name);
|
||||
spin_lock_bh(&b_ptr->lock);
|
||||
|
@ -74,7 +74,7 @@ struct tipc_media_addr {
|
||||
struct tipc_bearer;
|
||||
|
||||
/**
|
||||
* struct media - TIPC media information available to internal users
|
||||
* struct tipc_media - TIPC media information available to internal users
|
||||
* @send_msg: routine which handles buffer transmission
|
||||
* @enable_bearer: routine which enables a bearer
|
||||
* @disable_bearer: routine which disables a bearer
|
||||
@ -90,7 +90,7 @@ struct tipc_bearer;
|
||||
* @name: media name
|
||||
*/
|
||||
|
||||
struct media {
|
||||
struct tipc_media {
|
||||
int (*send_msg)(struct sk_buff *buf,
|
||||
struct tipc_bearer *b_ptr,
|
||||
struct tipc_media_addr *dest);
|
||||
@ -139,12 +139,12 @@ struct tipc_bearer {
|
||||
struct tipc_media_addr addr; /* initalized by media */
|
||||
char name[TIPC_MAX_BEARER_NAME];
|
||||
spinlock_t lock;
|
||||
struct media *media;
|
||||
struct tipc_media *media;
|
||||
u32 priority;
|
||||
u32 window;
|
||||
u32 tolerance;
|
||||
u32 identity;
|
||||
struct link_req *link_req;
|
||||
struct tipc_link_req *link_req;
|
||||
struct list_head links;
|
||||
struct list_head cong_links;
|
||||
int active;
|
||||
@ -152,19 +152,19 @@ struct tipc_bearer {
|
||||
struct tipc_node_map nodes;
|
||||
};
|
||||
|
||||
struct bearer_name {
|
||||
struct tipc_bearer_names {
|
||||
char media_name[TIPC_MAX_MEDIA_NAME];
|
||||
char if_name[TIPC_MAX_IF_NAME];
|
||||
};
|
||||
|
||||
struct link;
|
||||
struct tipc_link;
|
||||
|
||||
extern struct tipc_bearer tipc_bearers[];
|
||||
|
||||
/*
|
||||
* TIPC routines available to supported media types
|
||||
*/
|
||||
int tipc_register_media(struct media *m_ptr);
|
||||
int tipc_register_media(struct tipc_media *m_ptr);
|
||||
|
||||
void tipc_recv_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr);
|
||||
|
||||
@ -188,12 +188,13 @@ struct sk_buff *tipc_media_get_names(void);
|
||||
struct sk_buff *tipc_bearer_get_names(void);
|
||||
void tipc_bearer_add_dest(struct tipc_bearer *b_ptr, u32 dest);
|
||||
void tipc_bearer_remove_dest(struct tipc_bearer *b_ptr, u32 dest);
|
||||
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr);
|
||||
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr);
|
||||
struct tipc_bearer *tipc_bearer_find(const char *name);
|
||||
struct tipc_bearer *tipc_bearer_find_interface(const char *if_name);
|
||||
struct media *tipc_media_find(const char *name);
|
||||
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr);
|
||||
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr);
|
||||
struct tipc_media *tipc_media_find(const char *name);
|
||||
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr,
|
||||
struct tipc_link *l_ptr);
|
||||
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr);
|
||||
void tipc_bearer_stop(void);
|
||||
void tipc_bearer_lock_push(struct tipc_bearer *b_ptr);
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
/**
|
||||
* struct link_req - information about an ongoing link setup request
|
||||
* struct tipc_link_req - information about an ongoing link setup request
|
||||
* @bearer: bearer issuing requests
|
||||
* @dest: destination address for request messages
|
||||
* @domain: network domain to which links can be established
|
||||
@ -54,7 +54,7 @@
|
||||
* @timer: timer governing period between requests
|
||||
* @timer_intv: current interval between requests (in ms)
|
||||
*/
|
||||
struct link_req {
|
||||
struct tipc_link_req {
|
||||
struct tipc_bearer *bearer;
|
||||
struct tipc_media_addr dest;
|
||||
u32 domain;
|
||||
@ -120,7 +120,7 @@ static void disc_dupl_alert(struct tipc_bearer *b_ptr, u32 node_addr,
|
||||
void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr)
|
||||
{
|
||||
struct tipc_node *n_ptr;
|
||||
struct link *link;
|
||||
struct tipc_link *link;
|
||||
struct tipc_media_addr media_addr, *addr;
|
||||
struct sk_buff *rbuf;
|
||||
struct tipc_msg *msg = buf_msg(buf);
|
||||
@ -218,7 +218,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr)
|
||||
* and is either not currently searching or is searching at a slow rate
|
||||
*/
|
||||
|
||||
static void disc_update(struct link_req *req)
|
||||
static void disc_update(struct tipc_link_req *req)
|
||||
{
|
||||
if (!req->num_nodes) {
|
||||
if ((req->timer_intv == TIPC_LINK_REQ_INACTIVE) ||
|
||||
@ -234,7 +234,7 @@ static void disc_update(struct link_req *req)
|
||||
* @req: ptr to link request structure
|
||||
*/
|
||||
|
||||
void tipc_disc_add_dest(struct link_req *req)
|
||||
void tipc_disc_add_dest(struct tipc_link_req *req)
|
||||
{
|
||||
req->num_nodes++;
|
||||
}
|
||||
@ -244,7 +244,7 @@ void tipc_disc_add_dest(struct link_req *req)
|
||||
* @req: ptr to link request structure
|
||||
*/
|
||||
|
||||
void tipc_disc_remove_dest(struct link_req *req)
|
||||
void tipc_disc_remove_dest(struct tipc_link_req *req)
|
||||
{
|
||||
req->num_nodes--;
|
||||
disc_update(req);
|
||||
@ -255,7 +255,7 @@ void tipc_disc_remove_dest(struct link_req *req)
|
||||
* @req: ptr to link request structure
|
||||
*/
|
||||
|
||||
static void disc_send_msg(struct link_req *req)
|
||||
static void disc_send_msg(struct tipc_link_req *req)
|
||||
{
|
||||
if (!req->bearer->blocked)
|
||||
tipc_bearer_send(req->bearer, req->buf, &req->dest);
|
||||
@ -268,7 +268,7 @@ static void disc_send_msg(struct link_req *req)
|
||||
* Called whenever a link setup request timer associated with a bearer expires.
|
||||
*/
|
||||
|
||||
static void disc_timeout(struct link_req *req)
|
||||
static void disc_timeout(struct tipc_link_req *req)
|
||||
{
|
||||
int max_delay;
|
||||
|
||||
@ -316,7 +316,7 @@ static void disc_timeout(struct link_req *req)
|
||||
int tipc_disc_create(struct tipc_bearer *b_ptr,
|
||||
struct tipc_media_addr *dest, u32 dest_domain)
|
||||
{
|
||||
struct link_req *req;
|
||||
struct tipc_link_req *req;
|
||||
|
||||
req = kmalloc(sizeof(*req), GFP_ATOMIC);
|
||||
if (!req)
|
||||
@ -345,7 +345,7 @@ int tipc_disc_create(struct tipc_bearer *b_ptr,
|
||||
* @req: ptr to link request structure
|
||||
*/
|
||||
|
||||
void tipc_disc_delete(struct link_req *req)
|
||||
void tipc_disc_delete(struct tipc_link_req *req)
|
||||
{
|
||||
k_cancel_timer(&req->timer);
|
||||
k_term_timer(&req->timer);
|
||||
|
@ -37,13 +37,13 @@
|
||||
#ifndef _TIPC_DISCOVER_H
|
||||
#define _TIPC_DISCOVER_H
|
||||
|
||||
struct link_req;
|
||||
struct tipc_link_req;
|
||||
|
||||
int tipc_disc_create(struct tipc_bearer *b_ptr, struct tipc_media_addr *dest,
|
||||
u32 dest_domain);
|
||||
void tipc_disc_delete(struct link_req *req);
|
||||
void tipc_disc_add_dest(struct link_req *req);
|
||||
void tipc_disc_remove_dest(struct link_req *req);
|
||||
void tipc_disc_delete(struct tipc_link_req *req);
|
||||
void tipc_disc_add_dest(struct tipc_link_req *req);
|
||||
void tipc_disc_remove_dest(struct tipc_link_req *req);
|
||||
void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr);
|
||||
|
||||
#endif
|
||||
|
@ -56,7 +56,7 @@ struct eth_bearer {
|
||||
struct work_struct cleanup;
|
||||
};
|
||||
|
||||
static struct media eth_media_info;
|
||||
static struct tipc_media eth_media_info;
|
||||
static struct eth_bearer eth_bearers[MAX_ETH_BEARERS];
|
||||
static int eth_started;
|
||||
static struct notifier_block notifier;
|
||||
@ -340,7 +340,7 @@ static int eth_msg2addr(struct tipc_media_addr *a, char *msg_area)
|
||||
* Ethernet media registration info
|
||||
*/
|
||||
|
||||
static struct media eth_media_info = {
|
||||
static struct tipc_media eth_media_info = {
|
||||
.send_msg = send_msg,
|
||||
.enable_bearer = enable_bearer,
|
||||
.disable_bearer = disable_bearer,
|
||||
|
155
net/tipc/link.c
155
net/tipc/link.c
@ -71,35 +71,36 @@
|
||||
#define START_CHANGEOVER 100000u
|
||||
|
||||
/**
|
||||
* struct link_name - deconstructed link name
|
||||
* struct tipc_link_name - deconstructed link name
|
||||
* @addr_local: network address of node at this end
|
||||
* @if_local: name of interface at this end
|
||||
* @addr_peer: network address of node at far end
|
||||
* @if_peer: name of interface at far end
|
||||
*/
|
||||
|
||||
struct link_name {
|
||||
struct tipc_link_name {
|
||||
u32 addr_local;
|
||||
char if_local[TIPC_MAX_IF_NAME];
|
||||
u32 addr_peer;
|
||||
char if_peer[TIPC_MAX_IF_NAME];
|
||||
};
|
||||
|
||||
static void link_handle_out_of_seq_msg(struct link *l_ptr,
|
||||
static void link_handle_out_of_seq_msg(struct tipc_link *l_ptr,
|
||||
struct sk_buff *buf);
|
||||
static void link_recv_proto_msg(struct link *l_ptr, struct sk_buff *buf);
|
||||
static int link_recv_changeover_msg(struct link **l_ptr, struct sk_buff **buf);
|
||||
static void link_set_supervision_props(struct link *l_ptr, u32 tolerance);
|
||||
static void link_recv_proto_msg(struct tipc_link *l_ptr, struct sk_buff *buf);
|
||||
static int link_recv_changeover_msg(struct tipc_link **l_ptr,
|
||||
struct sk_buff **buf);
|
||||
static void link_set_supervision_props(struct tipc_link *l_ptr, u32 tolerance);
|
||||
static int link_send_sections_long(struct tipc_port *sender,
|
||||
struct iovec const *msg_sect,
|
||||
u32 num_sect, unsigned int total_len,
|
||||
u32 destnode);
|
||||
static void link_check_defragm_bufs(struct link *l_ptr);
|
||||
static void link_state_event(struct link *l_ptr, u32 event);
|
||||
static void link_reset_statistics(struct link *l_ptr);
|
||||
static void link_print(struct link *l_ptr, const char *str);
|
||||
static void link_start(struct link *l_ptr);
|
||||
static int link_send_long_buf(struct link *l_ptr, struct sk_buff *buf);
|
||||
static void link_check_defragm_bufs(struct tipc_link *l_ptr);
|
||||
static void link_state_event(struct tipc_link *l_ptr, u32 event);
|
||||
static void link_reset_statistics(struct tipc_link *l_ptr);
|
||||
static void link_print(struct tipc_link *l_ptr, const char *str);
|
||||
static void link_start(struct tipc_link *l_ptr);
|
||||
static int link_send_long_buf(struct tipc_link *l_ptr, struct sk_buff *buf);
|
||||
|
||||
/*
|
||||
* Simple link routines
|
||||
@ -110,7 +111,7 @@ static unsigned int align(unsigned int i)
|
||||
return (i + 3) & ~3u;
|
||||
}
|
||||
|
||||
static void link_init_max_pkt(struct link *l_ptr)
|
||||
static void link_init_max_pkt(struct tipc_link *l_ptr)
|
||||
{
|
||||
u32 max_pkt;
|
||||
|
||||
@ -127,14 +128,14 @@ static void link_init_max_pkt(struct link *l_ptr)
|
||||
l_ptr->max_pkt_probes = 0;
|
||||
}
|
||||
|
||||
static u32 link_next_sent(struct link *l_ptr)
|
||||
static u32 link_next_sent(struct tipc_link *l_ptr)
|
||||
{
|
||||
if (l_ptr->next_out)
|
||||
return buf_seqno(l_ptr->next_out);
|
||||
return mod(l_ptr->next_out_no);
|
||||
}
|
||||
|
||||
static u32 link_last_sent(struct link *l_ptr)
|
||||
static u32 link_last_sent(struct tipc_link *l_ptr)
|
||||
{
|
||||
return mod(link_next_sent(l_ptr) - 1);
|
||||
}
|
||||
@ -143,28 +144,29 @@ static u32 link_last_sent(struct link *l_ptr)
|
||||
* Simple non-static link routines (i.e. referenced outside this file)
|
||||
*/
|
||||
|
||||
int tipc_link_is_up(struct link *l_ptr)
|
||||
int tipc_link_is_up(struct tipc_link *l_ptr)
|
||||
{
|
||||
if (!l_ptr)
|
||||
return 0;
|
||||
return link_working_working(l_ptr) || link_working_unknown(l_ptr);
|
||||
}
|
||||
|
||||
int tipc_link_is_active(struct link *l_ptr)
|
||||
int tipc_link_is_active(struct tipc_link *l_ptr)
|
||||
{
|
||||
return (l_ptr->owner->active_links[0] == l_ptr) ||
|
||||
(l_ptr->owner->active_links[1] == l_ptr);
|
||||
}
|
||||
|
||||
/**
|
||||
* link_name_validate - validate & (optionally) deconstruct link name
|
||||
* link_name_validate - validate & (optionally) deconstruct tipc_link name
|
||||
* @name - ptr to link name string
|
||||
* @name_parts - ptr to area for link name components (or NULL if not needed)
|
||||
*
|
||||
* Returns 1 if link name is valid, otherwise 0.
|
||||
*/
|
||||
|
||||
static int link_name_validate(const char *name, struct link_name *name_parts)
|
||||
static int link_name_validate(const char *name,
|
||||
struct tipc_link_name *name_parts)
|
||||
{
|
||||
char name_copy[TIPC_MAX_LINK_NAME];
|
||||
char *addr_local;
|
||||
@ -238,7 +240,7 @@ static int link_name_validate(const char *name, struct link_name *name_parts)
|
||||
* tipc_node_delete() is called.)
|
||||
*/
|
||||
|
||||
static void link_timeout(struct link *l_ptr)
|
||||
static void link_timeout(struct tipc_link *l_ptr)
|
||||
{
|
||||
tipc_node_lock(l_ptr->owner);
|
||||
|
||||
@ -287,7 +289,7 @@ static void link_timeout(struct link *l_ptr)
|
||||
tipc_node_unlock(l_ptr->owner);
|
||||
}
|
||||
|
||||
static void link_set_timer(struct link *l_ptr, u32 time)
|
||||
static void link_set_timer(struct tipc_link *l_ptr, u32 time)
|
||||
{
|
||||
k_start_timer(&l_ptr->timer, time);
|
||||
}
|
||||
@ -301,11 +303,11 @@ static void link_set_timer(struct link *l_ptr, u32 time)
|
||||
* Returns pointer to link.
|
||||
*/
|
||||
|
||||
struct link *tipc_link_create(struct tipc_node *n_ptr,
|
||||
struct tipc_link *tipc_link_create(struct tipc_node *n_ptr,
|
||||
struct tipc_bearer *b_ptr,
|
||||
const struct tipc_media_addr *media_addr)
|
||||
{
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_msg *msg;
|
||||
char *if_name;
|
||||
char addr_string[16];
|
||||
@ -382,7 +384,7 @@ struct link *tipc_link_create(struct tipc_node *n_ptr,
|
||||
* to avoid a potential deadlock situation.
|
||||
*/
|
||||
|
||||
void tipc_link_delete(struct link *l_ptr)
|
||||
void tipc_link_delete(struct tipc_link *l_ptr)
|
||||
{
|
||||
if (!l_ptr) {
|
||||
err("Attempt to delete non-existent link\n");
|
||||
@ -401,7 +403,7 @@ void tipc_link_delete(struct link *l_ptr)
|
||||
kfree(l_ptr);
|
||||
}
|
||||
|
||||
static void link_start(struct link *l_ptr)
|
||||
static void link_start(struct tipc_link *l_ptr)
|
||||
{
|
||||
tipc_node_lock(l_ptr->owner);
|
||||
link_state_event(l_ptr, STARTING_EVT);
|
||||
@ -418,7 +420,7 @@ static void link_start(struct link *l_ptr)
|
||||
* has abated.
|
||||
*/
|
||||
|
||||
static int link_schedule_port(struct link *l_ptr, u32 origport, u32 sz)
|
||||
static int link_schedule_port(struct tipc_link *l_ptr, u32 origport, u32 sz)
|
||||
{
|
||||
struct tipc_port *p_ptr;
|
||||
|
||||
@ -440,7 +442,7 @@ static int link_schedule_port(struct link *l_ptr, u32 origport, u32 sz)
|
||||
return -ELINKCONG;
|
||||
}
|
||||
|
||||
void tipc_link_wakeup_ports(struct link *l_ptr, int all)
|
||||
void tipc_link_wakeup_ports(struct tipc_link *l_ptr, int all)
|
||||
{
|
||||
struct tipc_port *p_ptr;
|
||||
struct tipc_port *temp_p_ptr;
|
||||
@ -475,7 +477,7 @@ void tipc_link_wakeup_ports(struct link *l_ptr, int all)
|
||||
* @l_ptr: pointer to link
|
||||
*/
|
||||
|
||||
static void link_release_outqueue(struct link *l_ptr)
|
||||
static void link_release_outqueue(struct tipc_link *l_ptr)
|
||||
{
|
||||
struct sk_buff *buf = l_ptr->first_out;
|
||||
struct sk_buff *next;
|
||||
@ -494,7 +496,7 @@ static void link_release_outqueue(struct link *l_ptr)
|
||||
* @l_ptr: pointer to link
|
||||
*/
|
||||
|
||||
void tipc_link_reset_fragments(struct link *l_ptr)
|
||||
void tipc_link_reset_fragments(struct tipc_link *l_ptr)
|
||||
{
|
||||
struct sk_buff *buf = l_ptr->defragm_buf;
|
||||
struct sk_buff *next;
|
||||
@ -512,7 +514,7 @@ void tipc_link_reset_fragments(struct link *l_ptr)
|
||||
* @l_ptr: pointer to link
|
||||
*/
|
||||
|
||||
void tipc_link_stop(struct link *l_ptr)
|
||||
void tipc_link_stop(struct tipc_link *l_ptr)
|
||||
{
|
||||
struct sk_buff *buf;
|
||||
struct sk_buff *next;
|
||||
@ -537,7 +539,7 @@ void tipc_link_stop(struct link *l_ptr)
|
||||
l_ptr->proto_msg_queue = NULL;
|
||||
}
|
||||
|
||||
void tipc_link_reset(struct link *l_ptr)
|
||||
void tipc_link_reset(struct tipc_link *l_ptr)
|
||||
{
|
||||
struct sk_buff *buf;
|
||||
u32 prev_state = l_ptr->state;
|
||||
@ -597,7 +599,7 @@ void tipc_link_reset(struct link *l_ptr)
|
||||
}
|
||||
|
||||
|
||||
static void link_activate(struct link *l_ptr)
|
||||
static void link_activate(struct tipc_link *l_ptr)
|
||||
{
|
||||
l_ptr->next_in_no = l_ptr->stats.recv_info = 1;
|
||||
tipc_node_link_up(l_ptr->owner, l_ptr);
|
||||
@ -610,9 +612,9 @@ static void link_activate(struct link *l_ptr)
|
||||
* @event: state machine event to process
|
||||
*/
|
||||
|
||||
static void link_state_event(struct link *l_ptr, unsigned event)
|
||||
static void link_state_event(struct tipc_link *l_ptr, unsigned event)
|
||||
{
|
||||
struct link *other;
|
||||
struct tipc_link *other;
|
||||
u32 cont_intv = l_ptr->continuity_interval;
|
||||
|
||||
if (!l_ptr->started && (event != STARTING_EVT))
|
||||
@ -784,7 +786,7 @@ static void link_state_event(struct link *l_ptr, unsigned event)
|
||||
* the tail of an existing one.
|
||||
*/
|
||||
|
||||
static int link_bundle_buf(struct link *l_ptr,
|
||||
static int link_bundle_buf(struct tipc_link *l_ptr,
|
||||
struct sk_buff *bundler,
|
||||
struct sk_buff *buf)
|
||||
{
|
||||
@ -813,7 +815,7 @@ static int link_bundle_buf(struct link *l_ptr,
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void link_add_to_outqueue(struct link *l_ptr,
|
||||
static void link_add_to_outqueue(struct tipc_link *l_ptr,
|
||||
struct sk_buff *buf,
|
||||
struct tipc_msg *msg)
|
||||
{
|
||||
@ -834,7 +836,7 @@ static void link_add_to_outqueue(struct link *l_ptr,
|
||||
l_ptr->stats.max_queue_sz = l_ptr->out_queue_size;
|
||||
}
|
||||
|
||||
static void link_add_chain_to_outqueue(struct link *l_ptr,
|
||||
static void link_add_chain_to_outqueue(struct tipc_link *l_ptr,
|
||||
struct sk_buff *buf_chain,
|
||||
u32 long_msgno)
|
||||
{
|
||||
@ -859,7 +861,7 @@ static void link_add_chain_to_outqueue(struct link *l_ptr,
|
||||
* has failed, and from link_send()
|
||||
*/
|
||||
|
||||
int tipc_link_send_buf(struct link *l_ptr, struct sk_buff *buf)
|
||||
int tipc_link_send_buf(struct tipc_link *l_ptr, struct sk_buff *buf)
|
||||
{
|
||||
struct tipc_msg *msg = buf_msg(buf);
|
||||
u32 size = msg_size(msg);
|
||||
@ -954,7 +956,7 @@ int tipc_link_send_buf(struct link *l_ptr, struct sk_buff *buf)
|
||||
|
||||
int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
|
||||
{
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_node *n_ptr;
|
||||
int res = -ELINKCONG;
|
||||
|
||||
@ -988,7 +990,7 @@ int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
|
||||
void tipc_link_send_names(struct list_head *message_list, u32 dest)
|
||||
{
|
||||
struct tipc_node *n_ptr;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct sk_buff *buf;
|
||||
struct sk_buff *temp_buf;
|
||||
|
||||
@ -1027,7 +1029,7 @@ void tipc_link_send_names(struct list_head *message_list, u32 dest)
|
||||
* Link is locked. Returns user data length.
|
||||
*/
|
||||
|
||||
static int link_send_buf_fast(struct link *l_ptr, struct sk_buff *buf,
|
||||
static int link_send_buf_fast(struct tipc_link *l_ptr, struct sk_buff *buf,
|
||||
u32 *used_max_pkt)
|
||||
{
|
||||
struct tipc_msg *msg = buf_msg(buf);
|
||||
@ -1061,7 +1063,7 @@ static int link_send_buf_fast(struct link *l_ptr, struct sk_buff *buf,
|
||||
*/
|
||||
int tipc_send_buf_fast(struct sk_buff *buf, u32 destnode)
|
||||
{
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_node *n_ptr;
|
||||
int res;
|
||||
u32 selector = msg_origport(buf_msg(buf)) & 1;
|
||||
@ -1100,7 +1102,7 @@ int tipc_link_send_sections_fast(struct tipc_port *sender,
|
||||
u32 destaddr)
|
||||
{
|
||||
struct tipc_msg *hdr = &sender->phdr;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct sk_buff *buf;
|
||||
struct tipc_node *node;
|
||||
int res;
|
||||
@ -1195,7 +1197,7 @@ static int link_send_sections_long(struct tipc_port *sender,
|
||||
unsigned int total_len,
|
||||
u32 destaddr)
|
||||
{
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_node *node;
|
||||
struct tipc_msg *hdr = &sender->phdr;
|
||||
u32 dsz = total_len;
|
||||
@ -1342,7 +1344,7 @@ static int link_send_sections_long(struct tipc_port *sender,
|
||||
/*
|
||||
* tipc_link_push_packet: Push one unsent packet to the media
|
||||
*/
|
||||
u32 tipc_link_push_packet(struct link *l_ptr)
|
||||
u32 tipc_link_push_packet(struct tipc_link *l_ptr)
|
||||
{
|
||||
struct sk_buff *buf = l_ptr->first_out;
|
||||
u32 r_q_size = l_ptr->retransm_queue_size;
|
||||
@ -1426,7 +1428,7 @@ u32 tipc_link_push_packet(struct link *l_ptr)
|
||||
* push_queue(): push out the unsent messages of a link where
|
||||
* congestion has abated. Node is locked
|
||||
*/
|
||||
void tipc_link_push_queue(struct link *l_ptr)
|
||||
void tipc_link_push_queue(struct tipc_link *l_ptr)
|
||||
{
|
||||
u32 res;
|
||||
|
||||
@ -1470,7 +1472,8 @@ static void link_reset_all(unsigned long addr)
|
||||
read_unlock_bh(&tipc_net_lock);
|
||||
}
|
||||
|
||||
static void link_retransmit_failure(struct link *l_ptr, struct sk_buff *buf)
|
||||
static void link_retransmit_failure(struct tipc_link *l_ptr,
|
||||
struct sk_buff *buf)
|
||||
{
|
||||
struct tipc_msg *msg = buf_msg(buf);
|
||||
|
||||
@ -1514,7 +1517,7 @@ static void link_retransmit_failure(struct link *l_ptr, struct sk_buff *buf)
|
||||
}
|
||||
}
|
||||
|
||||
void tipc_link_retransmit(struct link *l_ptr, struct sk_buff *buf,
|
||||
void tipc_link_retransmit(struct tipc_link *l_ptr, struct sk_buff *buf,
|
||||
u32 retransmits)
|
||||
{
|
||||
struct tipc_msg *msg;
|
||||
@ -1571,7 +1574,7 @@ void tipc_link_retransmit(struct link *l_ptr, struct sk_buff *buf,
|
||||
* link_insert_deferred_queue - insert deferred messages back into receive chain
|
||||
*/
|
||||
|
||||
static struct sk_buff *link_insert_deferred_queue(struct link *l_ptr,
|
||||
static struct sk_buff *link_insert_deferred_queue(struct tipc_link *l_ptr,
|
||||
struct sk_buff *buf)
|
||||
{
|
||||
u32 seq_no;
|
||||
@ -1653,7 +1656,7 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *b_ptr)
|
||||
read_lock_bh(&tipc_net_lock);
|
||||
while (head) {
|
||||
struct tipc_node *n_ptr;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct sk_buff *crs;
|
||||
struct sk_buff *buf = head;
|
||||
struct tipc_msg *msg;
|
||||
@ -1906,7 +1909,7 @@ u32 tipc_link_defer_pkt(struct sk_buff **head,
|
||||
* link_handle_out_of_seq_msg - handle arrival of out-of-sequence packet
|
||||
*/
|
||||
|
||||
static void link_handle_out_of_seq_msg(struct link *l_ptr,
|
||||
static void link_handle_out_of_seq_msg(struct tipc_link *l_ptr,
|
||||
struct sk_buff *buf)
|
||||
{
|
||||
u32 seq_no = buf_seqno(buf);
|
||||
@ -1944,8 +1947,9 @@ static void link_handle_out_of_seq_msg(struct link *l_ptr,
|
||||
/*
|
||||
* Send protocol message to the other endpoint.
|
||||
*/
|
||||
void tipc_link_send_proto_msg(struct link *l_ptr, u32 msg_typ, int probe_msg,
|
||||
u32 gap, u32 tolerance, u32 priority, u32 ack_mtu)
|
||||
void tipc_link_send_proto_msg(struct tipc_link *l_ptr, u32 msg_typ,
|
||||
int probe_msg, u32 gap, u32 tolerance,
|
||||
u32 priority, u32 ack_mtu)
|
||||
{
|
||||
struct sk_buff *buf = NULL;
|
||||
struct tipc_msg *msg = l_ptr->pmsg;
|
||||
@ -2062,7 +2066,7 @@ void tipc_link_send_proto_msg(struct link *l_ptr, u32 msg_typ, int probe_msg,
|
||||
* change at any time. The node with lowest address rules
|
||||
*/
|
||||
|
||||
static void link_recv_proto_msg(struct link *l_ptr, struct sk_buff *buf)
|
||||
static void link_recv_proto_msg(struct tipc_link *l_ptr, struct sk_buff *buf)
|
||||
{
|
||||
u32 rec_gap = 0;
|
||||
u32 max_pkt_info;
|
||||
@ -2195,12 +2199,12 @@ static void link_recv_proto_msg(struct link *l_ptr, struct sk_buff *buf)
|
||||
* tipc_link_tunnel(): Send one message via a link belonging to
|
||||
* another bearer. Owner node is locked.
|
||||
*/
|
||||
static void tipc_link_tunnel(struct link *l_ptr,
|
||||
static void tipc_link_tunnel(struct tipc_link *l_ptr,
|
||||
struct tipc_msg *tunnel_hdr,
|
||||
struct tipc_msg *msg,
|
||||
u32 selector)
|
||||
{
|
||||
struct link *tunnel;
|
||||
struct tipc_link *tunnel;
|
||||
struct sk_buff *buf;
|
||||
u32 length = msg_size(msg);
|
||||
|
||||
@ -2229,11 +2233,11 @@ static void tipc_link_tunnel(struct link *l_ptr,
|
||||
* Owner node is locked.
|
||||
*/
|
||||
|
||||
void tipc_link_changeover(struct link *l_ptr)
|
||||
void tipc_link_changeover(struct tipc_link *l_ptr)
|
||||
{
|
||||
u32 msgcount = l_ptr->out_queue_size;
|
||||
struct sk_buff *crs = l_ptr->first_out;
|
||||
struct link *tunnel = l_ptr->owner->active_links[0];
|
||||
struct tipc_link *tunnel = l_ptr->owner->active_links[0];
|
||||
struct tipc_msg tunnel_hdr;
|
||||
int split_bundles;
|
||||
|
||||
@ -2292,7 +2296,7 @@ void tipc_link_changeover(struct link *l_ptr)
|
||||
}
|
||||
}
|
||||
|
||||
void tipc_link_send_duplicate(struct link *l_ptr, struct link *tunnel)
|
||||
void tipc_link_send_duplicate(struct tipc_link *l_ptr, struct tipc_link *tunnel)
|
||||
{
|
||||
struct sk_buff *iter;
|
||||
struct tipc_msg tunnel_hdr;
|
||||
@ -2356,11 +2360,11 @@ static struct sk_buff *buf_extract(struct sk_buff *skb, u32 from_pos)
|
||||
* via other link. Node is locked. Return extracted buffer.
|
||||
*/
|
||||
|
||||
static int link_recv_changeover_msg(struct link **l_ptr,
|
||||
static int link_recv_changeover_msg(struct tipc_link **l_ptr,
|
||||
struct sk_buff **buf)
|
||||
{
|
||||
struct sk_buff *tunnel_buf = *buf;
|
||||
struct link *dest_link;
|
||||
struct tipc_link *dest_link;
|
||||
struct tipc_msg *msg;
|
||||
struct tipc_msg *tunnel_msg = buf_msg(tunnel_buf);
|
||||
u32 msg_typ = msg_type(tunnel_msg);
|
||||
@ -2460,7 +2464,7 @@ void tipc_link_recv_bundle(struct sk_buff *buf)
|
||||
* The buffer is complete, inclusive total message length.
|
||||
* Returns user data length.
|
||||
*/
|
||||
static int link_send_long_buf(struct link *l_ptr, struct sk_buff *buf)
|
||||
static int link_send_long_buf(struct tipc_link *l_ptr, struct sk_buff *buf)
|
||||
{
|
||||
struct sk_buff *buf_chain = NULL;
|
||||
struct sk_buff *buf_chain_tail = (struct sk_buff *)&buf_chain;
|
||||
@ -2656,7 +2660,7 @@ int tipc_link_recv_fragment(struct sk_buff **pending, struct sk_buff **fb,
|
||||
* @l_ptr: pointer to link
|
||||
*/
|
||||
|
||||
static void link_check_defragm_bufs(struct link *l_ptr)
|
||||
static void link_check_defragm_bufs(struct tipc_link *l_ptr)
|
||||
{
|
||||
struct sk_buff *prev = NULL;
|
||||
struct sk_buff *next = NULL;
|
||||
@ -2686,7 +2690,7 @@ static void link_check_defragm_bufs(struct link *l_ptr)
|
||||
|
||||
|
||||
|
||||
static void link_set_supervision_props(struct link *l_ptr, u32 tolerance)
|
||||
static void link_set_supervision_props(struct tipc_link *l_ptr, u32 tolerance)
|
||||
{
|
||||
if ((tolerance < TIPC_MIN_LINK_TOL) || (tolerance > TIPC_MAX_LINK_TOL))
|
||||
return;
|
||||
@ -2698,7 +2702,7 @@ static void link_set_supervision_props(struct link *l_ptr, u32 tolerance)
|
||||
}
|
||||
|
||||
|
||||
void tipc_link_set_queue_limits(struct link *l_ptr, u32 window)
|
||||
void tipc_link_set_queue_limits(struct tipc_link *l_ptr, u32 window)
|
||||
{
|
||||
/* Data messages from this node, inclusive FIRST_FRAGM */
|
||||
l_ptr->queue_limit[TIPC_LOW_IMPORTANCE] = window;
|
||||
@ -2728,11 +2732,12 @@ void tipc_link_set_queue_limits(struct link *l_ptr, u32 window)
|
||||
* Returns pointer to link (or 0 if invalid link name).
|
||||
*/
|
||||
|
||||
static struct link *link_find_link(const char *name, struct tipc_node **node)
|
||||
static struct tipc_link *link_find_link(const char *name,
|
||||
struct tipc_node **node)
|
||||
{
|
||||
struct link_name link_name_parts;
|
||||
struct tipc_link_name link_name_parts;
|
||||
struct tipc_bearer *b_ptr;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
|
||||
if (!link_name_validate(name, &link_name_parts))
|
||||
return NULL;
|
||||
@ -2791,9 +2796,9 @@ static int link_value_is_valid(u16 cmd, u32 new_value)
|
||||
static int link_cmd_set_value(const char *name, u32 new_value, u16 cmd)
|
||||
{
|
||||
struct tipc_node *node;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_bearer *b_ptr;
|
||||
struct media *m_ptr;
|
||||
struct tipc_media *m_ptr;
|
||||
|
||||
l_ptr = link_find_link(name, &node);
|
||||
if (l_ptr) {
|
||||
@ -2893,7 +2898,7 @@ struct sk_buff *tipc_link_cmd_config(const void *req_tlv_area, int req_tlv_space
|
||||
* @l_ptr: pointer to link
|
||||
*/
|
||||
|
||||
static void link_reset_statistics(struct link *l_ptr)
|
||||
static void link_reset_statistics(struct tipc_link *l_ptr)
|
||||
{
|
||||
memset(&l_ptr->stats, 0, sizeof(l_ptr->stats));
|
||||
l_ptr->stats.sent_info = l_ptr->next_out_no;
|
||||
@ -2903,7 +2908,7 @@ static void link_reset_statistics(struct link *l_ptr)
|
||||
struct sk_buff *tipc_link_cmd_reset_stats(const void *req_tlv_area, int req_tlv_space)
|
||||
{
|
||||
char *link_name;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_node *node;
|
||||
|
||||
if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_LINK_NAME))
|
||||
@ -2951,7 +2956,7 @@ static u32 percent(u32 count, u32 total)
|
||||
static int tipc_link_stats(const char *name, char *buf, const u32 buf_size)
|
||||
{
|
||||
struct print_buf pb;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct tipc_node *node;
|
||||
char *status;
|
||||
u32 profile_total = 0;
|
||||
@ -3073,7 +3078,7 @@ struct sk_buff *tipc_link_cmd_show_stats(const void *req_tlv_area, int req_tlv_s
|
||||
u32 tipc_link_get_max_pkt(u32 dest, u32 selector)
|
||||
{
|
||||
struct tipc_node *n_ptr;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
u32 res = MAX_PKT_DEFAULT;
|
||||
|
||||
if (dest == tipc_own_addr)
|
||||
@ -3092,7 +3097,7 @@ u32 tipc_link_get_max_pkt(u32 dest, u32 selector)
|
||||
return res;
|
||||
}
|
||||
|
||||
static void link_print(struct link *l_ptr, const char *str)
|
||||
static void link_print(struct tipc_link *l_ptr, const char *str)
|
||||
{
|
||||
char print_area[256];
|
||||
struct print_buf pb;
|
||||
|
@ -67,7 +67,7 @@
|
||||
#define MAX_PKT_DEFAULT 1500
|
||||
|
||||
/**
|
||||
* struct link - TIPC link data structure
|
||||
* struct tipc_link - TIPC link data structure
|
||||
* @addr: network address of link's peer node
|
||||
* @name: link name character string
|
||||
* @media_addr: media address to use when sending messages over link
|
||||
@ -115,7 +115,7 @@
|
||||
* @stats: collects statistics regarding link activity
|
||||
*/
|
||||
|
||||
struct link {
|
||||
struct tipc_link {
|
||||
u32 addr;
|
||||
char name[TIPC_MAX_LINK_NAME];
|
||||
struct tipc_media_addr media_addr;
|
||||
@ -213,24 +213,24 @@ struct link {
|
||||
|
||||
struct tipc_port;
|
||||
|
||||
struct link *tipc_link_create(struct tipc_node *n_ptr,
|
||||
struct tipc_link *tipc_link_create(struct tipc_node *n_ptr,
|
||||
struct tipc_bearer *b_ptr,
|
||||
const struct tipc_media_addr *media_addr);
|
||||
void tipc_link_delete(struct link *l_ptr);
|
||||
void tipc_link_changeover(struct link *l_ptr);
|
||||
void tipc_link_send_duplicate(struct link *l_ptr, struct link *dest);
|
||||
void tipc_link_reset_fragments(struct link *l_ptr);
|
||||
int tipc_link_is_up(struct link *l_ptr);
|
||||
int tipc_link_is_active(struct link *l_ptr);
|
||||
u32 tipc_link_push_packet(struct link *l_ptr);
|
||||
void tipc_link_stop(struct link *l_ptr);
|
||||
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_buff *tipc_link_cmd_config(const void *req_tlv_area, int req_tlv_space, u16 cmd);
|
||||
struct sk_buff *tipc_link_cmd_show_stats(const void *req_tlv_area, int req_tlv_space);
|
||||
struct sk_buff *tipc_link_cmd_reset_stats(const void *req_tlv_area, int req_tlv_space);
|
||||
void tipc_link_reset(struct link *l_ptr);
|
||||
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 link *l_ptr, struct sk_buff *buf);
|
||||
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,
|
||||
@ -241,14 +241,16 @@ 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 link *l_ptr, u32 msg_typ, int prob, u32 gap,
|
||||
u32 tolerance, u32 priority, u32 acked_mtu);
|
||||
void tipc_link_push_queue(struct link *l_ptr);
|
||||
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 link *l_ptr, int all);
|
||||
void tipc_link_set_queue_limits(struct link *l_ptr, u32 window);
|
||||
void tipc_link_retransmit(struct link *l_ptr, struct sk_buff *start, u32 retransmits);
|
||||
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);
|
||||
|
||||
/*
|
||||
* Link sequence number manipulation routines (uses modulo 2**16 arithmetic)
|
||||
@ -293,32 +295,32 @@ static inline u32 lesser(u32 left, u32 right)
|
||||
* Link status checking routines
|
||||
*/
|
||||
|
||||
static inline int link_working_working(struct link *l_ptr)
|
||||
static inline int link_working_working(struct tipc_link *l_ptr)
|
||||
{
|
||||
return l_ptr->state == WORKING_WORKING;
|
||||
}
|
||||
|
||||
static inline int link_working_unknown(struct link *l_ptr)
|
||||
static inline int link_working_unknown(struct tipc_link *l_ptr)
|
||||
{
|
||||
return l_ptr->state == WORKING_UNKNOWN;
|
||||
}
|
||||
|
||||
static inline int link_reset_unknown(struct link *l_ptr)
|
||||
static inline int link_reset_unknown(struct tipc_link *l_ptr)
|
||||
{
|
||||
return l_ptr->state == RESET_UNKNOWN;
|
||||
}
|
||||
|
||||
static inline int link_reset_reset(struct link *l_ptr)
|
||||
static inline int link_reset_reset(struct tipc_link *l_ptr)
|
||||
{
|
||||
return l_ptr->state == RESET_RESET;
|
||||
}
|
||||
|
||||
static inline int link_blocked(struct link *l_ptr)
|
||||
static inline int link_blocked(struct tipc_link *l_ptr)
|
||||
{
|
||||
return l_ptr->exp_msg_count || l_ptr->blocked;
|
||||
}
|
||||
|
||||
static inline int link_congested(struct link *l_ptr)
|
||||
static inline int link_congested(struct tipc_link *l_ptr)
|
||||
{
|
||||
return l_ptr->out_queue_size >= l_ptr->queue_limit[0];
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ void tipc_named_withdraw(struct publication *publ)
|
||||
void tipc_named_node_up(unsigned long nodearg)
|
||||
{
|
||||
struct tipc_node *n_ptr;
|
||||
struct link *l_ptr;
|
||||
struct tipc_link *l_ptr;
|
||||
struct publication *publ;
|
||||
struct distr_item *item = NULL;
|
||||
struct sk_buff *buf = NULL;
|
||||
|
@ -251,8 +251,8 @@ static struct publication *tipc_nameseq_insert_publ(struct name_seq *nseq,
|
||||
u32 type, u32 lower, u32 upper,
|
||||
u32 scope, u32 node, u32 port, u32 key)
|
||||
{
|
||||
struct subscription *s;
|
||||
struct subscription *st;
|
||||
struct tipc_subscription *s;
|
||||
struct tipc_subscription *st;
|
||||
struct publication *publ;
|
||||
struct sub_seq *sseq;
|
||||
struct name_info *info;
|
||||
@ -381,7 +381,7 @@ static struct publication *tipc_nameseq_remove_publ(struct name_seq *nseq, u32 i
|
||||
struct sub_seq *sseq = nameseq_find_subseq(nseq, inst);
|
||||
struct name_info *info;
|
||||
struct sub_seq *free;
|
||||
struct subscription *s, *st;
|
||||
struct tipc_subscription *s, *st;
|
||||
int removed_subseq = 0;
|
||||
|
||||
if (!sseq)
|
||||
@ -448,7 +448,8 @@ static struct publication *tipc_nameseq_remove_publ(struct name_seq *nseq, u32 i
|
||||
* sequence overlapping with the requested sequence
|
||||
*/
|
||||
|
||||
static void tipc_nameseq_subscribe(struct name_seq *nseq, struct subscription *s)
|
||||
static void tipc_nameseq_subscribe(struct name_seq *nseq,
|
||||
struct tipc_subscription *s)
|
||||
{
|
||||
struct sub_seq *sseq = nseq->sseqs;
|
||||
|
||||
@ -625,7 +626,7 @@ u32 tipc_nametbl_translate(u32 type, u32 instance, u32 *destnode)
|
||||
*/
|
||||
|
||||
int tipc_nametbl_mc_translate(u32 type, u32 lower, u32 upper, u32 limit,
|
||||
struct port_list *dports)
|
||||
struct tipc_port_list *dports)
|
||||
{
|
||||
struct name_seq *seq;
|
||||
struct sub_seq *sseq;
|
||||
@ -739,7 +740,7 @@ int tipc_nametbl_withdraw(u32 type, u32 lower, u32 ref, u32 key)
|
||||
* tipc_nametbl_subscribe - add a subscription object to the name table
|
||||
*/
|
||||
|
||||
void tipc_nametbl_subscribe(struct subscription *s)
|
||||
void tipc_nametbl_subscribe(struct tipc_subscription *s)
|
||||
{
|
||||
u32 type = s->seq.type;
|
||||
struct name_seq *seq;
|
||||
@ -763,7 +764,7 @@ void tipc_nametbl_subscribe(struct subscription *s)
|
||||
* tipc_nametbl_unsubscribe - remove a subscription object from name table
|
||||
*/
|
||||
|
||||
void tipc_nametbl_unsubscribe(struct subscription *s)
|
||||
void tipc_nametbl_unsubscribe(struct tipc_subscription *s)
|
||||
{
|
||||
struct name_seq *seq;
|
||||
|
||||
|
@ -39,8 +39,8 @@
|
||||
|
||||
#include "node_subscr.h"
|
||||
|
||||
struct subscription;
|
||||
struct port_list;
|
||||
struct tipc_subscription;
|
||||
struct tipc_port_list;
|
||||
|
||||
/*
|
||||
* TIPC name types reserved for internal TIPC use (both current and planned)
|
||||
@ -90,7 +90,7 @@ extern rwlock_t tipc_nametbl_lock;
|
||||
struct sk_buff *tipc_nametbl_get(const void *req_tlv_area, int req_tlv_space);
|
||||
u32 tipc_nametbl_translate(u32 type, u32 instance, u32 *node);
|
||||
int tipc_nametbl_mc_translate(u32 type, u32 lower, u32 upper, u32 limit,
|
||||
struct port_list *dports);
|
||||
struct tipc_port_list *dports);
|
||||
int tipc_nametbl_publish_rsv(u32 ref, unsigned int scope,
|
||||
struct tipc_name_seq const *seq);
|
||||
struct publication *tipc_nametbl_publish(u32 type, u32 lower, u32 upper,
|
||||
@ -100,8 +100,8 @@ struct publication *tipc_nametbl_insert_publ(u32 type, u32 lower, u32 upper,
|
||||
u32 scope, u32 node, u32 ref, u32 key);
|
||||
struct publication *tipc_nametbl_remove_publ(u32 type, u32 lower,
|
||||
u32 node, u32 ref, u32 key);
|
||||
void tipc_nametbl_subscribe(struct subscription *s);
|
||||
void tipc_nametbl_unsubscribe(struct subscription *s);
|
||||
void tipc_nametbl_subscribe(struct tipc_subscription *s);
|
||||
void tipc_nametbl_unsubscribe(struct tipc_subscription *s);
|
||||
int tipc_nametbl_init(void);
|
||||
void tipc_nametbl_stop(void);
|
||||
|
||||
|
@ -136,9 +136,9 @@ void tipc_node_delete(struct tipc_node *n_ptr)
|
||||
* Link becomes active (alone or shared) or standby, depending on its priority.
|
||||
*/
|
||||
|
||||
void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr)
|
||||
void tipc_node_link_up(struct tipc_node *n_ptr, struct tipc_link *l_ptr)
|
||||
{
|
||||
struct link **active = &n_ptr->active_links[0];
|
||||
struct tipc_link **active = &n_ptr->active_links[0];
|
||||
|
||||
n_ptr->working_links++;
|
||||
|
||||
@ -171,14 +171,14 @@ void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr)
|
||||
|
||||
static void node_select_active_links(struct tipc_node *n_ptr)
|
||||
{
|
||||
struct link **active = &n_ptr->active_links[0];
|
||||
struct tipc_link **active = &n_ptr->active_links[0];
|
||||
u32 i;
|
||||
u32 highest_prio = 0;
|
||||
|
||||
active[0] = active[1] = NULL;
|
||||
|
||||
for (i = 0; i < MAX_BEARERS; i++) {
|
||||
struct link *l_ptr = n_ptr->links[i];
|
||||
struct tipc_link *l_ptr = n_ptr->links[i];
|
||||
|
||||
if (!l_ptr || !tipc_link_is_up(l_ptr) ||
|
||||
(l_ptr->priority < highest_prio))
|
||||
@ -197,9 +197,9 @@ static void node_select_active_links(struct tipc_node *n_ptr)
|
||||
* tipc_node_link_down - handle loss of link
|
||||
*/
|
||||
|
||||
void tipc_node_link_down(struct tipc_node *n_ptr, struct link *l_ptr)
|
||||
void tipc_node_link_down(struct tipc_node *n_ptr, struct tipc_link *l_ptr)
|
||||
{
|
||||
struct link **active;
|
||||
struct tipc_link **active;
|
||||
|
||||
n_ptr->working_links--;
|
||||
|
||||
@ -239,14 +239,14 @@ int tipc_node_is_up(struct tipc_node *n_ptr)
|
||||
return tipc_node_active_links(n_ptr);
|
||||
}
|
||||
|
||||
void tipc_node_attach_link(struct tipc_node *n_ptr, struct link *l_ptr)
|
||||
void tipc_node_attach_link(struct tipc_node *n_ptr, struct tipc_link *l_ptr)
|
||||
{
|
||||
n_ptr->links[l_ptr->b_ptr->identity] = l_ptr;
|
||||
atomic_inc(&tipc_num_links);
|
||||
n_ptr->link_cnt++;
|
||||
}
|
||||
|
||||
void tipc_node_detach_link(struct tipc_node *n_ptr, struct link *l_ptr)
|
||||
void tipc_node_detach_link(struct tipc_node *n_ptr, struct tipc_link *l_ptr)
|
||||
{
|
||||
n_ptr->links[l_ptr->b_ptr->identity] = NULL;
|
||||
atomic_dec(&tipc_num_links);
|
||||
@ -360,7 +360,7 @@ static void node_lost_contact(struct tipc_node *n_ptr)
|
||||
|
||||
/* Abort link changeover */
|
||||
for (i = 0; i < MAX_BEARERS; i++) {
|
||||
struct link *l_ptr = n_ptr->links[i];
|
||||
struct tipc_link *l_ptr = n_ptr->links[i];
|
||||
if (!l_ptr)
|
||||
continue;
|
||||
l_ptr->reset_checkpoint = l_ptr->next_in_no;
|
||||
|
@ -79,8 +79,8 @@ struct tipc_node {
|
||||
struct hlist_node hash;
|
||||
struct list_head list;
|
||||
struct list_head nsub;
|
||||
struct link *active_links[2];
|
||||
struct link *links[MAX_BEARERS];
|
||||
struct tipc_link *active_links[2];
|
||||
struct tipc_link *links[MAX_BEARERS];
|
||||
int link_cnt;
|
||||
int working_links;
|
||||
int block_setup;
|
||||
@ -117,10 +117,10 @@ extern u32 tipc_own_tag;
|
||||
struct tipc_node *tipc_node_find(u32 addr);
|
||||
struct tipc_node *tipc_node_create(u32 addr);
|
||||
void tipc_node_delete(struct tipc_node *n_ptr);
|
||||
void tipc_node_attach_link(struct tipc_node *n_ptr, struct link *l_ptr);
|
||||
void tipc_node_detach_link(struct tipc_node *n_ptr, struct link *l_ptr);
|
||||
void tipc_node_link_down(struct tipc_node *n_ptr, struct link *l_ptr);
|
||||
void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr);
|
||||
void tipc_node_attach_link(struct tipc_node *n_ptr, struct tipc_link *l_ptr);
|
||||
void tipc_node_detach_link(struct tipc_node *n_ptr, struct tipc_link *l_ptr);
|
||||
void tipc_node_link_down(struct tipc_node *n_ptr, struct tipc_link *l_ptr);
|
||||
void tipc_node_link_up(struct tipc_node *n_ptr, struct tipc_link *l_ptr);
|
||||
int tipc_node_active_links(struct tipc_node *n_ptr);
|
||||
int tipc_node_redundant_links(struct tipc_node *n_ptr);
|
||||
int tipc_node_is_up(struct tipc_node *n_ptr);
|
||||
|
@ -80,7 +80,7 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
|
||||
struct tipc_msg *hdr;
|
||||
struct sk_buff *buf;
|
||||
struct sk_buff *ibuf = NULL;
|
||||
struct port_list dports = {0, NULL, };
|
||||
struct tipc_port_list dports = {0, NULL, };
|
||||
struct tipc_port *oport = tipc_port_deref(ref);
|
||||
int ext_targets;
|
||||
int res;
|
||||
@ -142,11 +142,11 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
|
||||
* If there is no port list, perform a lookup to create one
|
||||
*/
|
||||
|
||||
void tipc_port_recv_mcast(struct sk_buff *buf, struct port_list *dp)
|
||||
void tipc_port_recv_mcast(struct sk_buff *buf, struct tipc_port_list *dp)
|
||||
{
|
||||
struct tipc_msg *msg;
|
||||
struct port_list dports = {0, NULL, };
|
||||
struct port_list *item = dp;
|
||||
struct tipc_port_list dports = {0, NULL, };
|
||||
struct tipc_port_list *item = dp;
|
||||
int cnt = 0;
|
||||
|
||||
msg = buf_msg(buf);
|
||||
|
@ -151,7 +151,7 @@ struct tipc_port {
|
||||
};
|
||||
|
||||
extern spinlock_t tipc_port_list_lock;
|
||||
struct port_list;
|
||||
struct tipc_port_list;
|
||||
|
||||
/*
|
||||
* TIPC port manipulation routines
|
||||
@ -228,7 +228,7 @@ int tipc_port_reject_sections(struct tipc_port *p_ptr, struct tipc_msg *hdr,
|
||||
unsigned int total_len, int err);
|
||||
struct sk_buff *tipc_port_get_ports(void);
|
||||
void tipc_port_recv_proto_msg(struct sk_buff *buf);
|
||||
void tipc_port_recv_mcast(struct sk_buff *buf, struct port_list *dp);
|
||||
void tipc_port_recv_mcast(struct sk_buff *buf, struct tipc_port_list *dp);
|
||||
void tipc_port_reinit(void);
|
||||
|
||||
/**
|
||||
|
@ -40,14 +40,14 @@
|
||||
#include "subscr.h"
|
||||
|
||||
/**
|
||||
* struct subscriber - TIPC network topology subscriber
|
||||
* struct tipc_subscriber - TIPC network topology subscriber
|
||||
* @port_ref: object reference to server port connecting to subscriber
|
||||
* @lock: pointer to spinlock controlling access to subscriber's server port
|
||||
* @subscriber_list: adjacent subscribers in top. server's list of subscribers
|
||||
* @subscription_list: list of subscription objects for this subscriber
|
||||
*/
|
||||
|
||||
struct subscriber {
|
||||
struct tipc_subscriber {
|
||||
u32 port_ref;
|
||||
spinlock_t *lock;
|
||||
struct list_head subscriber_list;
|
||||
@ -92,7 +92,7 @@ static u32 htohl(u32 in, int swap)
|
||||
* try to take the lock if the message is rejected and returned!
|
||||
*/
|
||||
|
||||
static void subscr_send_event(struct subscription *sub,
|
||||
static void subscr_send_event(struct tipc_subscription *sub,
|
||||
u32 found_lower,
|
||||
u32 found_upper,
|
||||
u32 event,
|
||||
@ -118,7 +118,7 @@ static void subscr_send_event(struct subscription *sub,
|
||||
* Returns 1 if there is overlap, otherwise 0.
|
||||
*/
|
||||
|
||||
int tipc_subscr_overlap(struct subscription *sub,
|
||||
int tipc_subscr_overlap(struct tipc_subscription *sub,
|
||||
u32 found_lower,
|
||||
u32 found_upper)
|
||||
|
||||
@ -138,7 +138,7 @@ int tipc_subscr_overlap(struct subscription *sub,
|
||||
* Protected by nameseq.lock in name_table.c
|
||||
*/
|
||||
|
||||
void tipc_subscr_report_overlap(struct subscription *sub,
|
||||
void tipc_subscr_report_overlap(struct tipc_subscription *sub,
|
||||
u32 found_lower,
|
||||
u32 found_upper,
|
||||
u32 event,
|
||||
@ -158,7 +158,7 @@ void tipc_subscr_report_overlap(struct subscription *sub,
|
||||
* subscr_timeout - subscription timeout has occurred
|
||||
*/
|
||||
|
||||
static void subscr_timeout(struct subscription *sub)
|
||||
static void subscr_timeout(struct tipc_subscription *sub)
|
||||
{
|
||||
struct tipc_port *server_port;
|
||||
|
||||
@ -205,7 +205,7 @@ static void subscr_timeout(struct subscription *sub)
|
||||
* Called with subscriber port locked.
|
||||
*/
|
||||
|
||||
static void subscr_del(struct subscription *sub)
|
||||
static void subscr_del(struct tipc_subscription *sub)
|
||||
{
|
||||
tipc_nametbl_unsubscribe(sub);
|
||||
list_del(&sub->subscription_list);
|
||||
@ -224,11 +224,11 @@ static void subscr_del(struct subscription *sub)
|
||||
* simply wait for it to be released, then claim it.)
|
||||
*/
|
||||
|
||||
static void subscr_terminate(struct subscriber *subscriber)
|
||||
static void subscr_terminate(struct tipc_subscriber *subscriber)
|
||||
{
|
||||
u32 port_ref;
|
||||
struct subscription *sub;
|
||||
struct subscription *sub_temp;
|
||||
struct tipc_subscription *sub;
|
||||
struct tipc_subscription *sub_temp;
|
||||
|
||||
/* Invalidate subscriber reference */
|
||||
|
||||
@ -278,10 +278,10 @@ static void subscr_terminate(struct subscriber *subscriber)
|
||||
*/
|
||||
|
||||
static void subscr_cancel(struct tipc_subscr *s,
|
||||
struct subscriber *subscriber)
|
||||
struct tipc_subscriber *subscriber)
|
||||
{
|
||||
struct subscription *sub;
|
||||
struct subscription *sub_temp;
|
||||
struct tipc_subscription *sub;
|
||||
struct tipc_subscription *sub_temp;
|
||||
int found = 0;
|
||||
|
||||
/* Find first matching subscription, exit if not found */
|
||||
@ -314,10 +314,10 @@ static void subscr_cancel(struct tipc_subscr *s,
|
||||
* Called with subscriber port locked.
|
||||
*/
|
||||
|
||||
static struct subscription *subscr_subscribe(struct tipc_subscr *s,
|
||||
struct subscriber *subscriber)
|
||||
static struct tipc_subscription *subscr_subscribe(struct tipc_subscr *s,
|
||||
struct tipc_subscriber *subscriber)
|
||||
{
|
||||
struct subscription *sub;
|
||||
struct tipc_subscription *sub;
|
||||
int swap;
|
||||
|
||||
/* Determine subscriber's endianness */
|
||||
@ -393,7 +393,7 @@ static void subscr_conn_shutdown_event(void *usr_handle,
|
||||
unsigned int size,
|
||||
int reason)
|
||||
{
|
||||
struct subscriber *subscriber = usr_handle;
|
||||
struct tipc_subscriber *subscriber = usr_handle;
|
||||
spinlock_t *subscriber_lock;
|
||||
|
||||
if (tipc_port_lock(port_ref) == NULL)
|
||||
@ -416,9 +416,9 @@ static void subscr_conn_msg_event(void *usr_handle,
|
||||
const unchar *data,
|
||||
u32 size)
|
||||
{
|
||||
struct subscriber *subscriber = usr_handle;
|
||||
struct tipc_subscriber *subscriber = usr_handle;
|
||||
spinlock_t *subscriber_lock;
|
||||
struct subscription *sub;
|
||||
struct tipc_subscription *sub;
|
||||
|
||||
/*
|
||||
* Lock subscriber's server port (& make a local copy of lock pointer,
|
||||
@ -471,12 +471,12 @@ static void subscr_named_msg_event(void *usr_handle,
|
||||
struct tipc_portid const *orig,
|
||||
struct tipc_name_seq const *dest)
|
||||
{
|
||||
struct subscriber *subscriber;
|
||||
struct tipc_subscriber *subscriber;
|
||||
u32 server_port_ref;
|
||||
|
||||
/* Create subscriber object */
|
||||
|
||||
subscriber = kzalloc(sizeof(struct subscriber), GFP_ATOMIC);
|
||||
subscriber = kzalloc(sizeof(struct tipc_subscriber), GFP_ATOMIC);
|
||||
if (subscriber == NULL) {
|
||||
warn("Subscriber rejected, no memory\n");
|
||||
return;
|
||||
@ -568,8 +568,8 @@ int tipc_subscr_start(void)
|
||||
|
||||
void tipc_subscr_stop(void)
|
||||
{
|
||||
struct subscriber *subscriber;
|
||||
struct subscriber *subscriber_temp;
|
||||
struct tipc_subscriber *subscriber;
|
||||
struct tipc_subscriber *subscriber_temp;
|
||||
spinlock_t *subscriber_lock;
|
||||
|
||||
if (topsrv.setup_port) {
|
||||
|
@ -37,10 +37,10 @@
|
||||
#ifndef _TIPC_SUBSCR_H
|
||||
#define _TIPC_SUBSCR_H
|
||||
|
||||
struct subscription;
|
||||
struct tipc_subscription;
|
||||
|
||||
/**
|
||||
* struct subscription - TIPC network topology subscription object
|
||||
* struct tipc_subscription - TIPC network topology subscription object
|
||||
* @seq: name sequence associated with subscription
|
||||
* @timeout: duration of subscription (in ms)
|
||||
* @filter: event filtering to be done for subscription
|
||||
@ -52,7 +52,7 @@ struct subscription;
|
||||
* @evt: template for events generated by subscription
|
||||
*/
|
||||
|
||||
struct subscription {
|
||||
struct tipc_subscription {
|
||||
struct tipc_name_seq seq;
|
||||
u32 timeout;
|
||||
u32 filter;
|
||||
@ -64,11 +64,11 @@ struct subscription {
|
||||
struct tipc_event evt;
|
||||
};
|
||||
|
||||
int tipc_subscr_overlap(struct subscription *sub,
|
||||
int tipc_subscr_overlap(struct tipc_subscription *sub,
|
||||
u32 found_lower,
|
||||
u32 found_upper);
|
||||
|
||||
void tipc_subscr_report_overlap(struct subscription *sub,
|
||||
void tipc_subscr_report_overlap(struct tipc_subscription *sub,
|
||||
u32 found_lower,
|
||||
u32 found_upper,
|
||||
u32 event,
|
||||
|
Loading…
Reference in New Issue
Block a user