You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[NET] TIPC: Fix whitespace errors.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
cca5172a7e
commit
c430728526
+7
-7
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/addr.c: TIPC address utility routines
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2000-2006, Ericsson AB
|
||||
* Copyright (c) 2004-2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -48,10 +48,10 @@ u32 tipc_get_addr(void)
|
||||
|
||||
/**
|
||||
* tipc_addr_domain_valid - validates a network domain address
|
||||
*
|
||||
* Accepts <Z.C.N>, <Z.C.0>, <Z.0.0>, and <0.0.0>,
|
||||
*
|
||||
* Accepts <Z.C.N>, <Z.C.0>, <Z.0.0>, and <0.0.0>,
|
||||
* where Z, C, and N are non-zero and do not exceed the configured limits.
|
||||
*
|
||||
*
|
||||
* Returns 1 if domain address is valid, otherwise 0
|
||||
*/
|
||||
|
||||
@@ -80,10 +80,10 @@ int tipc_addr_domain_valid(u32 addr)
|
||||
|
||||
/**
|
||||
* tipc_addr_node_valid - validates a proposed network address for this node
|
||||
*
|
||||
* Accepts <Z.C.N>, where Z, C, and N are non-zero and do not exceed
|
||||
*
|
||||
* Accepts <Z.C.N>, where Z, C, and N are non-zero and do not exceed
|
||||
* the configured limits.
|
||||
*
|
||||
*
|
||||
* Returns 1 if address can be used, otherwise 0
|
||||
*/
|
||||
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/addr.h: Include file for TIPC address utility routines
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2000-2006, Ericsson AB
|
||||
* Copyright (c) 2004-2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -100,8 +100,8 @@ static inline int addr_scope(u32 domain)
|
||||
|
||||
/**
|
||||
* addr_domain - convert 2-bit scope value to equivalent message lookup domain
|
||||
*
|
||||
* Needed when address of a named message must be looked up a second time
|
||||
*
|
||||
* Needed when address of a named message must be looked up a second time
|
||||
* after a network hop.
|
||||
*/
|
||||
|
||||
|
||||
+49
-49
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/bcast.c: TIPC broadcast code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2004-2006, Ericsson AB
|
||||
* Copyright (c) 2004, Intel Corporation.
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
@@ -59,15 +59,15 @@
|
||||
* Loss rate for incoming broadcast frames; used to test retransmission code.
|
||||
* Set to N to cause every N'th frame to be discarded; 0 => don't discard any.
|
||||
*/
|
||||
|
||||
|
||||
#define TIPC_BCAST_LOSS_RATE 0
|
||||
|
||||
/**
|
||||
* struct bcbearer_pair - a pair of bearers used by broadcast link
|
||||
* @primary: pointer to primary bearer
|
||||
* @secondary: pointer to secondary bearer
|
||||
*
|
||||
* Bearers must have same priority and same set of reachable destinations
|
||||
*
|
||||
* Bearers must have same priority and same set of reachable destinations
|
||||
* to be paired.
|
||||
*/
|
||||
|
||||
@@ -84,7 +84,7 @@ struct bcbearer_pair {
|
||||
* @bpairs_temp: temporary array of bearer pairs used by tipc_bcbearer_sort()
|
||||
* @remains: temporary node map used by tipc_bcbearer_send()
|
||||
* @remains_new: temporary node map used tipc_bcbearer_send()
|
||||
*
|
||||
*
|
||||
* Note: The fields labelled "temporary" are incorporated into the bearer
|
||||
* to avoid consuming potentially limited stack space through the use of
|
||||
* large local variables within multicast routines. Concurrent access is
|
||||
@@ -104,7 +104,7 @@ struct bcbearer {
|
||||
* struct bclink - link used for broadcast messages
|
||||
* @link: (non-standard) broadcast link structure
|
||||
* @node: (non-standard) node structure representing b'cast link's peer node
|
||||
*
|
||||
*
|
||||
* Handles sequence numbering, fragmentation, bundling, etc.
|
||||
*/
|
||||
|
||||
@@ -125,7 +125,7 @@ char tipc_bclink_name[] = "multicast-link";
|
||||
static u32 buf_seqno(struct sk_buff *buf)
|
||||
{
|
||||
return msg_seqno(buf_msg(buf));
|
||||
}
|
||||
}
|
||||
|
||||
static u32 bcbuf_acks(struct sk_buff *buf)
|
||||
{
|
||||
@@ -143,9 +143,9 @@ static void bcbuf_decr_acks(struct sk_buff *buf)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
* bclink_set_gap - set gap according to contents of current deferred pkt queue
|
||||
*
|
||||
*
|
||||
* Called with 'node' locked, bc_lock unlocked
|
||||
*/
|
||||
|
||||
@@ -159,14 +159,14 @@ static void bclink_set_gap(struct node *n_ptr)
|
||||
n_ptr->bclink.gap_to = mod(buf_seqno(buf) - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* bclink_ack_allowed - test if ACK or NACK message can be sent at this moment
|
||||
*
|
||||
*
|
||||
* This mechanism endeavours to prevent all nodes in network from trying
|
||||
* to ACK or NACK at the same time.
|
||||
*
|
||||
*
|
||||
* Note: TIPC uses a different trigger to distribute ACKs than it does to
|
||||
* distribute NACKs, but tries to use the same spacing (divide by 16).
|
||||
* distribute NACKs, but tries to use the same spacing (divide by 16).
|
||||
*/
|
||||
|
||||
static int bclink_ack_allowed(u32 n)
|
||||
@@ -175,11 +175,11 @@ static int bclink_ack_allowed(u32 n)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
* bclink_retransmit_pkt - retransmit broadcast packets
|
||||
* @after: sequence number of last packet to *not* retransmit
|
||||
* @to: sequence number of last packet to retransmit
|
||||
*
|
||||
*
|
||||
* Called with bc_lock locked
|
||||
*/
|
||||
|
||||
@@ -189,16 +189,16 @@ static void bclink_retransmit_pkt(u32 after, u32 to)
|
||||
|
||||
buf = bcl->first_out;
|
||||
while (buf && less_eq(buf_seqno(buf), after)) {
|
||||
buf = buf->next;
|
||||
buf = buf->next;
|
||||
}
|
||||
tipc_link_retransmit(bcl, buf, mod(to - after));
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* tipc_bclink_acknowledge - handle acknowledgement of broadcast packets
|
||||
* @n_ptr: node that sent acknowledgement info
|
||||
* @acked: broadcast sequence # that has been acknowledged
|
||||
*
|
||||
*
|
||||
* Node is locked, bc_lock unlocked.
|
||||
*/
|
||||
|
||||
@@ -244,9 +244,9 @@ void tipc_bclink_acknowledge(struct node *n_ptr, u32 acked)
|
||||
spin_unlock_bh(&bc_lock);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* bclink_send_ack - unicast an ACK msg
|
||||
*
|
||||
*
|
||||
* tipc_net_lock and node lock set
|
||||
*/
|
||||
|
||||
@@ -258,9 +258,9 @@ static void bclink_send_ack(struct node *n_ptr)
|
||||
tipc_link_send_proto_msg(l_ptr, STATE_MSG, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* bclink_send_nack- broadcast a NACK msg
|
||||
*
|
||||
*
|
||||
* tipc_net_lock and node lock set
|
||||
*/
|
||||
|
||||
@@ -278,7 +278,7 @@ static void bclink_send_nack(struct node *n_ptr)
|
||||
msg_init(msg, BCAST_PROTOCOL, STATE_MSG,
|
||||
TIPC_OK, INT_H_SIZE, n_ptr->addr);
|
||||
msg_set_mc_netid(msg, tipc_net_id);
|
||||
msg_set_bcast_ack(msg, mod(n_ptr->bclink.last_in));
|
||||
msg_set_bcast_ack(msg, mod(n_ptr->bclink.last_in));
|
||||
msg_set_bcgap_after(msg, n_ptr->bclink.gap_after);
|
||||
msg_set_bcgap_to(msg, n_ptr->bclink.gap_to);
|
||||
msg_set_bcast_tag(msg, tipc_own_tag);
|
||||
@@ -292,17 +292,17 @@ static void bclink_send_nack(struct node *n_ptr)
|
||||
bcl->stats.bearer_congs++;
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* Ensure we doesn't send another NACK msg to the node
|
||||
* until 16 more deferred messages arrive from it
|
||||
* (i.e. helps prevent all nodes from NACK'ing at same time)
|
||||
*/
|
||||
|
||||
|
||||
n_ptr->bclink.nack_sync = tipc_own_tag;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* tipc_bclink_check_gap - send a NACK if a sequence gap exists
|
||||
*
|
||||
* tipc_net_lock and node lock set
|
||||
@@ -320,9 +320,9 @@ void tipc_bclink_check_gap(struct node *n_ptr, u32 last_sent)
|
||||
bclink_send_nack(n_ptr);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* tipc_bclink_peek_nack - process a NACK msg meant for another node
|
||||
*
|
||||
*
|
||||
* Only tipc_net_lock set.
|
||||
*/
|
||||
|
||||
@@ -349,7 +349,7 @@ static void tipc_bclink_peek_nack(u32 dest, u32 sender_tag, u32 gap_after, u32 g
|
||||
if (less_eq(my_to, gap_to))
|
||||
n_ptr->bclink.gap_to = gap_after;
|
||||
} else {
|
||||
/*
|
||||
/*
|
||||
* Expand gap if missing bufs not in deferred queue:
|
||||
*/
|
||||
struct sk_buff *buf = n_ptr->bclink.deferred_head;
|
||||
@@ -371,7 +371,7 @@ static void tipc_bclink_peek_nack(u32 dest, u32 sender_tag, u32 gap_after, u32 g
|
||||
}
|
||||
/*
|
||||
* Some nodes may send a complementary NACK now:
|
||||
*/
|
||||
*/
|
||||
if (bclink_ack_allowed(sender_tag + 1)) {
|
||||
if (n_ptr->bclink.gap_to != n_ptr->bclink.gap_after) {
|
||||
bclink_send_nack(n_ptr);
|
||||
@@ -408,7 +408,7 @@ int tipc_bclink_send_msg(struct sk_buff *buf)
|
||||
|
||||
/**
|
||||
* tipc_bclink_recv_pkt - receive a broadcast packet, and deliver upwards
|
||||
*
|
||||
*
|
||||
* tipc_net_lock is read_locked, no other locks set
|
||||
*/
|
||||
|
||||
@@ -425,7 +425,7 @@ void tipc_bclink_recv_pkt(struct sk_buff *buf)
|
||||
|
||||
msg_dbg(msg, "<BC<<<");
|
||||
|
||||
if (unlikely(!node || !tipc_node_is_up(node) || !node->bclink.supported ||
|
||||
if (unlikely(!node || !tipc_node_is_up(node) || !node->bclink.supported ||
|
||||
(msg_mc_netid(msg) != tipc_net_id))) {
|
||||
buf_discard(buf);
|
||||
return;
|
||||
@@ -443,7 +443,7 @@ void tipc_bclink_recv_pkt(struct sk_buff *buf)
|
||||
bclink_retransmit_pkt(msg_bcgap_after(msg),
|
||||
msg_bcgap_to(msg));
|
||||
bcl->owner->next = NULL;
|
||||
spin_unlock_bh(&bc_lock);
|
||||
spin_unlock_bh(&bc_lock);
|
||||
} else {
|
||||
tipc_bclink_peek_nack(msg_destnode(msg),
|
||||
msg_bcast_tag(msg),
|
||||
@@ -547,10 +547,10 @@ u32 tipc_bclink_acks_missing(struct node *n_ptr)
|
||||
|
||||
/**
|
||||
* tipc_bcbearer_send - send a packet through the broadcast pseudo-bearer
|
||||
*
|
||||
*
|
||||
* Send through as many bearers as necessary to reach all nodes
|
||||
* that support TIPC multicasting.
|
||||
*
|
||||
*
|
||||
* Returns 0 if packet sent successfully, non-zero if not
|
||||
*/
|
||||
|
||||
@@ -581,7 +581,7 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
|
||||
send_count = 0;
|
||||
|
||||
/* Send buffer over bearers until all targets reached */
|
||||
|
||||
|
||||
bcbearer->remains = tipc_cltr_bcast_nodes;
|
||||
|
||||
for (bp_index = 0; bp_index < MAX_BEARERS; bp_index++) {
|
||||
@@ -615,7 +615,7 @@ update:
|
||||
|
||||
bcbearer->remains = bcbearer->remains_new;
|
||||
}
|
||||
|
||||
|
||||
/* Unable to reach all targets */
|
||||
|
||||
bcbearer->bearer.publ.blocked = 1;
|
||||
@@ -682,7 +682,7 @@ void tipc_bcbearer_sort(void)
|
||||
|
||||
/**
|
||||
* tipc_bcbearer_push - resolve bearer congestion
|
||||
*
|
||||
*
|
||||
* Forces bclink to push out any unsent packets, until all packets are gone
|
||||
* or congestion reoccurs.
|
||||
* No locks set when function called
|
||||
@@ -714,27 +714,27 @@ int tipc_bclink_stats(char *buf, const u32 buf_size)
|
||||
spin_lock_bh(&bc_lock);
|
||||
|
||||
tipc_printf(&pb, "Link <%s>\n"
|
||||
" Window:%u packets\n",
|
||||
" Window:%u packets\n",
|
||||
bcl->name, bcl->queue_limit[0]);
|
||||
tipc_printf(&pb, " RX packets:%u fragments:%u/%u bundles:%u/%u\n",
|
||||
tipc_printf(&pb, " RX packets:%u fragments:%u/%u bundles:%u/%u\n",
|
||||
bcl->stats.recv_info,
|
||||
bcl->stats.recv_fragments,
|
||||
bcl->stats.recv_fragmented,
|
||||
bcl->stats.recv_bundles,
|
||||
bcl->stats.recv_bundled);
|
||||
tipc_printf(&pb, " TX packets:%u fragments:%u/%u bundles:%u/%u\n",
|
||||
tipc_printf(&pb, " TX packets:%u fragments:%u/%u bundles:%u/%u\n",
|
||||
bcl->stats.sent_info,
|
||||
bcl->stats.sent_fragments,
|
||||
bcl->stats.sent_fragmented,
|
||||
bcl->stats.sent_fragmented,
|
||||
bcl->stats.sent_bundles,
|
||||
bcl->stats.sent_bundled);
|
||||
tipc_printf(&pb, " RX naks:%u defs:%u dups:%u\n",
|
||||
tipc_printf(&pb, " RX naks:%u defs:%u dups:%u\n",
|
||||
bcl->stats.recv_nacks,
|
||||
bcl->stats.deferred_recv,
|
||||
bcl->stats.deferred_recv,
|
||||
bcl->stats.duplicates);
|
||||
tipc_printf(&pb, " TX naks:%u acks:%u dups:%u\n",
|
||||
bcl->stats.sent_nacks,
|
||||
bcl->stats.sent_acks,
|
||||
tipc_printf(&pb, " TX naks:%u acks:%u dups:%u\n",
|
||||
bcl->stats.sent_nacks,
|
||||
bcl->stats.sent_acks,
|
||||
bcl->stats.retransmitted);
|
||||
tipc_printf(&pb, " Congestion bearer:%u link:%u Send queue max:%u avg:%u\n",
|
||||
bcl->stats.bearer_congs,
|
||||
@@ -778,7 +778,7 @@ int tipc_bclink_init(void)
|
||||
bclink = kzalloc(sizeof(*bclink), GFP_ATOMIC);
|
||||
if (!bcbearer || !bclink) {
|
||||
nomem:
|
||||
warn("Multicast link creation failed, no memory\n");
|
||||
warn("Multicast link creation failed, no memory\n");
|
||||
kfree(bcbearer);
|
||||
bcbearer = NULL;
|
||||
kfree(bclink);
|
||||
@@ -796,7 +796,7 @@ int tipc_bclink_init(void)
|
||||
bcl->next_out_no = 1;
|
||||
spin_lock_init(&bclink->node.lock);
|
||||
bcl->owner = &bclink->node;
|
||||
bcl->max_pkt = MAX_PKT_DEFAULT_MCAST;
|
||||
bcl->max_pkt = MAX_PKT_DEFAULT_MCAST;
|
||||
tipc_link_set_queue_limits(bcl, BCLINK_WIN_DEFAULT);
|
||||
bcl->b_ptr = &bcbearer->bearer;
|
||||
bcl->state = WORKING_WORKING;
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/bcast.h: Include file for TIPC broadcast code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2003-2006, Ericsson AB
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -102,7 +102,7 @@ static inline void tipc_nmap_add(struct node_map *nm_ptr, u32 node)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* nmap_remove - remove a node from a node map
|
||||
*/
|
||||
|
||||
@@ -190,7 +190,7 @@ static inline void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
|
||||
|
||||
/**
|
||||
* port_list_free - free dynamically created entries in port_list chain
|
||||
*
|
||||
*
|
||||
* Note: First item is on stack, so it doesn't need to be released
|
||||
*/
|
||||
|
||||
|
||||
+29
-29
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/bearer.c: TIPC bearer code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1996-2006, Ericsson AB
|
||||
* Copyright (c) 2004-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -52,7 +52,7 @@ struct bearer *tipc_bearers = NULL;
|
||||
|
||||
/**
|
||||
* media_name_valid - validate media name
|
||||
*
|
||||
*
|
||||
* Returns 1 if media name is valid, otherwise 0.
|
||||
*/
|
||||
|
||||
@@ -84,17 +84,17 @@ static struct media *media_find(const char *name)
|
||||
|
||||
/**
|
||||
* tipc_register_media - register a media type
|
||||
*
|
||||
*
|
||||
* Bearers for this media type must be activated separately at a later stage.
|
||||
*/
|
||||
|
||||
int tipc_register_media(u32 media_type,
|
||||
char *name,
|
||||
int (*enable)(struct tipc_bearer *),
|
||||
void (*disable)(struct tipc_bearer *),
|
||||
int (*send_msg)(struct sk_buff *,
|
||||
char *name,
|
||||
int (*enable)(struct tipc_bearer *),
|
||||
void (*disable)(struct tipc_bearer *),
|
||||
int (*send_msg)(struct sk_buff *,
|
||||
struct tipc_bearer *,
|
||||
struct tipc_media_addr *),
|
||||
struct tipc_media_addr *),
|
||||
char *(*addr2str)(struct tipc_media_addr *a,
|
||||
char *str_buf, int str_size),
|
||||
struct tipc_media_addr *bcast_addr,
|
||||
@@ -121,11 +121,11 @@ int tipc_register_media(u32 media_type,
|
||||
}
|
||||
if ((bearer_priority < TIPC_MIN_LINK_PRI) &&
|
||||
(bearer_priority > TIPC_MAX_LINK_PRI)) {
|
||||
warn("Media <%s> rejected, illegal priority (%u)\n", name,
|
||||
warn("Media <%s> rejected, illegal priority (%u)\n", name,
|
||||
bearer_priority);
|
||||
goto exit;
|
||||
}
|
||||
if ((link_tolerance < TIPC_MIN_LINK_TOL) ||
|
||||
if ((link_tolerance < TIPC_MIN_LINK_TOL) ||
|
||||
(link_tolerance > TIPC_MAX_LINK_TOL)) {
|
||||
warn("Media <%s> rejected, illegal tolerance (%u)\n", name,
|
||||
link_tolerance);
|
||||
@@ -219,7 +219,7 @@ struct sk_buff *tipc_media_get_names(void)
|
||||
|
||||
read_lock_bh(&tipc_net_lock);
|
||||
for (i = 0, m_ptr = media_list; i < media_count; i++, m_ptr++) {
|
||||
tipc_cfg_append_tlv(buf, TIPC_TLV_MEDIA_NAME, m_ptr->name,
|
||||
tipc_cfg_append_tlv(buf, TIPC_TLV_MEDIA_NAME, m_ptr->name,
|
||||
strlen(m_ptr->name) + 1);
|
||||
}
|
||||
read_unlock_bh(&tipc_net_lock);
|
||||
@@ -230,11 +230,11 @@ struct sk_buff *tipc_media_get_names(void)
|
||||
* bearer_name_validate - validate & (optionally) deconstruct bearer name
|
||||
* @name - ptr to bearer name string
|
||||
* @name_parts - ptr to area for bearer name components (or NULL if not needed)
|
||||
*
|
||||
*
|
||||
* Returns 1 if bearer name is valid, otherwise 0.
|
||||
*/
|
||||
|
||||
static int bearer_name_validate(const char *name,
|
||||
static int bearer_name_validate(const char *name,
|
||||
struct bearer_name *name_parts)
|
||||
{
|
||||
char name_copy[TIPC_MAX_BEARER_NAME];
|
||||
@@ -262,8 +262,8 @@ static int bearer_name_validate(const char *name,
|
||||
|
||||
/* validate component parts of bearer name */
|
||||
|
||||
if ((media_len <= 1) || (media_len > TIPC_MAX_MEDIA_NAME) ||
|
||||
(if_len <= 1) || (if_len > TIPC_MAX_IF_NAME) ||
|
||||
if ((media_len <= 1) || (media_len > TIPC_MAX_MEDIA_NAME) ||
|
||||
(if_len <= 1) || (if_len > TIPC_MAX_IF_NAME) ||
|
||||
(strspn(media_name, tipc_alphabet) != (media_len - 1)) ||
|
||||
(strspn(if_name, tipc_alphabet) != (if_len - 1)))
|
||||
return 0;
|
||||
@@ -336,8 +336,8 @@ struct sk_buff *tipc_bearer_get_names(void)
|
||||
for (j = 0; j < MAX_BEARERS; j++) {
|
||||
b_ptr = &tipc_bearers[j];
|
||||
if (b_ptr->active && (b_ptr->media == m_ptr)) {
|
||||
tipc_cfg_append_tlv(buf, TIPC_TLV_BEARER_NAME,
|
||||
b_ptr->publ.name,
|
||||
tipc_cfg_append_tlv(buf, TIPC_TLV_BEARER_NAME,
|
||||
b_ptr->publ.name,
|
||||
strlen(b_ptr->publ.name) + 1);
|
||||
}
|
||||
}
|
||||
@@ -401,8 +401,8 @@ void tipc_bearer_lock_push(struct bearer *b_ptr)
|
||||
|
||||
|
||||
/*
|
||||
* Interrupt enabling new requests after bearer congestion or blocking:
|
||||
* See bearer_send().
|
||||
* Interrupt enabling new requests after bearer congestion or blocking:
|
||||
* See bearer_send().
|
||||
*/
|
||||
void tipc_continue(struct tipc_bearer *tb_ptr)
|
||||
{
|
||||
@@ -417,9 +417,9 @@ void tipc_continue(struct tipc_bearer *tb_ptr)
|
||||
}
|
||||
|
||||
/*
|
||||
* Schedule link for sending of messages after the bearer
|
||||
* has been deblocked by 'continue()'. This method is called
|
||||
* when somebody tries to send a message via this link while
|
||||
* Schedule link for sending of messages after the bearer
|
||||
* has been deblocked by 'continue()'. This method is called
|
||||
* when somebody tries to send a message via this link while
|
||||
* the bearer is congested. 'tipc_net_lock' is in read_lock here
|
||||
* bearer.lock is busy
|
||||
*/
|
||||
@@ -430,9 +430,9 @@ static void tipc_bearer_schedule_unlocked(struct bearer *b_ptr, struct link *l_p
|
||||
}
|
||||
|
||||
/*
|
||||
* Schedule link for sending of messages after the bearer
|
||||
* has been deblocked by 'continue()'. This method is called
|
||||
* when somebody tries to send a message via this link while
|
||||
* Schedule link for sending of messages after the bearer
|
||||
* has been deblocked by 'continue()'. This method is called
|
||||
* when somebody tries to send a message via this link while
|
||||
* the bearer is congested. 'tipc_net_lock' is in read_lock here,
|
||||
* bearer.lock is free
|
||||
*/
|
||||
@@ -468,7 +468,7 @@ int tipc_bearer_resolve_congestion(struct bearer *b_ptr, struct link *l_ptr)
|
||||
|
||||
/**
|
||||
* tipc_enable_bearer - enable bearer with the given name
|
||||
*/
|
||||
*/
|
||||
|
||||
int tipc_enable_bearer(const char *name, u32 bcast_scope, u32 priority)
|
||||
{
|
||||
@@ -490,7 +490,7 @@ int tipc_enable_bearer(const char *name, u32 bcast_scope, u32 priority)
|
||||
warn("Bearer <%s> rejected, illegal name\n", name);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!tipc_addr_domain_valid(bcast_scope) ||
|
||||
if (!tipc_addr_domain_valid(bcast_scope) ||
|
||||
!in_scope(bcast_scope, tipc_own_addr)) {
|
||||
warn("Bearer <%s> rejected, illegal broadcast scope\n", name);
|
||||
return -EINVAL;
|
||||
@@ -539,7 +539,7 @@ restart:
|
||||
}
|
||||
}
|
||||
if (bearer_id >= MAX_BEARERS) {
|
||||
warn("Bearer <%s> rejected, bearer limit reached (%u)\n",
|
||||
warn("Bearer <%s> rejected, bearer limit reached (%u)\n",
|
||||
name, MAX_BEARERS);
|
||||
goto failed;
|
||||
}
|
||||
@@ -612,7 +612,7 @@ int tipc_block_bearer(const char *name)
|
||||
|
||||
/**
|
||||
* bearer_disable -
|
||||
*
|
||||
*
|
||||
* Note: This routine assumes caller holds tipc_net_lock.
|
||||
*/
|
||||
|
||||
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/bearer.h: Include file for TIPC bearer code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1996-2006, Ericsson AB
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -58,14 +58,14 @@
|
||||
* @type_id: TIPC media identifier [defined in tipc_bearer.h]
|
||||
* @name: media name
|
||||
*/
|
||||
|
||||
|
||||
struct media {
|
||||
int (*send_msg)(struct sk_buff *buf,
|
||||
int (*send_msg)(struct sk_buff *buf,
|
||||
struct tipc_bearer *b_ptr,
|
||||
struct tipc_media_addr *dest);
|
||||
int (*enable_bearer)(struct tipc_bearer *b_ptr);
|
||||
void (*disable_bearer)(struct tipc_bearer *b_ptr);
|
||||
char *(*addr2str)(struct tipc_media_addr *a,
|
||||
char *(*addr2str)(struct tipc_media_addr *a,
|
||||
char *str_buf, int str_size);
|
||||
struct tipc_media_addr bcast_addr;
|
||||
int bcast;
|
||||
@@ -91,7 +91,7 @@ struct media {
|
||||
* @net_plane: network plane ('A' through 'H') currently associated with bearer
|
||||
* @nodes: indicates which nodes in cluster can be reached through bearer
|
||||
*/
|
||||
|
||||
|
||||
struct bearer {
|
||||
struct tipc_bearer publ;
|
||||
struct media *media;
|
||||
@@ -131,21 +131,21 @@ void tipc_bearer_lock_push(struct bearer *b_ptr);
|
||||
|
||||
|
||||
/**
|
||||
* tipc_bearer_send- sends buffer to destination over bearer
|
||||
*
|
||||
* tipc_bearer_send- sends buffer to destination over bearer
|
||||
*
|
||||
* Returns true (1) if successful, or false (0) if unable to send
|
||||
*
|
||||
*
|
||||
* IMPORTANT:
|
||||
* The media send routine must not alter the buffer being passed in
|
||||
* as it may be needed for later retransmission!
|
||||
*
|
||||
* If the media send routine returns a non-zero value (indicating that
|
||||
*
|
||||
* If the media send routine returns a non-zero value (indicating that
|
||||
* it was unable to send the buffer), it must:
|
||||
* 1) mark the bearer as blocked,
|
||||
* 2) call tipc_continue() once the bearer is able to send again.
|
||||
* Media types that are unable to meet these two critera must ensure their
|
||||
* send routine always returns success -- even if the buffer was not sent --
|
||||
* and let TIPC's link code deal with the undelivered message.
|
||||
* and let TIPC's link code deal with the undelivered message.
|
||||
*/
|
||||
|
||||
static inline int tipc_bearer_send(struct bearer *b_ptr, struct sk_buff *buf,
|
||||
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/cluster.c: TIPC cluster management routines
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2000-2006, Ericsson AB
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -56,7 +56,7 @@ struct cluster *tipc_cltr_create(u32 addr)
|
||||
{
|
||||
struct _zone *z_ptr;
|
||||
struct cluster *c_ptr;
|
||||
int max_nodes;
|
||||
int max_nodes;
|
||||
|
||||
c_ptr = kzalloc(sizeof(*c_ptr), GFP_ATOMIC);
|
||||
if (c_ptr == NULL) {
|
||||
@@ -81,7 +81,7 @@ struct cluster *tipc_cltr_create(u32 addr)
|
||||
tipc_local_nodes = c_ptr->nodes;
|
||||
c_ptr->highest_slave = LOWEST_SLAVE - 1;
|
||||
c_ptr->highest_node = 0;
|
||||
|
||||
|
||||
z_ptr = tipc_zone_find(tipc_zone(addr));
|
||||
if (!z_ptr) {
|
||||
z_ptr = tipc_zone_create(addr);
|
||||
@@ -150,7 +150,7 @@ void tipc_cltr_attach_node(struct cluster *c_ptr, struct node *n_ptr)
|
||||
|
||||
/**
|
||||
* tipc_cltr_select_router - select router to a cluster
|
||||
*
|
||||
*
|
||||
* Uses deterministic and fair algorithm.
|
||||
*/
|
||||
|
||||
@@ -192,7 +192,7 @@ u32 tipc_cltr_select_router(struct cluster *c_ptr, u32 ref)
|
||||
|
||||
/**
|
||||
* tipc_cltr_select_node - select destination node within a remote cluster
|
||||
*
|
||||
*
|
||||
* Uses deterministic and fair algorithm.
|
||||
*/
|
||||
|
||||
@@ -295,7 +295,7 @@ void tipc_cltr_send_slave_routes(struct cluster *c_ptr, u32 dest)
|
||||
msg_set_remote_node(msg, c_ptr->addr);
|
||||
msg_set_type(msg, SLAVE_ROUTING_TABLE);
|
||||
for (n_num = LOWEST_SLAVE; n_num <= highest; n_num++) {
|
||||
if (c_ptr->nodes[n_num] &&
|
||||
if (c_ptr->nodes[n_num] &&
|
||||
tipc_node_has_active_links(c_ptr->nodes[n_num])) {
|
||||
send = 1;
|
||||
msg_set_dataoctet(msg, n_num);
|
||||
@@ -329,7 +329,7 @@ void tipc_cltr_send_ext_routes(struct cluster *c_ptr, u32 dest)
|
||||
msg_set_remote_node(msg, c_ptr->addr);
|
||||
msg_set_type(msg, EXT_ROUTING_TABLE);
|
||||
for (n_num = 1; n_num <= highest; n_num++) {
|
||||
if (c_ptr->nodes[n_num] &&
|
||||
if (c_ptr->nodes[n_num] &&
|
||||
tipc_node_has_active_links(c_ptr->nodes[n_num])) {
|
||||
send = 1;
|
||||
msg_set_dataoctet(msg, n_num);
|
||||
@@ -360,7 +360,7 @@ void tipc_cltr_send_local_routes(struct cluster *c_ptr, u32 dest)
|
||||
msg_set_remote_node(msg, c_ptr->addr);
|
||||
msg_set_type(msg, LOCAL_ROUTING_TABLE);
|
||||
for (n_num = 1; n_num <= highest; n_num++) {
|
||||
if (c_ptr->nodes[n_num] &&
|
||||
if (c_ptr->nodes[n_num] &&
|
||||
tipc_node_has_active_links(c_ptr->nodes[n_num])) {
|
||||
send = 1;
|
||||
msg_set_dataoctet(msg, n_num);
|
||||
@@ -492,7 +492,7 @@ void tipc_cltr_remove_as_router(struct cluster *c_ptr, u32 router)
|
||||
}
|
||||
|
||||
/**
|
||||
* tipc_cltr_multicast - multicast message to local nodes
|
||||
* tipc_cltr_multicast - multicast message to local nodes
|
||||
*/
|
||||
|
||||
static void tipc_cltr_multicast(struct cluster *c_ptr, struct sk_buff *buf,
|
||||
@@ -554,9 +554,9 @@ void tipc_cltr_broadcast(struct sk_buff *buf)
|
||||
buf_copy = skb_copy(buf, GFP_ATOMIC);
|
||||
if (buf_copy == NULL)
|
||||
goto exit;
|
||||
msg_set_destnode(buf_msg(buf_copy),
|
||||
msg_set_destnode(buf_msg(buf_copy),
|
||||
n_ptr->addr);
|
||||
tipc_link_send(buf_copy, n_ptr->addr,
|
||||
tipc_link_send(buf_copy, n_ptr->addr,
|
||||
n_ptr->addr);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/cluster.h: Include file for TIPC cluster management routines
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2000-2006, Ericsson AB
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -50,7 +50,7 @@
|
||||
* @highest_node: id of highest numbered node within cluster
|
||||
* @highest_slave: (used for secondary node support)
|
||||
*/
|
||||
|
||||
|
||||
struct cluster {
|
||||
u32 addr;
|
||||
struct _zone *owner;
|
||||
|
||||
+8
-8
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/config.c: TIPC configuration management code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2002-2006, Ericsson AB
|
||||
* Copyright (c) 2004-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -86,7 +86,7 @@ struct sk_buff *tipc_cfg_reply_alloc(int payload_size)
|
||||
return buf;
|
||||
}
|
||||
|
||||
int tipc_cfg_append_tlv(struct sk_buff *buf, int tlv_type,
|
||||
int tipc_cfg_append_tlv(struct sk_buff *buf, int tlv_type,
|
||||
void *tlv_data, int tlv_data_size)
|
||||
{
|
||||
struct tlv_desc *tlv = (struct tlv_desc *)buf->tail;
|
||||
@@ -112,7 +112,7 @@ struct sk_buff *tipc_cfg_reply_unsigned_type(u16 tlv_type, u32 value)
|
||||
buf = tipc_cfg_reply_alloc(TLV_SPACE(sizeof(value)));
|
||||
if (buf) {
|
||||
value_net = htonl(value);
|
||||
tipc_cfg_append_tlv(buf, tlv_type, &value_net,
|
||||
tipc_cfg_append_tlv(buf, tlv_type, &value_net,
|
||||
sizeof(value_net));
|
||||
}
|
||||
return buf;
|
||||
@@ -182,7 +182,7 @@ int tipc_cfg_cmd(const struct tipc_cmd_msg * msg,
|
||||
|
||||
static void cfg_cmd_event(struct tipc_cmd_msg *msg,
|
||||
char *data,
|
||||
u32 sz,
|
||||
u32 sz,
|
||||
struct tipc_portid const *orig)
|
||||
{
|
||||
int rv = -EINVAL;
|
||||
@@ -192,7 +192,7 @@ static void cfg_cmd_event(struct tipc_cmd_msg *msg,
|
||||
|
||||
msg->cmd = ntohl(msg->cmd);
|
||||
|
||||
cfg_prepare_res_msg(msg->cmd, msg->usr_handle, rv, &rmsg, msg_sect,
|
||||
cfg_prepare_res_msg(msg->cmd, msg->usr_handle, rv, &rmsg, msg_sect,
|
||||
data, 0);
|
||||
if (ntohl(msg->magic) != TIPC_MAGIC)
|
||||
goto exit;
|
||||
@@ -295,7 +295,7 @@ static struct sk_buff *cfg_set_own_addr(void)
|
||||
" (cannot change node address once assigned)");
|
||||
tipc_own_addr = addr;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Must release all spinlocks before calling start_net() because
|
||||
* Linux version of TIPC calls eth_media_start() which calls
|
||||
* register_netdevice_notifier() which may block!
|
||||
@@ -619,7 +619,7 @@ static void cfg_named_msg_event(void *userdata,
|
||||
struct sk_buff **buf,
|
||||
const unchar *msg,
|
||||
u32 size,
|
||||
u32 importance,
|
||||
u32 importance,
|
||||
struct tipc_portid const *orig,
|
||||
struct tipc_name_seq const *dest)
|
||||
{
|
||||
@@ -640,7 +640,7 @@ static void cfg_named_msg_event(void *userdata,
|
||||
/* Generate reply for request (if can't, return request) */
|
||||
|
||||
rep_buf = tipc_cfg_do_cmd(orig->node,
|
||||
ntohs(req_hdr->tcm_type),
|
||||
ntohs(req_hdr->tcm_type),
|
||||
msg + sizeof(*req_hdr),
|
||||
size - sizeof(*req_hdr),
|
||||
BUF_HEADROOM + MAX_H_SIZE + sizeof(*rep_hdr));
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/config.h: Include file for TIPC configuration service code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2003-2006, Ericsson AB
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "link.h"
|
||||
|
||||
struct sk_buff *tipc_cfg_reply_alloc(int payload_size);
|
||||
int tipc_cfg_append_tlv(struct sk_buff *buf, int tlv_type,
|
||||
int tipc_cfg_append_tlv(struct sk_buff *buf, int tlv_type,
|
||||
void *tlv_data, int tlv_data_size);
|
||||
struct sk_buff *tipc_cfg_reply_unsigned_type(u16 tlv_type, u32 value);
|
||||
struct sk_buff *tipc_cfg_reply_string_type(u16 tlv_type, char *string);
|
||||
@@ -68,8 +68,8 @@ static inline struct sk_buff *tipc_cfg_reply_ultra_string(char *string)
|
||||
return tipc_cfg_reply_string_type(TIPC_TLV_ULTRA_STRING, string);
|
||||
}
|
||||
|
||||
struct sk_buff *tipc_cfg_do_cmd(u32 orig_node, u16 cmd,
|
||||
const void *req_tlv_area, int req_tlv_space,
|
||||
struct sk_buff *tipc_cfg_do_cmd(u32 orig_node, u16 cmd,
|
||||
const void *req_tlv_area, int req_tlv_space,
|
||||
int headroom);
|
||||
|
||||
void tipc_cfg_link_event(u32 addr, char *name, int up);
|
||||
|
||||
+9
-9
@@ -89,7 +89,7 @@ int tipc_mode = TIPC_NOT_RUNNING;
|
||||
int tipc_random;
|
||||
atomic_t tipc_user_count = ATOMIC_INIT(0);
|
||||
|
||||
const char tipc_alphabet[] =
|
||||
const char tipc_alphabet[] =
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.";
|
||||
|
||||
/* configurable TIPC parameters */
|
||||
@@ -171,13 +171,13 @@ int tipc_core_start(void)
|
||||
get_random_bytes(&tipc_random, sizeof(tipc_random));
|
||||
tipc_mode = TIPC_NODE_MODE;
|
||||
|
||||
if ((res = tipc_handler_start()) ||
|
||||
if ((res = tipc_handler_start()) ||
|
||||
(res = tipc_ref_table_init(tipc_max_ports + tipc_max_subscriptions,
|
||||
tipc_random)) ||
|
||||
(res = tipc_reg_start()) ||
|
||||
(res = tipc_nametbl_init()) ||
|
||||
(res = tipc_k_signal((Handler)tipc_subscr_start, 0)) ||
|
||||
(res = tipc_k_signal((Handler)tipc_cfg_init, 0)) ||
|
||||
(res = tipc_k_signal((Handler)tipc_subscr_start, 0)) ||
|
||||
(res = tipc_k_signal((Handler)tipc_cfg_init, 0)) ||
|
||||
(res = tipc_netlink_start()) ||
|
||||
(res = tipc_socket_init())) {
|
||||
tipc_core_stop();
|
||||
@@ -191,7 +191,7 @@ static int __init tipc_init(void)
|
||||
int res;
|
||||
|
||||
tipc_log_reinit(CONFIG_TIPC_LOG);
|
||||
info("Activated (version " TIPC_MOD_VER
|
||||
info("Activated (version " TIPC_MOD_VER
|
||||
" compiled " __DATE__ " " __TIME__ ")\n");
|
||||
|
||||
tipc_own_addr = 0;
|
||||
@@ -207,9 +207,9 @@ static int __init tipc_init(void)
|
||||
|
||||
if ((res = tipc_core_start()))
|
||||
err("Unable to start in single node mode\n");
|
||||
else
|
||||
else
|
||||
info("Started in single node mode\n");
|
||||
return res;
|
||||
return res;
|
||||
}
|
||||
|
||||
static void __exit tipc_exit(void)
|
||||
@@ -268,11 +268,11 @@ EXPORT_SYMBOL(tipc_available_nodes);
|
||||
/* TIPC API for external bearers (see tipc_bearer.h) */
|
||||
|
||||
EXPORT_SYMBOL(tipc_block_bearer);
|
||||
EXPORT_SYMBOL(tipc_continue);
|
||||
EXPORT_SYMBOL(tipc_continue);
|
||||
EXPORT_SYMBOL(tipc_disable_bearer);
|
||||
EXPORT_SYMBOL(tipc_enable_bearer);
|
||||
EXPORT_SYMBOL(tipc_recv_msg);
|
||||
EXPORT_SYMBOL(tipc_register_media);
|
||||
EXPORT_SYMBOL(tipc_register_media);
|
||||
|
||||
/* TIPC API for external APIs (see tipc_port.h) */
|
||||
|
||||
|
||||
+20
-20
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/core.h: Include file for TIPC global declarations
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2005-2006, Ericsson AB
|
||||
* Copyright (c) 2005-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -54,7 +54,7 @@
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/hardirq.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
@@ -88,7 +88,7 @@ void tipc_dump(struct print_buf*,const char *fmt, ...);
|
||||
#define dump(fmt, arg...) do {if (DBG_OUTPUT != TIPC_NULL) tipc_dump(DBG_OUTPUT, fmt, ##arg);} while(0)
|
||||
|
||||
|
||||
/*
|
||||
/*
|
||||
* By default, TIPC_OUTPUT is defined to be system console and TIPC log buffer,
|
||||
* while DBG_OUTPUT is the null print buffer. These defaults can be changed
|
||||
* here, or on a per .c file basis, by redefining these symbols. The following
|
||||
@@ -126,9 +126,9 @@ void tipc_dump(struct print_buf*,const char *fmt, ...);
|
||||
#define dump(fmt,arg...) do {} while (0)
|
||||
|
||||
|
||||
/*
|
||||
/*
|
||||
* TIPC_OUTPUT is defined to be the system console, while DBG_OUTPUT is
|
||||
* the null print buffer. Thes ensures that any system or debug messages
|
||||
* the null print buffer. Thes ensures that any system or debug messages
|
||||
* that are generated without using the above macros are handled correctly.
|
||||
*/
|
||||
|
||||
@@ -138,10 +138,10 @@ void tipc_dump(struct print_buf*,const char *fmt, ...);
|
||||
#undef DBG_OUTPUT
|
||||
#define DBG_OUTPUT TIPC_NULL
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
/*
|
||||
* TIPC-specific error codes
|
||||
*/
|
||||
|
||||
@@ -204,11 +204,11 @@ u32 tipc_k_signal(Handler routine, unsigned long argument);
|
||||
* @timer: pointer to timer structure
|
||||
* @routine: pointer to routine to invoke when timer expires
|
||||
* @argument: value to pass to routine when timer expires
|
||||
*
|
||||
*
|
||||
* Timer must be initialized before use (and terminated when no longer needed).
|
||||
*/
|
||||
|
||||
static inline void k_init_timer(struct timer_list *timer, Handler routine,
|
||||
static inline void k_init_timer(struct timer_list *timer, Handler routine,
|
||||
unsigned long argument)
|
||||
{
|
||||
dbg("initializing timer %p\n", timer);
|
||||
@@ -221,13 +221,13 @@ static inline void k_init_timer(struct timer_list *timer, Handler routine,
|
||||
* k_start_timer - start a timer
|
||||
* @timer: pointer to timer structure
|
||||
* @msec: time to delay (in ms)
|
||||
*
|
||||
*
|
||||
* Schedules a previously initialized timer for later execution.
|
||||
* If timer is already running, the new timeout overrides the previous request.
|
||||
*
|
||||
*
|
||||
* To ensure the timer doesn't expire before the specified delay elapses,
|
||||
* the amount of delay is rounded up when converting to the jiffies
|
||||
* then an additional jiffy is added to account for the fact that
|
||||
* then an additional jiffy is added to account for the fact that
|
||||
* the starting time may be in the middle of the current jiffy.
|
||||
*/
|
||||
|
||||
@@ -240,10 +240,10 @@ static inline void k_start_timer(struct timer_list *timer, unsigned long msec)
|
||||
/**
|
||||
* k_cancel_timer - cancel a timer
|
||||
* @timer: pointer to timer structure
|
||||
*
|
||||
* Cancels a previously initialized timer.
|
||||
*
|
||||
* Cancels a previously initialized timer.
|
||||
* Can be called safely even if the timer is already inactive.
|
||||
*
|
||||
*
|
||||
* WARNING: Must not be called when holding locks required by the timer's
|
||||
* timeout routine, otherwise deadlock can occur on SMP systems!
|
||||
*/
|
||||
@@ -257,11 +257,11 @@ static inline void k_cancel_timer(struct timer_list *timer)
|
||||
/**
|
||||
* k_term_timer - terminate a timer
|
||||
* @timer: pointer to timer structure
|
||||
*
|
||||
*
|
||||
* Prevents further use of a previously initialized timer.
|
||||
*
|
||||
*
|
||||
* WARNING: Caller must ensure timer isn't currently running.
|
||||
*
|
||||
*
|
||||
* (Do not "enhance" this routine to automatically cancel an active timer,
|
||||
* otherwise deadlock can arise when a timeout routine calls k_term_timer.)
|
||||
*/
|
||||
@@ -302,7 +302,7 @@ static inline struct tipc_msg *buf_msg(struct sk_buff *skb)
|
||||
* @size: message size (including TIPC header)
|
||||
*
|
||||
* Returns a new buffer with data pointers set to the specified size.
|
||||
*
|
||||
*
|
||||
* NOTE: Headroom is reserved to allow prepending of a data link header.
|
||||
* There may also be unrequested tailroom present at the buffer's end.
|
||||
*/
|
||||
@@ -334,4 +334,4 @@ static inline void buf_discard(struct sk_buff *skb)
|
||||
kfree_skb(skb);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+28
-28
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/dbg.c: TIPC print buffer routines for debugging
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1996-2006, Ericsson AB
|
||||
* Copyright (c) 2005-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -123,34 +123,34 @@ int tipc_printbuf_empty(struct print_buf *pb)
|
||||
/**
|
||||
* tipc_printbuf_validate - check for print buffer overflow
|
||||
* @pb: pointer to print buffer structure
|
||||
*
|
||||
* Verifies that a print buffer has captured all data written to it.
|
||||
*
|
||||
* Verifies that a print buffer has captured all data written to it.
|
||||
* If data has been lost, linearize buffer and prepend an error message
|
||||
*
|
||||
*
|
||||
* Returns length of print buffer data string (including trailing NUL)
|
||||
*/
|
||||
|
||||
int tipc_printbuf_validate(struct print_buf *pb)
|
||||
{
|
||||
char *err = "\n\n*** PRINT BUFFER OVERFLOW ***\n\n";
|
||||
char *cp_buf;
|
||||
struct print_buf cb;
|
||||
char *err = "\n\n*** PRINT BUFFER OVERFLOW ***\n\n";
|
||||
char *cp_buf;
|
||||
struct print_buf cb;
|
||||
|
||||
if (!pb->buf)
|
||||
return 0;
|
||||
|
||||
if (pb->buf[pb->size - 1] == 0) {
|
||||
cp_buf = kmalloc(pb->size, GFP_ATOMIC);
|
||||
if (cp_buf != NULL){
|
||||
tipc_printbuf_init(&cb, cp_buf, pb->size);
|
||||
tipc_printbuf_move(&cb, pb);
|
||||
tipc_printbuf_move(pb, &cb);
|
||||
kfree(cp_buf);
|
||||
memcpy(pb->buf, err, strlen(err));
|
||||
} else {
|
||||
tipc_printbuf_reset(pb);
|
||||
tipc_printf(pb, err);
|
||||
}
|
||||
cp_buf = kmalloc(pb->size, GFP_ATOMIC);
|
||||
if (cp_buf != NULL){
|
||||
tipc_printbuf_init(&cb, cp_buf, pb->size);
|
||||
tipc_printbuf_move(&cb, pb);
|
||||
tipc_printbuf_move(pb, &cb);
|
||||
kfree(cp_buf);
|
||||
memcpy(pb->buf, err, strlen(err));
|
||||
} else {
|
||||
tipc_printbuf_reset(pb);
|
||||
tipc_printf(pb, err);
|
||||
}
|
||||
}
|
||||
return (pb->crs - pb->buf + 1);
|
||||
}
|
||||
@@ -159,7 +159,7 @@ int tipc_printbuf_validate(struct print_buf *pb)
|
||||
* tipc_printbuf_move - move print buffer contents to another print buffer
|
||||
* @pb_to: pointer to destination print buffer structure
|
||||
* @pb_from: pointer to source print buffer structure
|
||||
*
|
||||
*
|
||||
* Current contents of destination print buffer (if any) are discarded.
|
||||
* Source print buffer becomes empty if a successful move occurs.
|
||||
*/
|
||||
@@ -234,13 +234,13 @@ void tipc_printf(struct print_buf *pb, const char *fmt, ...)
|
||||
pb->crs = pb->buf + pb->size - 1;
|
||||
} else {
|
||||
strcpy(pb->buf, print_string + chars_left);
|
||||
save_char = print_string[chars_left];
|
||||
print_string[chars_left] = 0;
|
||||
strcpy(pb->crs, print_string);
|
||||
print_string[chars_left] = save_char;
|
||||
pb->crs = pb->buf + chars_to_add - chars_left;
|
||||
}
|
||||
}
|
||||
save_char = print_string[chars_left];
|
||||
print_string[chars_left] = 0;
|
||||
strcpy(pb->crs, print_string);
|
||||
print_string[chars_left] = save_char;
|
||||
pb->crs = pb->buf + chars_to_add - chars_left;
|
||||
}
|
||||
}
|
||||
pb_next = pb->next;
|
||||
pb->next = NULL;
|
||||
pb = pb_next;
|
||||
@@ -249,7 +249,7 @@ void tipc_printf(struct print_buf *pb, const char *fmt, ...)
|
||||
}
|
||||
|
||||
/**
|
||||
* TIPC_TEE - perform next output operation on both print buffers
|
||||
* TIPC_TEE - perform next output operation on both print buffers
|
||||
* @b0: pointer to chain of print buffers (may be NULL)
|
||||
* @b1: pointer to print buffer to add to chain
|
||||
*
|
||||
@@ -350,7 +350,7 @@ void tipc_dump(struct print_buf *pb, const char *fmt, ...)
|
||||
}
|
||||
|
||||
/**
|
||||
* tipc_log_stop - free up TIPC log print buffer
|
||||
* tipc_log_stop - free up TIPC log print buffer
|
||||
*/
|
||||
|
||||
void tipc_log_stop(void)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/dbg.h: Include file for TIPC print buffer routines
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1997-2006, Ericsson AB
|
||||
* Copyright (c) 2005-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
|
||||
+25
-25
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/discover.c
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2003-2006, Ericsson AB
|
||||
* Copyright (c) 2005-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -56,10 +56,10 @@
|
||||
#define CHECK_LINK_COUNT 306
|
||||
#endif
|
||||
|
||||
/*
|
||||
/*
|
||||
* TODO: Most of the inter-cluster setup stuff should be
|
||||
* rewritten, and be made conformant with specification.
|
||||
*/
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
@@ -80,10 +80,10 @@ struct link_req {
|
||||
|
||||
|
||||
#if 0
|
||||
int disc_create_link(const struct tipc_link_create *argv)
|
||||
int disc_create_link(const struct tipc_link_create *argv)
|
||||
{
|
||||
/*
|
||||
* Code for inter cluster link setup here
|
||||
/*
|
||||
* Code for inter cluster link setup here
|
||||
*/
|
||||
return TIPC_OK;
|
||||
}
|
||||
@@ -93,16 +93,16 @@ int disc_create_link(const struct tipc_link_create *argv)
|
||||
* disc_lost_link(): A link has lost contact
|
||||
*/
|
||||
|
||||
void tipc_disc_link_event(u32 addr, char *name, int up)
|
||||
void tipc_disc_link_event(u32 addr, char *name, int up)
|
||||
{
|
||||
if (in_own_cluster(addr))
|
||||
return;
|
||||
/*
|
||||
* Code for inter cluster link setup here
|
||||
/*
|
||||
* Code for inter cluster link setup here
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* tipc_disc_init_msg - initialize a link setup message
|
||||
* @type: message type (request or response)
|
||||
* @req_links: number of links associated with message
|
||||
@@ -210,7 +210,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf)
|
||||
dbg("creating link\n");
|
||||
link = tipc_link_create(b_ptr, orig, &media_addr);
|
||||
if (!link) {
|
||||
spin_unlock_bh(&n_ptr->lock);
|
||||
spin_unlock_bh(&n_ptr->lock);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -224,10 +224,10 @@ void tipc_disc_recv_msg(struct sk_buff *buf)
|
||||
warn("Resetting link <%s>, peer interface address changed\n",
|
||||
link->name);
|
||||
memcpy(addr, &media_addr, sizeof(*addr));
|
||||
tipc_link_reset(link);
|
||||
tipc_link_reset(link);
|
||||
}
|
||||
link_fully_up = (link->state == WORKING_WORKING);
|
||||
spin_unlock_bh(&n_ptr->lock);
|
||||
spin_unlock_bh(&n_ptr->lock);
|
||||
if ((type == DSC_RESP_MSG) || link_fully_up)
|
||||
return;
|
||||
rbuf = tipc_disc_init_msg(DSC_RESP_MSG, 1, orig, b_ptr);
|
||||
@@ -244,23 +244,23 @@ void tipc_disc_recv_msg(struct sk_buff *buf)
|
||||
* @req: ptr to link request structure
|
||||
*/
|
||||
|
||||
void tipc_disc_stop_link_req(struct link_req *req)
|
||||
void tipc_disc_stop_link_req(struct link_req *req)
|
||||
{
|
||||
if (!req)
|
||||
return;
|
||||
|
||||
|
||||
k_cancel_timer(&req->timer);
|
||||
k_term_timer(&req->timer);
|
||||
buf_discard(req->buf);
|
||||
kfree(req);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* tipc_disc_update_link_req - update frequency of periodic link setup requests
|
||||
* @req: ptr to link request structure
|
||||
*/
|
||||
|
||||
void tipc_disc_update_link_req(struct link_req *req)
|
||||
void tipc_disc_update_link_req(struct link_req *req)
|
||||
{
|
||||
if (!req)
|
||||
return;
|
||||
@@ -278,16 +278,16 @@ void tipc_disc_update_link_req(struct link_req *req)
|
||||
} else {
|
||||
/* leave timer "as is" if haven't yet reached a "normal" rate */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* disc_timeout - send a periodic link setup request
|
||||
* @req: ptr to link request structure
|
||||
*
|
||||
*
|
||||
* 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 link_req *req)
|
||||
{
|
||||
spin_lock_bh(&req->bearer->publ.lock);
|
||||
|
||||
@@ -300,7 +300,7 @@ static void disc_timeout(struct link_req *req)
|
||||
req->timer_intv *= 2;
|
||||
if (req->timer_intv > TIPC_LINK_REQ_FAST)
|
||||
req->timer_intv = TIPC_LINK_REQ_FAST;
|
||||
if ((req->timer_intv == TIPC_LINK_REQ_FAST) &&
|
||||
if ((req->timer_intv == TIPC_LINK_REQ_FAST) &&
|
||||
(req->bearer->nodes.count))
|
||||
req->timer_intv = TIPC_LINK_REQ_SLOW;
|
||||
}
|
||||
@@ -315,14 +315,14 @@ static void disc_timeout(struct link_req *req)
|
||||
* @dest: destination address for request messages
|
||||
* @dest_domain: network domain of node(s) which should respond to message
|
||||
* @req_links: max number of desired links
|
||||
*
|
||||
*
|
||||
* Returns pointer to link request structure, or NULL if unable to create.
|
||||
*/
|
||||
|
||||
struct link_req *tipc_disc_init_link_req(struct bearer *b_ptr,
|
||||
struct link_req *tipc_disc_init_link_req(struct bearer *b_ptr,
|
||||
const struct tipc_media_addr *dest,
|
||||
u32 dest_domain,
|
||||
u32 req_links)
|
||||
u32 req_links)
|
||||
{
|
||||
struct link_req *req;
|
||||
|
||||
@@ -342,5 +342,5 @@ struct link_req *tipc_disc_init_link_req(struct bearer *b_ptr,
|
||||
k_init_timer(&req->timer, (Handler)disc_timeout, (unsigned long)req);
|
||||
k_start_timer(&req->timer, req->timer_intv);
|
||||
return req;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
|
||||
struct link_req;
|
||||
|
||||
struct link_req *tipc_disc_init_link_req(struct bearer *b_ptr,
|
||||
struct link_req *tipc_disc_init_link_req(struct bearer *b_ptr,
|
||||
const struct tipc_media_addr *dest,
|
||||
u32 dest_domain,
|
||||
u32 req_links);
|
||||
|
||||
+29
-29
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/eth_media.c: Ethernet bearer support for TIPC
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2001-2006, Ericsson AB
|
||||
* Copyright (c) 2005-2006, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -50,7 +50,7 @@
|
||||
* @dev: ptr to associated Ethernet network device
|
||||
* @tipc_packet_type: used in binding TIPC to Ethernet driver
|
||||
*/
|
||||
|
||||
|
||||
struct eth_bearer {
|
||||
struct tipc_bearer *bearer;
|
||||
struct net_device *dev;
|
||||
@@ -62,10 +62,10 @@ static int eth_started = 0;
|
||||
static struct notifier_block notifier;
|
||||
|
||||
/**
|
||||
* send_msg - send a TIPC message out over an Ethernet interface
|
||||
* send_msg - send a TIPC message out over an Ethernet interface
|
||||
*/
|
||||
|
||||
static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr,
|
||||
static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr,
|
||||
struct tipc_media_addr *dest)
|
||||
{
|
||||
struct sk_buff *clone;
|
||||
@@ -76,7 +76,7 @@ static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr,
|
||||
clone->nh.raw = clone->data;
|
||||
dev = ((struct eth_bearer *)(tb_ptr->usr_handle))->dev;
|
||||
clone->dev = dev;
|
||||
dev->hard_header(clone, dev, ETH_P_TIPC,
|
||||
dev->hard_header(clone, dev, ETH_P_TIPC,
|
||||
&dest->dev_addr.eth_addr,
|
||||
dev->dev_addr, clone->len);
|
||||
dev_queue_xmit(clone);
|
||||
@@ -86,12 +86,12 @@ static int send_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr,
|
||||
|
||||
/**
|
||||
* recv_msg - handle incoming TIPC message from an Ethernet interface
|
||||
*
|
||||
*
|
||||
* Routine truncates any Ethernet padding/CRC appended to the message,
|
||||
* and ensures message size matches actual length
|
||||
*/
|
||||
|
||||
static int recv_msg(struct sk_buff *buf, struct net_device *dev,
|
||||
static int recv_msg(struct sk_buff *buf, struct net_device *dev,
|
||||
struct packet_type *pt, struct net_device *orig_dev)
|
||||
{
|
||||
struct eth_bearer *eb_ptr = (struct eth_bearer *)pt->af_packet_priv;
|
||||
@@ -99,14 +99,14 @@ static int recv_msg(struct sk_buff *buf, struct net_device *dev,
|
||||
|
||||
if (likely(eb_ptr->bearer)) {
|
||||
if (likely(!dev->promiscuity) ||
|
||||
!memcmp(buf->mac.raw,dev->dev_addr,ETH_ALEN) ||
|
||||
!memcmp(buf->mac.raw,dev->broadcast,ETH_ALEN)) {
|
||||
size = msg_size((struct tipc_msg *)buf->data);
|
||||
skb_trim(buf, size);
|
||||
if (likely(buf->len == size)) {
|
||||
buf->next = NULL;
|
||||
tipc_recv_msg(buf, eb_ptr->bearer);
|
||||
return TIPC_OK;
|
||||
!memcmp(buf->mac.raw,dev->dev_addr,ETH_ALEN) ||
|
||||
!memcmp(buf->mac.raw,dev->broadcast,ETH_ALEN)) {
|
||||
size = msg_size((struct tipc_msg *)buf->data);
|
||||
skb_trim(buf, size);
|
||||
if (likely(buf->len == size)) {
|
||||
buf->next = NULL;
|
||||
tipc_recv_msg(buf, eb_ptr->bearer);
|
||||
return TIPC_OK;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -115,7 +115,7 @@ static int recv_msg(struct sk_buff *buf, struct net_device *dev,
|
||||
}
|
||||
|
||||
/**
|
||||
* enable_bearer - attach TIPC bearer to an Ethernet interface
|
||||
* enable_bearer - attach TIPC bearer to an Ethernet interface
|
||||
*/
|
||||
|
||||
static int enable_bearer(struct tipc_bearer *tb_ptr)
|
||||
@@ -127,7 +127,7 @@ static int enable_bearer(struct tipc_bearer *tb_ptr)
|
||||
|
||||
/* Find device with specified name */
|
||||
|
||||
while (dev && dev->name && strncmp(dev->name, driver_name, IFNAMSIZ)) {
|
||||
while (dev && dev->name && strncmp(dev->name, driver_name, IFNAMSIZ)) {
|
||||
dev = dev->next;
|
||||
}
|
||||
if (!dev)
|
||||
@@ -154,14 +154,14 @@ static int enable_bearer(struct tipc_bearer *tb_ptr)
|
||||
eb_ptr->bearer = tb_ptr;
|
||||
tb_ptr->usr_handle = (void *)eb_ptr;
|
||||
tb_ptr->mtu = dev->mtu;
|
||||
tb_ptr->blocked = 0;
|
||||
tb_ptr->blocked = 0;
|
||||
tb_ptr->addr.type = htonl(TIPC_MEDIA_TYPE_ETH);
|
||||
memcpy(&tb_ptr->addr.dev_addr, &dev->dev_addr, ETH_ALEN);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* disable_bearer - detach TIPC bearer from an Ethernet interface
|
||||
* disable_bearer - detach TIPC bearer from an Ethernet interface
|
||||
*
|
||||
* We really should do dev_remove_pack() here, but this function can not be
|
||||
* called at tasklet level. => Use eth_bearer->bearer as a flag to throw away
|
||||
@@ -176,11 +176,11 @@ static void disable_bearer(struct tipc_bearer *tb_ptr)
|
||||
/**
|
||||
* recv_notification - handle device updates from OS
|
||||
*
|
||||
* Change the state of the Ethernet bearer (if any) associated with the
|
||||
* Change the state of the Ethernet bearer (if any) associated with the
|
||||
* specified device.
|
||||
*/
|
||||
|
||||
static int recv_notification(struct notifier_block *nb, unsigned long evt,
|
||||
static int recv_notification(struct notifier_block *nb, unsigned long evt,
|
||||
void *dv)
|
||||
{
|
||||
struct net_device *dev = (struct net_device *)dv;
|
||||
@@ -194,7 +194,7 @@ static int recv_notification(struct notifier_block *nb, unsigned long evt,
|
||||
if (!eb_ptr->bearer)
|
||||
return NOTIFY_DONE; /* bearer had been disabled */
|
||||
|
||||
eb_ptr->bearer->mtu = dev->mtu;
|
||||
eb_ptr->bearer->mtu = dev->mtu;
|
||||
|
||||
switch (evt) {
|
||||
case NETDEV_CHANGE:
|
||||
@@ -210,12 +210,12 @@ static int recv_notification(struct notifier_block *nb, unsigned long evt,
|
||||
tipc_block_bearer(eb_ptr->bearer->name);
|
||||
break;
|
||||
case NETDEV_CHANGEMTU:
|
||||
case NETDEV_CHANGEADDR:
|
||||
case NETDEV_CHANGEADDR:
|
||||
tipc_block_bearer(eb_ptr->bearer->name);
|
||||
tipc_continue(eb_ptr->bearer);
|
||||
tipc_continue(eb_ptr->bearer);
|
||||
break;
|
||||
case NETDEV_UNREGISTER:
|
||||
case NETDEV_CHANGENAME:
|
||||
case NETDEV_CHANGENAME:
|
||||
tipc_disable_bearer(eb_ptr->bearer->name);
|
||||
break;
|
||||
}
|
||||
@@ -227,7 +227,7 @@ static int recv_notification(struct notifier_block *nb, unsigned long evt,
|
||||
*/
|
||||
|
||||
static char *eth_addr2str(struct tipc_media_addr *a, char *str_buf, int str_size)
|
||||
{
|
||||
{
|
||||
unchar *addr = (unchar *)&a->dev_addr;
|
||||
|
||||
if (str_size < 18)
|
||||
@@ -246,7 +246,7 @@ static char *eth_addr2str(struct tipc_media_addr *a, char *str_buf, int str_size
|
||||
*/
|
||||
|
||||
int tipc_eth_media_start(void)
|
||||
{
|
||||
{
|
||||
struct tipc_media_addr bcast_addr;
|
||||
int res;
|
||||
|
||||
@@ -259,8 +259,8 @@ int tipc_eth_media_start(void)
|
||||
memset(eth_bearers, 0, sizeof(eth_bearers));
|
||||
|
||||
res = tipc_register_media(TIPC_MEDIA_TYPE_ETH, "eth",
|
||||
enable_bearer, disable_bearer, send_msg,
|
||||
eth_addr2str, &bcast_addr, ETH_LINK_PRIORITY,
|
||||
enable_bearer, disable_bearer, send_msg,
|
||||
eth_addr2str, &bcast_addr, ETH_LINK_PRIORITY,
|
||||
ETH_LINK_TOLERANCE, ETH_LINK_WINDOW);
|
||||
if (res)
|
||||
return res;
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/handler.c: TIPC signal handling
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2000-2006, Ericsson AB
|
||||
* Copyright (c) 2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -95,7 +95,7 @@ static void process_signal_queue(unsigned long dummy)
|
||||
|
||||
int tipc_handler_start(void)
|
||||
{
|
||||
tipc_queue_item_cache =
|
||||
tipc_queue_item_cache =
|
||||
kmem_cache_create("tipc_queue_items", sizeof(struct queue_item),
|
||||
0, SLAB_HWCACHE_ALIGN, NULL, NULL);
|
||||
if (!tipc_queue_item_cache)
|
||||
@@ -110,7 +110,7 @@ int tipc_handler_start(void)
|
||||
void tipc_handler_stop(void)
|
||||
{
|
||||
struct list_head *l, *n;
|
||||
struct queue_item *item;
|
||||
struct queue_item *item;
|
||||
|
||||
if (!handler_enabled)
|
||||
return;
|
||||
|
||||
+197
-197
File diff suppressed because it is too large
Load Diff
+16
-16
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* net/tipc/link.h: Include file for TIPC link code
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1995-2006, Ericsson AB
|
||||
* Copyright (c) 2004-2005, Wind River Systems
|
||||
* All rights reserved.
|
||||
@@ -45,8 +45,8 @@
|
||||
#define PUSH_FAILED 1
|
||||
#define PUSH_FINISHED 2
|
||||
|
||||
/*
|
||||
* Link states
|
||||
/*
|
||||
* Link states
|
||||
*/
|
||||
|
||||
#define WORKING_WORKING 560810u
|
||||
@@ -54,7 +54,7 @@
|
||||
#define RESET_UNKNOWN 560812u
|
||||
#define RESET_RESET 560813u
|
||||
|
||||
/*
|
||||
/*
|
||||
* Starting value for maximum packet size negotiation on unicast links
|
||||
* (unless bearer MTU is less)
|
||||
*/
|
||||
@@ -74,7 +74,7 @@
|
||||
* @peer_session: link session # being used by peer end of link
|
||||
* @peer_bearer_id: bearer id used by link's peer endpoint
|
||||
* @b_ptr: pointer to bearer used by link
|
||||
* @tolerance: minimum link continuity loss needed to reset link [in ms]
|
||||
* @tolerance: minimum link continuity loss needed to reset link [in ms]
|
||||
* @continuity_interval: link continuity testing interval [in ms]
|
||||
* @abort_limit: # of unacknowledged continuity probes needed to reset link
|
||||
* @state: current state of link FSM
|
||||
@@ -110,7 +110,7 @@
|
||||
* @stats: collects statistics regarding link activity
|
||||
* @print_buf: print buffer used to log link activity
|
||||
*/
|
||||
|
||||
|
||||
struct link {
|
||||
u32 addr;
|
||||
char name[TIPC_MAX_LINK_NAME];
|
||||
@@ -143,18 +143,18 @@ struct link {
|
||||
u32 exp_msg_count;
|
||||
u32 reset_checkpoint;
|
||||
|
||||
/* Max packet negotiation */
|
||||
u32 max_pkt;
|
||||
u32 max_pkt_target;
|
||||
u32 max_pkt_probes;
|
||||
/* Max packet negotiation */
|
||||
u32 max_pkt;
|
||||
u32 max_pkt_target;
|
||||
u32 max_pkt_probes;
|
||||
|
||||
/* Sending */
|
||||
u32 out_queue_size;
|
||||
struct sk_buff *first_out;
|
||||
struct sk_buff *last_out;
|
||||
u32 next_out_no;
|
||||
u32 last_retransmitted;
|
||||
u32 stale_count;
|
||||
u32 last_retransmitted;
|
||||
u32 stale_count;
|
||||
|
||||
/* Reception */
|
||||
u32 next_in_no;
|
||||
@@ -174,7 +174,7 @@ struct link {
|
||||
u32 long_msg_seq_no;
|
||||
struct sk_buff *defragm_buf;
|
||||
|
||||
/* Statistics */
|
||||
/* Statistics */
|
||||
struct {
|
||||
u32 sent_info; /* used in counting # sent packets */
|
||||
u32 recv_info; /* used in counting # recv'd packets */
|
||||
@@ -239,9 +239,9 @@ void tipc_link_reset(struct link *l_ptr);
|
||||
int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector);
|
||||
int tipc_link_send_buf(struct link *l_ptr, struct sk_buff *buf);
|
||||
u32 tipc_link_get_max_pkt(u32 dest,u32 selector);
|
||||
int tipc_link_send_sections_fast(struct port* sender,
|
||||
int tipc_link_send_sections_fast(struct port* sender,
|
||||
struct iovec const *msg_sect,
|
||||
const u32 num_sect,
|
||||
const u32 num_sect,
|
||||
u32 destnode);
|
||||
int tipc_link_send_long_buf(struct link *l_ptr, struct sk_buff *buf);
|
||||
void tipc_link_tunnel(struct link *l_ptr, struct tipc_msg *tnl_hdr,
|
||||
@@ -250,7 +250,7 @@ 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,
|
||||
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);
|
||||
u32 tipc_link_defer_pkt(struct sk_buff **head, struct sk_buff **tail,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user