Skip to content

Commit

Permalink
tipc: Remove support for per-connection message sequence numbering
Browse files Browse the repository at this point in the history
Eliminates TIPC's prototype support for message sequence numbering
on routable connections (i.e. connections requiring more than one hop).
This capability isn't currently used, and can be removed since TIPC
only supports systems in which all inter-node communication can be
achieved in a single hop.

Signed-off-by: Allan Stephens <[email protected]>
Signed-off-by: Paul Gortmaker <[email protected]>
  • Loading branch information
ajstephens authored and Paul Gortmaker committed Feb 23, 2011
1 parent 214dda4 commit 741de3e
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 46 deletions.
6 changes: 1 addition & 5 deletions net/tipc/msg.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* net/tipc/msg.c: TIPC message header routines
*
* Copyright (c) 2000-2006, Ericsson AB
* Copyright (c) 2005, Wind River Systems
* Copyright (c) 2005, 2010-2011, Wind River Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -381,14 +381,10 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str)
tipc_printf(buf, ":OPRT(%u):", msg_origport(msg));
tipc_printf(buf, ":DPRT(%u):", msg_destport(msg));
}
if (msg_routed(msg) && !msg_non_seq(msg))
tipc_printf(buf, ":TSEQN(%u)", msg_transp_seqno(msg));
}
if (msg_user(msg) == NAME_DISTRIBUTOR) {
tipc_printf(buf, ":ONOD(%x):", msg_orignode(msg));
tipc_printf(buf, ":DNOD(%x):", msg_destnode(msg));
if (msg_routed(msg))
tipc_printf(buf, ":CSEQN(%u)", msg_transp_seqno(msg));
}

if (msg_user(msg) == LINK_CONFIG) {
Expand Down
12 changes: 1 addition & 11 deletions net/tipc/msg.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* net/tipc/msg.h: Include file for TIPC message header routines
*
* Copyright (c) 2000-2007, Ericsson AB
* Copyright (c) 2005-2008, Wind River Systems
* Copyright (c) 2005-2008, 2010-2011, Wind River Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -438,11 +438,6 @@ static inline void msg_set_nametype(struct tipc_msg *m, u32 n)
msg_set_word(m, 8, n);
}

static inline u32 msg_transp_seqno(struct tipc_msg *m)
{
return msg_word(m, 8);
}

static inline void msg_set_timestamp(struct tipc_msg *m, u32 n)
{
msg_set_word(m, 8, n);
Expand All @@ -453,11 +448,6 @@ static inline u32 msg_timestamp(struct tipc_msg *m)
return msg_word(m, 8);
}

static inline void msg_set_transp_seqno(struct tipc_msg *m, u32 n)
{
msg_set_word(m, 8, n);
}

static inline u32 msg_nameinst(struct tipc_msg *m)
{
return msg_word(m, 9);
Expand Down
29 changes: 1 addition & 28 deletions net/tipc/port.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,20 +69,6 @@ static u32 port_peerport(struct tipc_port *p_ptr)
return msg_destport(&p_ptr->phdr);
}

static u32 port_out_seqno(struct tipc_port *p_ptr)
{
return msg_transp_seqno(&p_ptr->phdr);
}

static void port_incr_out_seqno(struct tipc_port *p_ptr)
{
struct tipc_msg *m = &p_ptr->phdr;

if (likely(!msg_routed(m)))
return;
msg_set_transp_seqno(m, (msg_transp_seqno(m) + 1));
}

