06 Mar, 2015

1 commit

  • The ip/udp bearer can be configured in a point-to-point
    mode by specifying both local and remote ip/hostname,
    or it can be enabled in multicast mode, where links are
    established to all tipc nodes that have joined the same
    multicast group. The multicast IP address is generated
    based on the TIPC network ID, but can be overridden by
    using another multicast address as remote ip.

    Signed-off-by: Erik Hugne
    Reviewed-by: Jon Maloy
    Reviewed-by: Ying Xue
    Signed-off-by: David S. Miller

    Erik Hugne
     

09 Jan, 2015

1 commit

  • As tipc reference table is statically allocated, its memory size
    requested on stack initialization stage is quite big even if the
    maximum port number is just restricted to 8191 currently, however,
    the number already becomes insufficient in practice. But if the
    maximum ports is allowed to its theory value - 2^32, its consumed
    memory size will reach a ridiculously unacceptable value. Apart from
    this, heavy tipc users spend a considerable amount of time in
    tipc_sk_get() due to the read-lock on ref_table_lock.

    If tipc reference table is converted with generic rhashtable, above
    mentioned both disadvantages would be resolved respectively: making
    use of the new resizable hash table can avoid locking on the lookup;
    smaller memory size is required at initial stage, for example, 256
    hash bucket slots are requested at the beginning phase instead of
    allocating the entire 8191 slots in old mode. The hash table will
    grow if entries exceeds 75% of table size up to a total table size
    of 1M, and it will automatically shrink if usage falls below 30%,
    but the minimum table size is allowed down to 256.

    Also converts ref_table_lock to a separate mutex to protect hash table
    mutations on write side. Lastly defers the release of the socket
    reference using call_rcu() to allow using an RCU read-side protected
    call to rhashtable_lookup().

    Signed-off-by: Ying Xue
    Acked-by: Jon Maloy
    Acked-by: Erik Hugne
    Cc: Thomas Graf
    Acked-by: Thomas Graf
    Signed-off-by: David S. Miller

    Ying Xue
     

18 Apr, 2013

1 commit

  • Add InfiniBand media type based on the ethernet media type.

    The only real difference is that in case of InfiniBand, we need the entire
    20 bytes of space reserved for media addresses, so the TIPC media type ID is
    not explicitly stored in the packet payload.

    Sample output of tipc-config:

    # tipc-config -v -addr -netid -nt=all -p -m -b -n -ls

    node address:
    current network id: 4711
    Type Lower Upper Port Identity Publication Scope
    0 167776257 167776257 1855512578 cluster
    167776260 167776260 1216454658 zone
    1 1 1 1216479236 node
    Ports:
    1216479235: bound to {1,1}
    1216454657: bound to {0,167776260}
    Media:
    eth
    ib
    Bearers:
    ib:ib0
    Nodes known:
    : up
    Link
    Window:20 packets
    RX packets:0 fragments:0/0 bundles:0/0
    TX packets:0 fragments:0/0 bundles:0/0
    RX naks:0 defs:0 dups:0
    TX naks:0 acks:0 dups:0
    Congestion bearer:0 link:0 Send queue max:0 avg:0

    Link
    ACTIVE MTU:2044 Priority:10 Tolerance:1500 ms Window:50 packets
    RX packets:80 fragments:0/0 bundles:0/0
    TX packets:40 fragments:0/0 bundles:0/0
    TX profile sample:22 packets average:54 octets
    0-64:100% -256:0% -1024:0% -4096:0% -16384:0% -32768:0% -66000:0%
    RX states:410 probes:213 naks:0 defs:0 dups:0
    TX states:410 probes:197 naks:0 acks:0 dups:0
    Congestion bearer:0 link:0 Send queue max:1 avg:0

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     

12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Jon Maloy
    CC: Allan Stephens
    CC: "David S. Miller"
    Signed-off-by: Kees Cook
    Acked-by: David S. Miller

    Kees Cook
     

23 Nov, 2012

1 commit

  • There used to be a time when TIPC had lots of Kconfig knobs the
    end user could alter, but they have all been made automatic or
    obsolete, with the exception of CONFIG_TIPC_PORTS. This
    previously existing set of options was all hidden under the
    TIPC_ADVANCED setting, which does not exist in any code, but
    only in Kconfig scope.

    Having this now, just to hide the one remaining "advanced"
    option no longer makes sense. Remove it. Also get rid of the
    ifdeffery in the TIPC code that allowed for TIPC_PORTS to be
    possibly undefined.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

