tipc-vxworks-1.5.12

所属分类:VxWorks
开发工具:C/C++
文件大小:261KB
下载次数:23
上传日期:2008-01-14 11:40:11
上 传 者yangc0321
说明:  TIP C在VxWorks下的实现代码,可与其它平台(Linux/Windows)的代码互通。
(TIP C in the realization of the code under VxWorks, with other platforms (Linux/Windows) code interoperability.)

文件列表:
tipc_1.5.12_vxWorks.tar (1218560, 2006-10-25)

Project name: Wind River TIPC Date: October 27, 2006 Authors: Mike.Zeidler@windriver.com, Elmer.Horvath@windriver.com, Allan.Stephens@windriver.com,Grant.Zadoyan@windriver.com Description ----------- The Transparent Inter Process Communication protocol (TIPC) is a network protocol that allows socket-based applications to communicate easily and efficiently in both single node environments and environments containing clusters of nodes. It provides a unique combination of features, including: functional addressing, address/topology subscriptions, reactive lightweight connections, signalling links with load sharing, redundancy and disturbance free failover, high performance, etc. TIPC was originally developed at Ericsson Research, Montreal, in the 1990s. It is based on an earlier version used in an Ericsson proprietary OS, which has been deployed and is running at hundreds of sites all over the world. Wind River TIPC 1.5.12 implements the TIPC protocol for systems using the VxWorks operating system. It is based on publicly available source code that is also used for the Open Source implementation on Linux. This allows Wind River TIPC and Linux TIPC to interoperate within a network. Demo files for TIPC 1.5.12 can also be downloaded from http://tipc.sourceforge.net Documentation for the VxWorks implementation of TIPC 1.5.12 is available on the Wind River OLS site (use the WR TIPC 1.5 documentation). Note: Several Wind River components were designed to work over the version of Wind River TIPC that shipped with that version of VxWorks. These components may be incompatible with this TIPC distribution. - WDB running over TIPC will not work with VxWorks 6.0/6.1/6.2 - DSAL will not work with VxWorks 6.0/6.1/6.2. DSAL (Distributed Socket Application Layer) is part of the message channel technology. Both of these components should work with VxWorks 6.3/*** and this distribution. Licensing --------- Wind River TIPC is issued under a BSD license. Downloading ----------- Wind River TIPC can be downloaded from http://tipc.sourceforge.net Supported operating system versions ----------------------------------- Wind River TIPC 1.5.12 requires a VxWorks 6.x-based operating system. Note: Information on porting Wind River TIPC 1.5.12 to pre-6.0 versions of VxWorks is provided at the end of this document. Compatability with Open-Source Linux TIPC ----------------------------------------- Wind River TIPC 1.5.12 can interoperate with Open Source Linux TIPC 1.5.x. Wind River TIPC 1.5.12 supports the following capabilities which are not available with Open Source Linux TIPC 1.5.x: - Communication between nodes using shared memory. - Prioritization of interfaces that use hEND drivers. Wind River TIPC 1.5.12 supports the following capability in a different manner than Open Source Linux TIPC 1.5.x: - The TIPC socket address structure (struct sockaddr_tipc) in Wind River TIPC uses the BSD convention of an 8 bit length field and an 8 bit address family, rather than the 16 bit address family used with Linux TIPC. Change history -------------- 1.5.12: - included version with VxWorks *** - updated tipcConfig() to allow pattern matching for some commands - some minor bug fixes - addition of System Viewer events for TIPC (requires a host built with VxWorks *** or later) when compiled in 1.5.11 (rel 2): - added compatibility for vxWorks 6.0/6.1/6.2 1.5.11: - included version with VxWorks 6.3 - updated to Open Source TIPC 1.5.11 code base, resulting in changes to socket and ioctl() APIs - addition of multicast support - addition of SOCK_STREAM support - addition of the tipcConfig utility 1.2: - included version with VxWorks 6.2, some minor bug fixes, addition of HEND interface support, separation from the networking code with a separate BSD based socket backend. 1.1: - included version with VxWorks 6.1, similar to 1.0.2 1.0.2: - added support for VxWorks 6.0, including RTP and simulator support 1.0.1: - bug fixes 1.0: - initial release; support for Wind River Platforms only ======================================================================== Installing Wind River TIPC -------------------------- The following steps describe how to install Wind River TIPC onto your host system. 1. Place the "tipc_1.5.12_vxWorks.tar" file in your VxWorks home directory. This directory -- denoted as from now on -- is the directory that contains the "host" & "target" directories. 2. If you have never compiled TIPC from the source code since you installed your VxWorks CDs, you may safely skip to the next step. Delete the following directories: /target/config/comps/src/tipc /target/h/make/h/config/comps/tipc /target/h/tipc /target/src/tipc /target/usr/h/tipc All directories matching the description: /target/lib///common/objtipc All files matching the description: /target/lib///common/libtipc.a 3. Delete the following files (if they exist): /target/config/comps/vxWorks/CxrCat.txt This file will be automatically recreated when required. Note it might be necessary to restart workbench before this file is recreated. /target/config/comps/vxWorks/20comp_tipcsm.cdf /target/config/comps/vxWorks/20comp_tipc_hend.cdf /target/h/smPktLib.h /target/h/smUtilLib.h 4. Extract the TIPC 1.5.12 source code from the tar file: tar xvf tipc_1.5.12_vxWorks.tar . This operation creates and populates the following directories: /target/config/comps/src/tipc /target/h/make/h/config/comps/tipc /target/h /target/h/tipc /target/src/tipc /target/usr/h/tipc and adds new files to the following directories: /target/config/comps/src /target/config/comps/vxWorks /target/config/linux /target/config/mv2700 /target/config/mv5100 /target/config/simpc /target/config/solaris /target/config/wrSbc8560 Compiling Wind River TIPC ------------------------- Wind River TIPC is provided as source code. Before you can include it in a development project, you need to create object code binaries. 1. Set up the command shell environment for running the Wind River TIPC make file by opening up a VxWorks development shell. 2. Change to the directory containing the TIPC source code: cd /target/src/tipc 3. Enter the following two "make" commands: make CPU= TOOL= [] rclean make CPU= TOOL= [] The values you specify for and depend on the board support packages (BSPs) you have installed. If you are unsure of the values to use, check the Makefile for your target BSP; this file is located at /target/config//Makefile. The argument is used to represent any optional compile flags that may be required by your environment. These flags may be omitted if not required. 4. If the new System Viewer events are required in TIPC (note that a host from VxWorks 6.3 or later is required to view the events and the events themselves may not be functional in pre-VxWorks *** installations), then the TIPC code must be recompiled following these steps: make CPU= TOOL= [] rclean make CPU= TOOL= [] ADDED_CFLAGS+="-DWV_TIPC" Before deploying TIPC for use in a production environment, you can reduce the size of the kernel and possibly improve performance by recompiling TIPC without System Viewer instrumentation. To do this, you need to use make with rclean and the -DWV_TIPC compile flag, before recompiling, as follows: make CPU= TOOL= [] ADDED_CFLAGS+="-DWV_TIPC" rclean make CPU= TOOL= [] With the networking stack: Within the Workbench configuration, you would have to include the TIPC instrumentation: - development tool components - System Viewer components - TIPC instrumentation Without the networking stack: To use System Viewer with TIPC, you need to include WDB support in your image. When you build VxWorks without the network stack, you need to adhere to the following sequence of steps in Workbench: 1. Exclude all networking build components from your VxWorks Image Project. For most BSPs, a number of networking components are included in a build by default . You need to select the Network Components folder in the Workbench Configurator and explicitly exclude the entire folder. 2. Include the TIPC network stack build component. The location of the TIPC network stack build component in the Configurator is: - Network Components - Network Protocol Components - TIPC Components - TIPC network stack 3. Add WDB support to the image by including the WDB TIPC connection build component in your build. The location of the WDB TIPC connection build component in the Configurator is: - development tool components - WDB agent components - WDB connection - WDB TIPC connection 4. Include the TIPC instrumentation build component in your build: - development tool components - System Viewer components - TIPC instrumentation 5. Build your image project. Building VxWorks to include Wind River TIPC ------------------------------------------- You can include Wind River TIPC in a VxWorks image by building a project using WorkBench, by building a project using a command line project tool (either "prj" or "vxprj"), or by using a command line target BSP build. If you build using an IDE or project tool the build process ensures that no dependencies are missed; if you build using a target BSP build you are responsible for ensuring all of the necessary elements required by the image are included. For a WorkBench build, create a new project and configure it as follows: The following TIPC-related components are available in the component tree hierarchy: - Network Components - Network Protocol Components - TIPC Components - TIPC initialization - TIPC dynamic configuration - Bootline configuration - User configuration - TIPC static configuration - TIPC media types - Ethernet - Shared Memory - TIPC stack support - TIPC and IP network stacks present - TIPC network stack only - TIPC - TIPC configuration and display routines - TIPC memory pool - TIPC prioritized interfaces - TIPC socket API Include these components in your project using these rules: - Include the folder "TIPC Components" to get a default setup that should suite most people to get TIPC with Ethernet support, bootline configuration, and both TIPC and the IP network stacks together. Most people may include the TIPC configuration and display routines. - Include "TIPC" for any image requiring TIPC. - Include "TIPC static configuration" if you want to use a fixed TIPC configuration string. You must then change the TIPC_CONFIG_STR parameter of this component to the value of the configuration string. The values given for a particular parameter may be overwritten using a dynamic configuration method. - Include "Bootline configuration" if you want TIPC to use the "other" field of the target boot parameters as a TIPC configuration string. You must then modify the target's boot parameters to the value of the configuration string. - Include "User configuration" if you want TIPC to call the routine tipcConfigInfoGet() to obtain a TIPC configuration string. You must then add this routine to your image. - Include the Ethernet media type to allow TIPC to communicate over this interface after enabling this bearer type in the TIPC configuration. - Include the Shared Memory media type to allow TIPC to communicate over this interface after enabling this bearer type in the TIPC configuration. This support is only available on targets that support Shared Memory. - The TIPC memory pool and TIPC socket API are automatically selected when TIPC is included in this release. - Select the TIPC network stack only after excluding the Network folder. This will allow TIPC to exist on a system that is built without including the standard IP stack. A minimal footprint image can be created. - Include "TIPC configuration and display routines" if you want the TIPC show routines ("tipcConfig") to be included in your image. For a command line project tool build, create a new project and configure it as follows: - Add the component INCLUDE_TIPC for any image requiring TIPC. - Add the component INCLUDE_TIPC_CONFIG_STR if you want to use a fixed TIPC configuration string. You must then change the parameter TIPC_CONFIG_STR to the value of the configuration string. - Add the component INCLUDE_TIPC_CONFIG_HOOK_BOOT if you want TIPC to use the "other" field of the target boot parameters as a TIPC configuration string. You must then modify the target's boot parameters to the value of the configuration string. - Add the component INCLUDE_TIPC_CONFIG_HOOK_USER if you want TIPC to call the routine tipcConfigInfoGet() to obtain a TIPC con- figuration string. You must then add this routine to your image. - Add the components INCLUDE_TIPC_MEMPOOL and INCLUDE_TIPC_SOCKET to your project. Note, that these will be included automatically in this release when INCLUDE_TIPC is added. - Add the required media types (INCLUDE_TIPC_MEDIA_ETH and/or INCLUDE_TIPC_MEDIA_SM) as appropriate for your hardware. - Add the component INCLUDE_TIPC_SHOW if you want the TIPC show routines to be included in your image. Note: command line target BSP builds are not supported with this distribution. Once you have completed the configuration of your image using any of these methods, build the image normally. Configuring Wind River TIPC --------------------------- The default configuration settings used by Wind River TIPC allow it to operate as a standalone node. This means that an application can only use TIPC to communicate with other applications residing on the same node. To enable communication with other nodes it is necessary to alter the default configuration settings used by Wind River TIPC when VxWorks is initialized. This is done using optional configuration strings, which can be built into VxWorks (static configuration) or obtained from a routine called when TIPC is started (dynamic configuration), or both. Static configuration is most useful for parameters that apply to all nodes running a specific VxWorks image, such as the maximum number of nodes in a cluster. Dynamic configuration is most useful for parameters that vary from one node to another, such as the node address. It is also possible to configure TIPC after it starts using the tipcConfig utility if the TIPC configuration and management commands are included (INCLUDE_TIPC_SHOW). Issuing "tipcConfig" alone will generate a help screen describing all commands possible (reproduced below). If you use static configuration, the configuration string is specified as a C language string literal enclosed in double quotes. eg. "a=1.1.5;be=eth:cpm0" If you use dynamic configuration, the configuration string is obtained from one of the following sources: - A built-in routine that fetches the configuration string from the "other" parameter of the VxWorks boot ROM. Note: The string must *not* be enclosed in double quotes! - A user-supplied routine tipcConfigInfoGet() that fetches the configuration string from a location of your choice and copies it into a buffer supplied by TIPC. This routine has the following syntax: STATUS tipcConfigInfoGet ( char * buffer, /* buffer for null-terminated config string */ UINT bufferlen /* length of the buffer */ ) The routine should return OK on success, or ERROR if it is unable to place the configuration string in the designated buffer. The file with the source code for tipcConfigInfoGet( ) must contain the following include: #include "vxWorks.h" A configuration string is composed of a semi-colon-separated series of parameters and their values. Configuration strings are case sensitive and cannot contain spaces. eg. a=1.1.27;be=eth:cpm0;log=2000 The following configuration parameters are available at startup (note that the tipcConfig utility has more options available and will display a help screen with instructions if executed with no parameters - see below): netid= - The network ID used by the node's network. - Range: 1 to 9999 - Default: 4711 a=Z.C.N - The network address of the node. - Range: Z.1.N (where N is the node number, Z is the zone of interest) or 0.0.0 (for a standalone node) - Default: 0.0.0 be=eth: - Enable an Ethernet interface as a TIPC bearer. - Range: specifies both device type and device number for the interface (eg. be=eth:fei0) - Default: no interfaces are enabled NOTE: This parameter can be specified twice to allow two interfaces to be enabled. max_ports= - The maximum number of ports on a node. - Range: 127 to 65535 - Default: 8191 max_nodes= - The maximum number of nodes in the cluster. - Range: 8 to 2047 - Default: 255 max_clusters= - The maximum number of clusters in the zone. - Range: 1 to 2047 (fixed at 1 in this release) - Default: 1 max_zones= - The maximum number of zones in the network. - Note that only a single zone is supported in this release - Range: 1 to 255 (only 1 supported in this release) - Default: 3 max_publ= - The maximum number of port names or port names sequences the node can publish. - Range: 1 to 65535 - Default: 10000 max_subscr= - The maximum number of subscriptions allowed on the node. - Range: 1 to 65535 - Default: 2000 log= - The size of the circular log file - Range: 0 up to available memory (min non-zero size is 512, adjusted automatically) - Default: 0 tipcConfig ---------- When the TIPC configuratio ... ...

近期下载者

相关文件


收藏者