TIPC Getting Started6

  • Installation and Configuration

    The TIPC kernel module is available by default in the major Linux distros. Just do ‘modprobe tipc’
    and you are ready to run in single node mode.

    If you want to run in cluster mode you must also give each node a unique identity and
    attach the interface you want to use:$ tipc node set addr 1.1.2 (e.g.) (This step can be omitted from Linux 4.17)

    $ tipc bearer enable media eth dev eth0
    

    If you want better redundancy and performance you can attach a second interface:

    	$ tipc bearer enable media eth dev eth1
    	If you want to run on UDP instead of directly on Ethernet use the following commands:$ tipc link list
    	$ tipc bearer enable media udp name UDP1 localip 192.168.123.102 (e.g.)
    	$ tipc bearer enable media udp name UDP2 localip 192.168.124.102 (e.g.)
    

    Provided you have set up another node the same way you can now list the links to it:

    $ tipc link list
    	broadcast-link: up
    	1001002:eth0-1001001:eth0: up
    	1001002:eth1-1001001:eth1: up
    

    At this stage you can also have a look at the service binding table:

    	$ tipc nametable show
    	Type     Lower       Upper     Scope    Port       Node
    	0        16781313    16781313  cluster  0          1001001
    	0        16781314    16781314  cluster  0          1001002
    	1        1           1         node     2535696389 1001002
    	2        16781313    16781313  node     0          1001002
    	2        16781313    16781313  node     65537      1001002
    

    The two entries with service type 0 show that we have two nodes in the cluster, 1001001 and
    1001002 (i.e., the own node).
    The entry with service type 1 represents the built-in topology (service tracking) service.
    The two entries with service type 2 show the two links, as seen from the issuing (own) node 1001002.
    The range limits 16781313 represent the the peer endpoint’s address (1001001) in decimal format.

  • Running a Program

    Download and unpack the tipcutils package from the project page. The package comes ready with binaries,
    but is easy to rebuild if needed.

    In one shell, do:

    	$ ./tipcutils/demos/hello_world/hello_server
    	****** TIPC hello world server started *****
    

    You can now take another look at the address binding table:

    	$ tipc nametable show
    	Type     Lower       Upper     Scope    Port       Node
    	0        16781313    16781313  cluster  0          1001001
    	0        16781314    16781314  cluster  0          1001002
    	1        1           1         node     2535696389 1001002
    	2        16781313    16781313  node     0          1001002
    	2        16781313    16781313  node     65537      1001002
    	18888    17          17        cluster  1697554572 1001002
    

    The server has bound itself to the service type 18888 and instance 17, and made itself visible
    in the whole cluster.

    In another shell, on the same node or on the peer node, you can now do:

    	$ ./tipcutils/demos/hello_world/hello_client
    	****** TIPC hello world client started ******
    	Client: sent message: Hello World!!
    	Client: received response: Uh ?
    	****** TIPC hello client finished ******
    

    If you now redo this exercise, but start the client before the server, you will see a simple
    example of start synchronization by leveraging the service tracking feature.

  • Downloading the Code

    The kernel source code can be checked out from:

    $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
    

    The ‘tipc’ tool for configuring and managing TIPC is available as a standard part of the iproute2 package,
    which is also available in all distros. The source code can be checked out from:

    $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
    

    The ‘tipcutils’ package contains a set of demos and test programs. The downloadable .zip file comes complete
    with binaries, but is only a snapshot, so it may not always be up to date with the latest version in the git repository.
    This can can be checked out from:

    $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值