14 Jul, 2012

2 commits

  • The internal log buffer handling functions can now safely be
    removed since there is no code using it anymore. Requests to
    interact with the internal tipc log buffer over netlink (in
    config.c) will report 'obsolete command'.

    This represents the final removal of any references to a
    struct print_buf, and the removal of the struct itself.
    We also get rid of a TIPC specific Kconfig in the process.

    Finally, log.h is removed since it is not needed anymore.

    Signed-off-by: Erik Hugne
    Signed-off-by: Jon Maloy
    Signed-off-by: Paul Gortmaker

    Erik Hugne
     
  • The link queue traces and packet level debug functions served
    a purpose during early development, but are now redundant
    since there are other, more capable tools available for
    debugging at the packet level.

    The TIPC_DEBUG Kconfig option is removed since it does not
    provide any extra debugging features anymore.

    This gets rid of a lot of tipc_printf usages, which will
    make the pending cleanup work of that function easier.

    Signed-off-by: Erik Hugne
    Signed-off-by: Jon Maloy
    Signed-off-by: Paul Gortmaker

    Erik Hugne
     

14 Mar, 2011

1 commit

  • Gets rid of the need for users to specify the maximum number of
    cluster nodes supported by TIPC. TIPC now automatically provides
    support for all 4K nodes allowed by its addressing scheme.

    Note: This change sets TIPC's memory usage to the amount used by
    a maximum size node table with 4K entries. An upcoming patch that
    converts the node table from a linear array to a hash table will
    compact the node table to a more efficient design, but for clarity
    it is nice to have all the Kconfig infrastruture go away separately.

    Signed-off-by: Allan Stephens
    Signed-off-by: Paul Gortmaker

    Allan Stephens
     

02 Jan, 2011

4 commits

  • 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

    Allan Stephens
     
  • Completes the simplification of TIPC's debugging capabilities. By default
    TIPC includes no debugging code, and any debugging code added by developers
    that calls the dbg() and dbg_macros() is compiled out. If debugging support
    is enabled, TIPC prints out some additional data about its internal state
    when certain abnormal conditions occur, and any developer-added calls to the
    TIPC debug macros are compiled in.

    Signed-off-by: Allan Stephens
    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Allan Stephens
     
  • Eliminates routines, data structures, and files that were intended
    to allow TIPC to support a network containing multiple clusters.
    Currently, TIPC supports only networks consisting of a single cluster
    within a single zone, so this code is unnecessary.

    Signed-off-by: Allan Stephens
    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Allan Stephens
     
  • Eliminates routines, data structures, and files that were intended
    to allows TIPC to support a network containing multiple zones.
    Currently, TIPC supports only networks consisting of a single cluster
    within a single zone, so this code is unnecessary.

    Signed-off-by: Allan Stephens
    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Allan Stephens
     

20 Jan, 2010

1 commit

  • This patch addresses a number of minor (mostly cosmetic) issues relating
    to the configuration of TIPC, including the following:

    - Corrects range limits for maximum number of ports per node
    - Adds missing range limits for size of log buffer
    - Removes configuration setting relating to unsupported slave node capability
    - Standardizes description and help text wording for configuration settings
    - Removes unneeded blank spaces

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     

04 Jan, 2010

1 commit

  • We can rely on kconfig to limit these numbers,
    no need to limit them at compile time/run time.

    Users who modify these numbers manually should
    be responsible for themself. :)

    Signed-off-by: WANG Cong
    Cc: Per Liden
    Cc: Jon Maloy
    Cc: Allan Stephens
    Cc: David S. Miller
    Signed-off-by: David S. Miller

    Amerigo Wang
     

25 May, 2007

1 commit


03 May, 2007

1 commit


18 Jan, 2006

1 commit


13 Jan, 2006

1 commit

  • TIPC (Transparent Inter Process Communication) is a protocol designed for
    intra cluster communication. For more information see
    http://tipc.sourceforge.net

    Signed-off-by: Per Liden

    Per Liden