Commit 741de3e9 authored by Allan Stephens's avatar Allan Stephens Committed by Paul Gortmaker

tipc: Remove support for per-connection message sequence numbering

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: default avatarAllan Stephens <Allan.Stephens@windriver.com>
Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
parent 214dda4a
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* net/tipc/msg.c: TIPC message header routines * net/tipc/msg.c: TIPC message header routines
* *
* Copyright (c) 2000-2006, Ericsson AB * Copyright (c) 2000-2006, Ericsson AB
* Copyright (c) 2005, Wind River Systems * Copyright (c) 2005, 2010-2011, Wind River Systems
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
...@@ -381,14 +381,10 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) ...@@ -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, ":OPRT(%u):", msg_origport(msg));
tipc_printf(buf, ":DPRT(%u):", msg_destport(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) { if (msg_user(msg) == NAME_DISTRIBUTOR) {
tipc_printf(buf, ":ONOD(%x):", msg_orignode(msg)); tipc_printf(buf, ":ONOD(%x):", msg_orignode(msg));
tipc_printf(buf, ":DNOD(%x):", msg_destnode(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) { if (msg_user(msg) == LINK_CONFIG) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* net/tipc/msg.h: Include file for TIPC message header routines * net/tipc/msg.h: Include file for TIPC message header routines
* *
* Copyright (c) 2000-2007, Ericsson AB * 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. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
...@@ -438,11 +438,6 @@ static inline void msg_set_nametype(struct tipc_msg *m, u32 n) ...@@ -438,11 +438,6 @@ static inline void msg_set_nametype(struct tipc_msg *m, u32 n)
msg_set_word(m, 8, 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) static inline void msg_set_timestamp(struct tipc_msg *m, u32 n)
{ {
msg_set_word(m, 8, n); msg_set_word(m, 8, n);
...@@ -453,11 +448,6 @@ static inline u32 msg_timestamp(struct tipc_msg *m) ...@@ -453,11 +448,6 @@ static inline u32 msg_timestamp(struct tipc_msg *m)
return msg_word(m, 8); 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) static inline u32 msg_nameinst(struct tipc_msg *m)
{ {
return msg_word(m, 9); return msg_word(m, 9);
......
...@@ -69,20 +69,6 @@ static u32 port_peerport(struct tipc_port *p_ptr) ...@@ -69,20 +69,6 @@ static u32 port_peerport(struct tipc_port *p_ptr)
return msg_destport(&p_ptr->phdr); 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 * tipc_multicast - send a multicast message to local and remote destinations
*/ */
...@@ -233,7 +219,6 @@ struct tipc_port *tipc_createport_raw(void *usr_handle, ...@@ -233,7 +219,6 @@ struct tipc_port *tipc_createport_raw(void *usr_handle,
msg = &p_ptr->phdr; msg = &p_ptr->phdr;
tipc_msg_init(msg, importance, TIPC_NAMED_MSG, LONG_H_SIZE, 0); tipc_msg_init(msg, importance, TIPC_NAMED_MSG, LONG_H_SIZE, 0);
msg_set_origport(msg, ref); msg_set_origport(msg, ref);
p_ptr->last_in_seqno = 41;
INIT_LIST_HEAD(&p_ptr->wait_list); INIT_LIST_HEAD(&p_ptr->wait_list);
INIT_LIST_HEAD(&p_ptr->subscription.nodesub_list); INIT_LIST_HEAD(&p_ptr->subscription.nodesub_list);
p_ptr->dispatcher = dispatcher; p_ptr->dispatcher = dispatcher;
...@@ -344,7 +329,7 @@ int tipc_set_portunreturnable(u32 ref, unsigned int isunrejectable) ...@@ -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, static struct sk_buff *port_build_proto_msg(u32 destport, u32 destnode,
u32 origport, u32 orignode, u32 origport, u32 orignode,
u32 usr, u32 type, u32 err, u32 usr, u32 type, u32 err,
u32 seqno, u32 ack) u32 ack)
{ {
struct sk_buff *buf; struct sk_buff *buf;
struct tipc_msg *msg; struct tipc_msg *msg;
...@@ -357,7 +342,6 @@ static struct sk_buff *port_build_proto_msg(u32 destport, u32 destnode, ...@@ -357,7 +342,6 @@ static struct sk_buff *port_build_proto_msg(u32 destport, u32 destnode,
msg_set_destport(msg, destport); msg_set_destport(msg, destport);
msg_set_origport(msg, origport); msg_set_origport(msg, origport);
msg_set_orignode(msg, orignode); msg_set_orignode(msg, orignode);
msg_set_transp_seqno(msg, seqno);
msg_set_msgcnt(msg, ack); msg_set_msgcnt(msg, ack);
} }
return buf; return buf;
...@@ -467,9 +451,7 @@ static void port_timeout(unsigned long ref) ...@@ -467,9 +451,7 @@ static void port_timeout(unsigned long ref)
CONN_MANAGER, CONN_MANAGER,
CONN_PROBE, CONN_PROBE,
TIPC_OK, TIPC_OK,
port_out_seqno(p_ptr),
0); 0);
port_incr_out_seqno(p_ptr);
p_ptr->probing_state = PROBING; p_ptr->probing_state = PROBING;
k_start_timer(&p_ptr->timer, p_ptr->probing_interval); k_start_timer(&p_ptr->timer, p_ptr->probing_interval);
} }
...@@ -506,7 +488,6 @@ static struct sk_buff *port_build_self_abort_msg(struct tipc_port *p_ptr, u32 er ...@@ -506,7 +488,6 @@ static struct sk_buff *port_build_self_abort_msg(struct tipc_port *p_ptr, u32 er
imp, imp,
TIPC_CONN_MSG, TIPC_CONN_MSG,
err, err,
p_ptr->last_in_seqno + 1,
0); 0);
} }
...@@ -526,7 +507,6 @@ static struct sk_buff *port_build_peer_abort_msg(struct tipc_port *p_ptr, u32 er ...@@ -526,7 +507,6 @@ static struct sk_buff *port_build_peer_abort_msg(struct tipc_port *p_ptr, u32 er
imp, imp,
TIPC_CONN_MSG, TIPC_CONN_MSG,
err, err,
port_out_seqno(p_ptr),
0); 0);
} }
...@@ -568,7 +548,6 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf) ...@@ -568,7 +548,6 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf)
TIPC_HIGH_IMPORTANCE, TIPC_HIGH_IMPORTANCE,
TIPC_CONN_MSG, TIPC_CONN_MSG,
err, err,
0,
0); 0);
goto exit; goto exit;
} }
...@@ -582,11 +561,9 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf) ...@@ -582,11 +561,9 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf)
CONN_MANAGER, CONN_MANAGER,
CONN_PROBE_REPLY, CONN_PROBE_REPLY,
TIPC_OK, TIPC_OK,
port_out_seqno(p_ptr),
0); 0);
} }
p_ptr->probing_state = CONFIRMED; p_ptr->probing_state = CONFIRMED;
port_incr_out_seqno(p_ptr);
exit: exit:
if (p_ptr) if (p_ptr)
tipc_port_unlock(p_ptr); tipc_port_unlock(p_ptr);
...@@ -914,7 +891,6 @@ void tipc_acknowledge(u32 ref, u32 ack) ...@@ -914,7 +891,6 @@ void tipc_acknowledge(u32 ref, u32 ack)
CONN_MANAGER, CONN_MANAGER,
CONN_ACK, CONN_ACK,
TIPC_OK, TIPC_OK,
port_out_seqno(p_ptr),
ack); ack);
} }
tipc_port_unlock(p_ptr); tipc_port_unlock(p_ptr);
...@@ -1088,7 +1064,6 @@ int tipc_connect2port(u32 ref, struct tipc_portid const *peer) ...@@ -1088,7 +1064,6 @@ int tipc_connect2port(u32 ref, struct tipc_portid const *peer)
msg_set_destport(msg, peer->ref); msg_set_destport(msg, peer->ref);
msg_set_orignode(msg, tipc_own_addr); msg_set_orignode(msg, tipc_own_addr);
msg_set_origport(msg, p_ptr->ref); msg_set_origport(msg, p_ptr->ref);
msg_set_transp_seqno(msg, 42);
msg_set_type(msg, TIPC_CONN_MSG); msg_set_type(msg, TIPC_CONN_MSG);
msg_set_hdr_sz(msg, SHORT_H_SIZE); msg_set_hdr_sz(msg, SHORT_H_SIZE);
...@@ -1170,7 +1145,6 @@ int tipc_shutdown(u32 ref) ...@@ -1170,7 +1145,6 @@ int tipc_shutdown(u32 ref)
imp, imp,
TIPC_CONN_MSG, TIPC_CONN_MSG,
TIPC_CONN_SHUTDOWN, TIPC_CONN_SHUTDOWN,
port_out_seqno(p_ptr),
0); 0);
} }
tipc_port_unlock(p_ptr); tipc_port_unlock(p_ptr);
...@@ -1220,7 +1194,6 @@ int tipc_send(u32 ref, unsigned int num_sect, struct iovec const *msg_sect) ...@@ -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); res = tipc_port_recv_sections(p_ptr, num_sect, msg_sect);
if (likely(res != -ELINKCONG)) { if (likely(res != -ELINKCONG)) {
port_incr_out_seqno(p_ptr);
p_ptr->congested = 0; p_ptr->congested = 0;
if (res > 0) if (res > 0)
p_ptr->sent++; p_ptr->sent++;
......
...@@ -119,7 +119,6 @@ struct user_port { ...@@ -119,7 +119,6 @@ struct user_port {
* @pub_count: total # of publications port has made during its lifetime * @pub_count: total # of publications port has made during its lifetime
* @probing_state: * @probing_state:
* @probing_interval: * @probing_interval:
* @last_in_seqno:
* @timer_ref: * @timer_ref:
* @subscription: "node down" subscription used to terminate failed connections * @subscription: "node down" subscription used to terminate failed connections
*/ */
...@@ -147,7 +146,6 @@ struct tipc_port { ...@@ -147,7 +146,6 @@ struct tipc_port {
u32 pub_count; u32 pub_count;
u32 probing_state; u32 probing_state;
u32 probing_interval; u32 probing_interval;
u32 last_in_seqno;
struct timer_list timer; struct timer_list timer;
struct tipc_node_subscr subscription; struct tipc_node_subscr subscription;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment