From 741de3e9ff6e07e908e1cad2eb03e29677fde093 Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Tue, 25 Jan 2011 13:33:31 -0500 Subject: 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: Allan Stephens Signed-off-by: Paul Gortmaker --- net/tipc/msg.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'net/tipc/msg.c') diff --git a/net/tipc/msg.c b/net/tipc/msg.c index bb6180c4fcb..e56b9b87547 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -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 @@ -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) { -- cgit v1.2.3-70-g09d2 From 2e07dda1659095115e5e36a2fed0fddc1e3ea1c8 Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Tue, 25 Jan 2011 14:39:59 -0500 Subject: tipc: Remove unused message header field for requested number of links Eliminates support for the "number of requested links" field in a neighbor discovery message. This field was never used and has been removed from the TIPC 2.0 protocol specification. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- net/tipc/bearer.c | 2 +- net/tipc/discover.c | 11 +++-------- net/tipc/discover.h | 3 +-- net/tipc/msg.c | 1 - net/tipc/msg.h | 10 ---------- 5 files changed, 5 insertions(+), 22 deletions(-) (limited to 'net/tipc/msg.c') diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index 9e2ff0ed017..f2839b0f6b6 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c @@ -566,7 +566,7 @@ restart: INIT_LIST_HEAD(&b_ptr->links); if (m_ptr->bcast) { b_ptr->link_req = tipc_disc_init_link_req(b_ptr, &m_ptr->bcast_addr, - bcast_scope, 2); + bcast_scope); } spin_lock_init(&b_ptr->lock); write_unlock_bh(&tipc_net_lock); diff --git a/net/tipc/discover.c b/net/tipc/discover.c index 59a86fc5b6d..09ce2318b89 100644 --- a/net/tipc/discover.c +++ b/net/tipc/discover.c @@ -67,13 +67,11 @@ struct link_req { /** * tipc_disc_init_msg - initialize a link setup message * @type: message type (request or response) - * @req_links: number of links associated with message * @dest_domain: network domain of node(s) which should respond to message * @b_ptr: ptr to bearer issuing message */ static struct sk_buff *tipc_disc_init_msg(u32 type, - u32 req_links, u32 dest_domain, struct tipc_bearer *b_ptr) { @@ -84,7 +82,6 @@ static struct sk_buff *tipc_disc_init_msg(u32 type, msg = buf_msg(buf); tipc_msg_init(msg, LINK_CONFIG, type, DSC_H_SIZE, dest_domain); msg_set_non_seq(msg, 1); - msg_set_req_links(msg, req_links); msg_set_dest_domain(msg, dest_domain); msg_set_bc_netid(msg, tipc_net_id); msg_set_media_addr(msg, &b_ptr->addr); @@ -191,7 +188,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr) 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); + rbuf = tipc_disc_init_msg(DSC_RESP_MSG, orig, b_ptr); if (rbuf != NULL) { b_ptr->media->send_msg(rbuf, b_ptr, &media_addr); buf_discard(rbuf); @@ -274,15 +271,13 @@ static void disc_timeout(struct link_req *req) * @b_ptr: ptr to bearer issuing requests * @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 tipc_bearer *b_ptr, const struct tipc_media_addr *dest, - u32 dest_domain, - u32 req_links) + u32 dest_domain) { struct link_req *req; @@ -290,7 +285,7 @@ struct link_req *tipc_disc_init_link_req(struct tipc_bearer *b_ptr, if (!req) return NULL; - req->buf = tipc_disc_init_msg(DSC_REQ_MSG, req_links, dest_domain, b_ptr); + req->buf = tipc_disc_init_msg(DSC_REQ_MSG, dest_domain, b_ptr); if (!req->buf) { kfree(req); return NULL; diff --git a/net/tipc/discover.h b/net/tipc/discover.h index 4046d7743f0..e48a167e47b 100644 --- a/net/tipc/discover.h +++ b/net/tipc/discover.h @@ -41,8 +41,7 @@ struct link_req; struct link_req *tipc_disc_init_link_req(struct tipc_bearer *b_ptr, const struct tipc_media_addr *dest, - u32 dest_domain, - u32 req_links); + u32 dest_domain); void tipc_disc_update_link_req(struct link_req *req); void tipc_disc_stop_link_req(struct link_req *req); diff --git a/net/tipc/msg.c b/net/tipc/msg.c index e56b9b87547..0787e12423b 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -390,7 +390,6 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) if (msg_user(msg) == LINK_CONFIG) { u32 *raw = (u32 *)msg; struct tipc_media_addr *orig = (struct tipc_media_addr *)&raw[5]; - tipc_printf(buf, ":REQL(%u):", msg_req_links(msg)); tipc_printf(buf, ":DDOM(%x):", msg_dest_domain(msg)); tipc_printf(buf, ":NETID(%u):", msg_bc_netid(msg)); tipc_media_addr_printf(buf, orig); diff --git a/net/tipc/msg.h b/net/tipc/msg.h index b1438c77945..9d643a1b7d2 100644 --- a/net/tipc/msg.h +++ b/net/tipc/msg.h @@ -567,16 +567,6 @@ static inline void msg_set_seq_gap(struct tipc_msg *m, u32 n) msg_set_bits(m, 1, 16, 0x1fff, n); } -static inline u32 msg_req_links(struct tipc_msg *m) -{ - return msg_bits(m, 1, 16, 0xfff); -} - -static inline void msg_set_req_links(struct tipc_msg *m, u32 n) -{ - msg_set_bits(m, 1, 16, 0xfff, n); -} - /* * Word 2 -- cgit v1.2.3-70-g09d2 From e7b3acb6a85266dfd3e102b3d15b51b0ecd6bc2e Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Sun, 27 Feb 2011 14:43:52 -0500 Subject: tipc: Eliminate timestamp from link protocol messages Removes support for the timestamp field of TIPC's link protocol messages. This field was previously used to hold an OS-dependent timestamp value that was used to assist in debugging early versions of TIPC. The field has now been deemed unnecessary and has been removed from the latest TIPC specification. This change has no impact on the operation of TIPC since the field was set by TIPC, but never referenced. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- net/tipc/link.c | 1 - net/tipc/msg.c | 1 - net/tipc/msg.h | 10 ---------- 3 files changed, 12 deletions(-) (limited to 'net/tipc/msg.c') diff --git a/net/tipc/link.c b/net/tipc/link.c index 89fbb6d6e95..d4f2780ff87 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -1977,7 +1977,6 @@ void tipc_link_send_proto_msg(struct link *l_ptr, u32 msg_typ, int probe_msg, skb_copy_to_linear_data(buf, msg, sizeof(l_ptr->proto_msg)); return; } - msg_set_timestamp(msg, jiffies_to_msecs(jiffies)); /* Message can be sent */ diff --git a/net/tipc/msg.c b/net/tipc/msg.c index 0787e12423b..b694c9acadc 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -238,7 +238,6 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) tipc_printf(buf, "REROUTED(%u):", msg_reroute_cnt(msg)); break; case LINK_PROTOCOL: - tipc_printf(buf, "PROT:TIM(%u):", msg_timestamp(msg)); switch (msg_type(msg)) { case STATE_MSG: tipc_printf(buf, "STATE:"); diff --git a/net/tipc/msg.h b/net/tipc/msg.h index 9d643a1b7d2..6948d3dbab0 100644 --- a/net/tipc/msg.h +++ b/net/tipc/msg.h @@ -438,16 +438,6 @@ static inline void msg_set_nametype(struct tipc_msg *m, u32 n) msg_set_word(m, 8, n); } -static inline void msg_set_timestamp(struct tipc_msg *m, u32 n) -{ - msg_set_word(m, 8, n); -} - -static inline u32 msg_timestamp(struct tipc_msg *m) -{ - return msg_word(m, 8); -} - static inline u32 msg_nameinst(struct tipc_msg *m) { return msg_word(m, 9); -- cgit v1.2.3-70-g09d2 From 7945c1fb02ef08316df8c054ce180bf3f4e35ae4 Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Fri, 11 Mar 2011 13:09:28 -0500 Subject: tipc: Eliminate remaining support for routing table messages Gets rid of all remaining code relating to ROUTE_DISTRIBUTOR messages. These messages were only used in multi-cluster and multi-zone networks, which TIPC no longer supports. (For safety, TIPC now treats such messages the same way that it handles other unrecognized messages.) Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- net/tipc/link.c | 8 ++++---- net/tipc/msg.c | 27 --------------------------- net/tipc/msg.h | 15 --------------- 3 files changed, 4 insertions(+), 46 deletions(-) (limited to 'net/tipc/msg.c') diff --git a/net/tipc/link.c b/net/tipc/link.c index b73adeb5cde..a572f0a27e0 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -1746,10 +1746,6 @@ deliver: tipc_node_unlock(n_ptr); tipc_link_recv_bundle(buf); continue; - case ROUTE_DISTRIBUTOR: - tipc_node_unlock(n_ptr); - buf_discard(buf); - continue; case NAME_DISTRIBUTOR: tipc_node_unlock(n_ptr); tipc_named_recv(buf); @@ -1776,6 +1772,10 @@ deliver: goto protocol_check; } break; + default: + buf_discard(buf); + buf = NULL; + break; } } tipc_node_unlock(n_ptr); diff --git a/net/tipc/msg.c b/net/tipc/msg.c index b694c9acadc..0562b38a6c1 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -274,33 +274,6 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) tipc_printf(buf, "UNKNOWN TYPE:%x", msg_type(msg)); } break; - case ROUTE_DISTRIBUTOR: - tipc_printf(buf, "ROUTING_MNG:"); - switch (msg_type(msg)) { - case EXT_ROUTING_TABLE: - tipc_printf(buf, "EXT_TBL:"); - tipc_printf(buf, "TO:%x:", msg_remote_node(msg)); - break; - case LOCAL_ROUTING_TABLE: - tipc_printf(buf, "LOCAL_TBL:"); - tipc_printf(buf, "TO:%x:", msg_remote_node(msg)); - break; - case SLAVE_ROUTING_TABLE: - tipc_printf(buf, "DP_TBL:"); - tipc_printf(buf, "TO:%x:", msg_remote_node(msg)); - break; - case ROUTE_ADDITION: - tipc_printf(buf, "ADD:"); - tipc_printf(buf, "TO:%x:", msg_remote_node(msg)); - break; - case ROUTE_REMOVAL: - tipc_printf(buf, "REMOVE:"); - tipc_printf(buf, "TO:%x:", msg_remote_node(msg)); - break; - default: - tipc_printf(buf, "UNKNOWN TYPE:%x", msg_type(msg)); - } - break; case LINK_CONFIG: tipc_printf(buf, "CFG:"); switch (msg_type(msg)) { diff --git a/net/tipc/msg.h b/net/tipc/msg.h index 50063664b93..7b4f4d709b1 100644 --- a/net/tipc/msg.h +++ b/net/tipc/msg.h @@ -768,21 +768,6 @@ static inline void msg_set_link_tolerance(struct tipc_msg *m, u32 n) msg_set_bits(m, 9, 0, 0xffff, n); } -/* - * Routing table message data - */ - - -static inline u32 msg_remote_node(struct tipc_msg *m) -{ - return msg_word(m, msg_hdr_sz(m)/4); -} - -static inline void msg_set_remote_node(struct tipc_msg *m, u32 a) -{ - msg_set_word(m, msg_hdr_sz(m)/4, a); -} - /* * Segmentation message types */ -- cgit v1.2.3-70-g09d2 From 390bce4237487975c2168aa5fa786f75ead66852 Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Fri, 11 Mar 2011 13:22:53 -0500 Subject: tipc: Eliminate obsolete routine for handling routed messages Eliminates a routine that is used in handling messages arriving from another cluster or zone. Such messages can no longer be received by TIPC now that multi-cluster and multi-zone network support has been eliminated. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- net/tipc/link.c | 3 --- net/tipc/msg.c | 6 ------ net/tipc/msg.h | 7 ------- 3 files changed, 16 deletions(-) (limited to 'net/tipc/msg.c') diff --git a/net/tipc/link.c b/net/tipc/link.c index a572f0a27e0..43639ff1cbe 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -2423,9 +2423,6 @@ static int link_send_long_buf(struct link *l_ptr, struct sk_buff *buf) else destaddr = msg_destnode(inmsg); - if (msg_routed(inmsg)) - msg_set_prevnode(inmsg, tipc_own_addr); - /* Prepare reusable fragment header: */ tipc_msg_init(&fragm_hdr, MSG_FRAGMENTER, FIRST_FRAGMENT, diff --git a/net/tipc/msg.c b/net/tipc/msg.c index 0562b38a6c1..6d92d17e7fb 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -192,8 +192,6 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) default: tipc_printf(buf, "UNKNOWN TYPE %u", msg_type(msg)); } - if (msg_routed(msg) && !msg_non_seq(msg)) - tipc_printf(buf, "ROUT:"); if (msg_reroute_cnt(msg)) tipc_printf(buf, "REROUTED(%u):", msg_reroute_cnt(msg)); @@ -210,8 +208,6 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) default: tipc_printf(buf, "UNKNOWN:%x", msg_type(msg)); } - if (msg_routed(msg)) - tipc_printf(buf, "ROUT:"); if (msg_reroute_cnt(msg)) tipc_printf(buf, "REROUTED(%u):", msg_reroute_cnt(msg)); @@ -232,8 +228,6 @@ void tipc_msg_dbg(struct print_buf *buf, struct tipc_msg *msg, const char *str) default: tipc_printf(buf, "UNKNOWN TYPE:%x", msg_type(msg)); } - if (msg_routed(msg)) - tipc_printf(buf, "ROUT:"); if (msg_reroute_cnt(msg)) tipc_printf(buf, "REROUTED(%u):", msg_reroute_cnt(msg)); break; diff --git a/net/tipc/msg.h b/net/tipc/msg.h index 7b4f4d709b1..de02339fc17 100644 --- a/net/tipc/msg.h +++ b/net/tipc/msg.h @@ -421,13 +421,6 @@ static inline int msg_is_dest(struct tipc_msg *m, u32 d) return msg_short(m) || (msg_destnode(m) == d); } -static inline u32 msg_routed(struct tipc_msg *m) -{ - if (likely(msg_short(m))) - return 0; - return (msg_destnode(m) ^ msg_orignode(m)) >> 11; -} - static inline u32 msg_nametype(struct tipc_msg *m) { return msg_word(m, 8); -- cgit v1.2.3-70-g09d2