24 Feb, 2011
3 commits
-
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 -
Modifies TIPC's congestion control between a connected port and its
peer so that it works as documented. The following changes have been
made:1) The counter of the number of messages sent by a port now starts
at zero, rather than one. This prevents the port from reporting port
congestion one message earlier than it was supposed to.2) The counter of the number of messages sent by a port is now
incremented only if a non-empty message is sent successfully.
This prevents the port from becoming permanently congested if
too many send attempts are unsuccessful because of congestion
(or other reasons). It also removes the risk that empty hand-
shaking messages used during connection setup might cause the
port to report congestion earlier than it was supposed to.3) The counter of the number of unacknowledged messages received by
a port controlled by an internal TIPC service is now incremented
only if the message is non-empty, in order to be consistent with
the aforementioned changes.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker -
Merge two distinct structures containing information about a TIPC port
into a single structure. The structures were previously kept separate
so that public information about a port could be made available to
applications using TIPC's native API, while the remaining information
was kept private for use by TIPC itself. However, now that the native
API has been removed there is no longer any need for this somewhat
confusing arrangement.Since one of the structures was already embedded within the other, the
change largely involves replacing instances of "publ.foo" with "foo".
The changes do not otherwise alter the operation of TIPC ports.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
02 Jan, 2011
7 commits
-
Cleans up TIPC's source code to eliminate the presence of unnecessary
use of {} around single statements.These changes are purely cosmetic and do not alter the operation of TIPC
in any way.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Cleans up TIPC's source code to eliminate the needless initialization
of static variables to zero.These changes are purely cosmetic and do not alter the operation of TIPC
in any way.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Cleans up TIPC's source code to eliminate deviations from generally
accepted coding conventions relating to leading/trailing white space
and white space around commas, braces, cases, and sizeof.These changes are purely cosmetic and do not alter the operation of TIPC
in any way.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
It is acceptable to call kfree() with NULL, so these checks are not
serving any useful purpose.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Eliminates obsolete calls to two of TIPC's main debugging macros, as well
as a pair of associated debugging routines that are no longer required.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Eliminates routines, data structures, and files that make up TIPC's
user registry. The user registry is no longer needed since the native
API routines that utilized it no longer exist and there are no longer
any internal TIPC services that use it.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Simplifies routines and data structures that were intended to allow
TIPC to support slave nodes (i.e. nodes that did not have links to
all of the other nodes in its cluster, forcing TIPC to route messages
that it could not deliver directly through a non-slave node).Currently, TIPC supports only networks containing non-slave nodes,
so this code is unnecessary.Note: The latest edition of the TIPC 2.0 Specification has eliminated
the concept of slave nodes entirely.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller
03 Dec, 2010
4 commits
-
Moves the content of the native API routine tipc_ownidentity() into the
sole routine that calls it, since it can no longer be called in isolation.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Moves the content of each native API message forwarding routine
into the sole routine that calls it, since the forwarding routines
no longer be called in isolation. Also removes code in each routine
that altered the outgoing message's importance level since this is
now no longer possible.The previous function mapping (parent function, and child API) was
as follows:tipc_send2name
\--tipc_forward2nametipc_send2port
\--tipc_forward2porttipc_send_buf2port
\--tipc_forward_buf2portAfter this commit, the children don't exist and their functionality
is completely in the respective parent.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Eliminates an unused argument from tipc_multicast(), now that this
routine can no longer be called by kernel-based applications.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Gets rid of #include statements that are no longer required as a
result of the merging of obsolete native API header file content
into other TIPC include files.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller
17 Oct, 2010
1 commit
-
Do some cleanups of TIPC based on make namespacecheck
1. Don't export unused symbols
2. Eliminate dead code
3. Make functions and variables local
4. Rename buf_acquire to tipc_buf_acquire since it is used in several filesCompile tested only.
This make break out of tree kernel modules that depend on TIPC routines.Signed-off-by: Stephen Hemminger
Acked-by: Jon Maloy
Acked-by: Paul Gortmaker
Signed-off-by: David S. Miller
14 Oct, 2010
1 commit
-
Remove all instances of legacy, or as yet to be implemented code
that is currently living within an #if 0 ... #endif block.
In the rare instance that some of it be needed in the future,
it can still be dragged out of history, but there is no need
for it to sit in mainline.Signed-off-by: Paul Gortmaker
Acked-by: Neil Horman
Signed-off-by: David S. Miller
07 Sep, 2010
1 commit
-
Optimizes TIPC's name table translation code to avoid unnecessary
manipulation of the node address field of the resulting port id when
name translation fails. This change is possible because a valid port
id cannot have a reference field of zero, so examining the reference
only is sufficient to determine if the translation was successful.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller
18 Aug, 2010
1 commit
-
Remove validation of the per-connection sequence numbers on routable
connections, since routable connections are not supported by TIPC.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller
13 May, 2010
3 commits
-
These functions have enough code in them such that they
seem like sensible targets for un-inlining. Prior to doing
that, this adds the tipc_ prefix to the functions, so that
in the event of a panic dump or similar, the subsystem from
which the functions come from is immediately clear.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Eliminate a couple of instances where TIPC's native API send routines
were doing pointless initialization of local variables.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller -
Eliminate a field of the TIPC port structure that is populated,
but never referenced.Signed-off-by: Allan Stephens
Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller
15 Jul, 2008
2 commits
-
This patch corrects many places where TIPC routines indicated
successful completion by returning TIPC_OK instead of 0.
(The TIPC_OK symbol has the value 0, but it should only be used
in contexts that deal with the error code field of a TIPC
message header.)Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller -
This patch eliminates an unneeded parameter when creating a low-level
TIPC port object. Instead of returning both the pointer to the port
structure and the port's reference ID, it now returns only the pointer
since the port structure contains the reference ID as one of its fields.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller
05 Jun, 2008
5 commits
-
This patch ensures that TIPC doesn't try to access non-existent
message header fields when rejecting a message with a short header.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller -
This patch eliminates several cases where message header fields
were being set to the same value twice.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller -
This patch eliminates the rarely-used "error code" argument
when initializing a TIPC message header, since the default
value of zero is the desired result in most cases; the few
exceptional cases now set the error code explicitly.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller -
This patch re-orders & re-groups the error checks performed on
messages being delivered to native API ports, in order to clarify the
similarities and differences required for the various message types.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller -
This patch fixes a bug that prevented TIPC from receiving a
connection setup request message on a native TIPC port.
The revised connection setup logic ensures that validation
of the source of a connection-based message is skipped if
the port is not yet connected to a peer.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller
22 May, 2008
1 commit
-
This patch ensures that the "previous node" field in any existing
TIPC port message header templates is updated properly when a TIPC
network address is assigned to the node. (Previously, only the
"originating node" field was updated.)Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller
13 May, 2008
1 commit
-
This patch eliminates the (very remote) chance of a crash resulting
from a partially initialized socket or native port unexpectedly
receiving a message. Now, during the creation of a socket or native
port, the underlying generic port's lock is not released until all
initialization required to handle incoming messages has been done.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller
15 Apr, 2008
1 commit
-
This patch modifies TIPC's socket code to follow the same approach
used by other protocols. This change eliminates the need for a
mutex in the TIPC-specific portion of the socket protocol data
structure -- in its place, the standard Linux socket backlog queue
and associated locking routines are utilized. These changes fix
a long-standing receive queue bug on SMP systems, and also enable
individual read and write threads to utilize a socket without
unnecessarily interfering with each other.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller
07 Mar, 2008
2 commits
-
This patch eliminates some unused or duplicate message header
symbols, and fixes up the comments and/or location of a few
other symbols.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller -
This patch removes code associated with optional, user-specified
fields of the TIPC message header. Such fields were never
utilized by TIPC, and have now been removed from the protocol
specification.Signed-off-by: Allan Stephens
Signed-off-by: David S. Miller
29 Jan, 2008
1 commit
-
The file net/tipc/port.c takes a lock using the function tipc_port_lock and
then releases the lock sometimes using tipc_port_unlock and sometimes using
spin_unlock_bh(p_ptr->publ.lock). tipc_port_unlock simply does the
spin_unlock_bh, but it seems cleaner to use it everywhere.The problem was fixed using the following semantic patch.
(http://www.emn.fr/x-info/coccinelle/)//
@@
struct port *p_ptr;
@@p_ptr = tipc_port_lock(...)
...
(
p_ptr = tipc_port_lock(...);
|
?- spin_unlock_bh(p_ptr->publ.lock);
+ tipc_port_unlock(p_ptr);
)
//Signed-off-by: Julia Lawall
Acked-by: Jon Paul Maloy
Signed-off-by: David S. Miller
14 Aug, 2007
1 commit
-
This patch cleans up duplicate includes in
net/tipc/Signed-off-by: Jesper Juhl
Signed-off-by: Andrew Morton
Signed-off-by: David S. Miller
11 Jul, 2007
1 commit
-
This patch enhances TIPC's stream socket send routine so that
it avoids transmitting data in chunks that require fragmentation
and reassembly, thereby improving performance at both the
sending and receiving ends of the connection.The "maximum packet size" hint that records MTU info allows
the socket to decide how big a chunk it should send; in the
event that the hint has become stale, fragmentation may still
occur, but the data will be passed correctly and the hint will
be updated in time for the following send. Note: The 66060 byte
pseudo-MTU used for intra-node connections requires the send
routine to perform an additional check to ensure it does not
exceed TIPC"s limit of 66000 bytes of user data per chunk.Signed-off-by: Allan Stephens
Signed-off-by: Jon Paul Maloy
Signed-off-by: David S. Miller
26 Apr, 2007
1 commit
-
To clearly state the intent of copying to linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.Signed-off-by: Arnaldo Carvalho de Melo
11 Feb, 2007
1 commit
-
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
02 Nov, 2006
1 commit
-
The correct order is: NULL check before dereference
Spotted by the Coverity checker.
Signed-off-by: Adrian Bunk
Signed-off-by: David S. Miller
19 Oct, 2006
1 commit
-
Signed-off-by: Allan Stephens
Signed-off-by: Per Liden
Signed-off-by: David S. Miller