/**
* tipc_multicast - send a multicast message to local and remote destinations
*/
Expand Down Expand Up @@ -233,7 +219,6 @@ struct tipc_port *tipc_createport_raw(void *usr_handle,
msg = &p_ptr->phdr;
tipc_msg_init(msg, importance, TIPC_NAMED_MSG, LONG_H_SIZE, 0);
msg_set_origport(msg, ref);
p_ptr->last_in_seqno = 41;
INIT_LIST_HEAD(&p_ptr->wait_list);
INIT_LIST_HEAD(&p_ptr->subscription.nodesub_list);
p_ptr->dispatcher = dispatcher;
Expand Down Expand Up @@ -344,7 +329,7 @@ int tipc_set_portunreturnable(u32 ref, unsigned int isunrejectable)
static struct sk_buff *port_build_proto_msg(u32 destport, u32 destnode,
u32 origport, u32 orignode,
u32 usr, u32 type, u32 err,
u32 seqno, u32 ack)
u32 ack)
{
struct sk_buff *buf;
struct tipc_msg *msg;
Expand All @@ -357,7 +342,6 @@ static struct sk_buff *port_build_proto_msg(u32 destport, u32 destnode,
msg_set_destport(msg, destport);
msg_set_origport(msg, origport);
msg_set_orignode(msg, orignode);
msg_set_transp_seqno(msg, seqno);
msg_set_msgcnt(msg, ack);
}
return buf;
Expand Down Expand Up @@ -467,9 +451,7 @@ static void port_timeout(unsigned long ref)
CONN_MANAGER,
CONN_PROBE,
TIPC_OK,
port_out_seqno(p_ptr),
0);
port_incr_out_seqno(p_ptr);
p_ptr->probing_state = PROBING;
k_start_timer(&p_ptr->timer, p_ptr->probing_interval);
}
Expand Down Expand Up @@ -506,7 +488,6 @@ static struct sk_buff *port_build_self_abort_msg(struct tipc_port *p_ptr, u32 er
imp,
TIPC_CONN_MSG,
err,
p_ptr->last_in_seqno + 1,
0);
}

Expand All @@ -526,7 +507,6 @@ static struct sk_buff *port_build_peer_abort_msg(struct tipc_port *p_ptr, u32 er
imp,
TIPC_CONN_MSG,
err,
port_out_seqno(p_ptr),
0);
}

Expand Down Expand Up @@ -568,7 +548,6 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf)
TIPC_HIGH_IMPORTANCE,
TIPC_CONN_MSG,
err,
0,
0);
goto exit;
}
Expand All @@ -582,11 +561,9 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf)
CONN_MANAGER,
CONN_PROBE_REPLY,
TIPC_OK,
port_out_seqno(p_ptr),
0);
}
p_ptr->probing_state = CONFIRMED;
port_incr_out_seqno(p_ptr);
exit:
if (p_ptr)
tipc_port_unlock(p_ptr);
Expand Down Expand Up @@ -914,7 +891,6 @@ void tipc_acknowledge(u32 ref, u32 ack)
CONN_MANAGER,
CONN_ACK,
TIPC_OK,
port_out_seqno(p_ptr),
ack);
}
tipc_port_unlock(p_ptr);
Expand Down Expand Up @@ -1088,7 +1064,6 @@ int tipc_connect2port(u32 ref, struct tipc_portid const *peer)
msg_set_destport(msg, peer->ref);
msg_set_orignode(msg, tipc_own_addr);
msg_set_origport(msg, p_ptr->ref);
msg_set_transp_seqno(msg, 42);
msg_set_type(msg, TIPC_CONN_MSG);
msg_set_hdr_sz(msg, SHORT_H_SIZE);

Expand Down Expand Up @@ -1170,7 +1145,6 @@ int tipc_shutdown(u32 ref)
imp,
TIPC_CONN_MSG,
TIPC_CONN_SHUTDOWN,
port_out_seqno(p_ptr),
0);
}
tipc_port_unlock(p_ptr);
Expand Down Expand Up @@ -1220,7 +1194,6 @@ int tipc_send(u32 ref, unsigned int num_sect, struct iovec const *msg_sect)
res = tipc_port_recv_sections(p_ptr, num_sect, msg_sect);

if (likely(res != -ELINKCONG)) {
port_incr_out_seqno(p_ptr);
p_ptr->congested = 0;
if (res > 0)
p_ptr->sent++;
Expand Down
2 changes: 0 additions & 2 deletions net/tipc/port.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,6 @@ struct user_port {
* @pub_count: total # of publications port has made during its lifetime
* @probing_state:
* @probing_interval:
* @last_in_seqno:
* @timer_ref:
* @subscription: "node down" subscription used to terminate failed connections
*/
Expand Down Expand Up @@ -147,7 +146,6 @@ struct tipc_port {
u32 pub_count;
u32 probing_state;
u32 probing_interval;
u32 last_in_seqno;
struct timer_list timer;
struct tipc_node_subscr subscription;
};
Expand Down

0 comments on commit 741de3e

Please sign in to comment.