(toppers-users 4008) Re: TINET ipv6 tcp/udpのコンフュグ方法について

高橋和浩@nifty takahashi_kazuhiro @ nifty.com
2012年 7月 20日 (金) 09:39:50 JST


阿部先生、MLの皆様
お世話になっております。アライブビジョンソフトウエアの高橋です。

本件、自己解決しました。お騒がせしました。

実施したこと
usrv6 で -s tcp/udp にしたあと
通信端点を tinet_usrv6.cfg で定義
usrv6.c で tcp.hをインクルード

です。
TCPは実態が無い(配列0)なのでエラーになっていたようです。


>8章に設定方法の説明かと思いますが、何をユーザーが用意して何がコンフィギュレータから
>出力されるのかがわかりません。

それから、コンフィギュレーションスクリプトの実行方法ですが、
tinet_jsp_configureのコメントでようやくわかりましたが、

#  -d <dir>		テンプレートディレクトリを指定(デフォルトはtinet/jsp_sample)
ここに、コンフィギュレーションスクリプトオプション -A 何某 とした場合に-d ディレクトリの
何某.c 何某.cfg 何某.h tinet_何某.cfg
を置いておき、それがコピーされるということかと思います。
この情報は、tinet.txt jsp/doc/user.txt いずれにも記載がないように思います。

よろしくお願いします。

On Thu, 19 Jul 2012 19:22:23 +0900
高橋和浩@nifty <takahashi_kazuhiro @ nifty.com> wrote:

> 阿部先生、MLの皆様お世話になります。
> アライブビジョンソフトウエアの高橋です。
> 
> TINETでIPV6でTCPとUDPを使うプログラムを作成したいのですが、コンフィギュレーションの方法
> がわかりません。
> 
> やってみたこと(概要)
> 1.サンプル nserv で、udpエコーサーバー以外は、無効にした。
>  --->コンパイルエラー(詳細は後述)
> 
> 2.サンプル usrv6 で -s tcp/udp に変更した
>  ---> コンパイルエラー
> 
> それで、tinet.pdfを確認しましたが、自分ではこの内容では理解できません。
> みなさん御理解されているのでしょうか?
> 以下抜粋です。
> 
> -------------------------------------------------------------------------------------
> 8. 2 ファイルの作成、設定
> アプリケーションプログラムの他に、変更・新規作成すべきファイルと TINET コンフィグレータで
> 生成されるファイルを以下に示す。全て TOPPERS/JSP ルートディレクトリからの相対パスであり、
> Makefile マクロの意味を以下に示す。
> --------------------------------------------------------------------------------------
> 8章に設定方法の説明かと思いますが、何をユーザーが用意して何がコンフィギュレータから
> 出力されるのかがわかりません。
> 
> まずアプリケーションプログラムをどこに置いておけばいいのでしょうか?
> 8.2は、configuratorが出力するファイルを記述しているだけのように思えています。
> 
> 
> ---------------------------------------------
> 上記の(nserv)サンプルでの詳細
> Makefileの修正
> #  ソースファイルのディレクトリの定義
> #
> SRCDIR = ..
> CONFIGDIR ?= $(SRCDIR)/config
> 
> #  共通サーバプログラムの選択
> 
> #USE_WWW_SRV = true
> USE_UDP_ECHO_SRV = true
> #USE_TCP_DISCARD_SRV = true
> 
> #  TCP エコーサーバプログラムの選択、ただし、両方は選択できない。
> #    tcp_echo_srv1: 送受信タスク同一型
> #    tcp_echo_srv2: 送受信タスク分離型
> 
> #TCP_ECHO_SRV = tcp_echo_srv1
> #TCP_ECHO_SRV = tcp_echo_srv2
> 
> # シリアル経由のみ
> #USE_DBG_CONS = true
> 
> # シリアルとネットワーク経由
> # ただし、ノンブロッキングコールを組込んだ時有効
> #USE_NET_CONS = true
> 
> #  共通クライアントプログラムの選択
> 
> #USE_TCP_ECHO_CLI = true
> #USE_UDP_ECHO_CLI = true
> #USE_TCP_DISCARD_CLI = true
> #USE_UDP_DISCARD_CLI = true
> #USE_PING = true
> 
> #  共通サーバタスク数の選択
> 
> #CDEFS := $(CDEFS) -DNUM_WWW_SRV_TASKS=1		# WWW サーバタスク数、最大 2
> #CDEFS := $(CDEFS) -DNUM_TCP_ECHO_SRV_TASKS=1	# TCP ECHO サーバタスク数、最大 8
> 
> ---------------------------------------------------
> コンパイル結果
> --------------------------------------------------
> make dependの後 make の最後のほう
> rm -f tmpfile1 tmp_script.pl
> h8300-hms-gcc -c  -mh -mint32 -mrelax -O2 -g  -DCPU_CLOCK=20000000 -DLABEL_ASM -DVECTOR_SIZE=64 -DNUM_VRID_TCP_REPS=2            -DNUM_VRID_TCP_CEPS=4          -DNUM_VRID_UDP_CEPS=2            -DNUM_VRID_TCP6_REPS=1  -DNUM_VRID_TCP6_CEPS=2 -DNUM_VRID_UDP6_CEPS=2   -DUSE_IPV6_MMTU -DUSE_UDP_ECHO_SRV -DUSE_NETAPP_SUBR -DUSE_COPYSAVE_API -DUNDEF_TCP_CFG_PASSIVE_OPEN -DTCP_CFG_RWBUF_CSAVE -DTCP_CFG_SWBUF_CSAVE -DUSE_TCP_NON_BLOCKING -DTCP_CFG_EXTENTIONS -DUSE_TCP_EXTENTIONS -DUDP_CFG_EXTENTIONS -DUSE_UDP_EXTENTIONS  -DTARGET_KERNEL_JSP -DTARGET_KERNEL_JSP -DSUPPORT_INET6 -DSUPPORT_ETHER -DSUPPORT_UDP -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY -DTNCT_MONITOR -I. -I../include  -I../config/h8/akih8_3069f -I../config/h8 -I../tinet/netdev/if_ed -I../tinet  -I../kernel vector.S
> h8300-hms-gcc -c  -mh -mint32 -mrelax -O2 -g  -DCPU_CLOCK=20000000 -DLABEL_ASM -DVECTOR_SIZE=64 -DNUM_VRID_TCP_REPS=2            -DNUM_VRID_TCP_CEPS=4          -DNUM_VRID_UDP_CEPS=2            -DNUM_VRID_TCP6_REPS=1  -DNUM_VRID_TCP6_CEPS=2 -DNUM_VRID_UDP6_CEPS=2   -DUSE_IPV6_MMTU -DUSE_UDP_ECHO_SRV -DUSE_NETAPP_SUBR -DUSE_COPYSAVE_API -DUNDEF_TCP_CFG_PASSIVE_OPEN -DTCP_CFG_RWBUF_CSAVE -DTCP_CFG_SWBUF_CSAVE -DUSE_TCP_NON_BLOCKING -DTCP_CFG_EXTENTIONS -DUSE_TCP_EXTENTIONS -DUDP_CFG_EXTENTIONS -DUSE_UDP_EXTENTIONS  -DTARGET_KERNEL_JSP -DTARGET_KERNEL_JSP -DSUPPORT_INET6 -DSUPPORT_ETHER -DSUPPORT_UDP -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY -DTNCT_MONITOR -I. -I../include  -I../config/h8/akih8_3069f -I../config/h8 -I../tinet/netdev/if_ed -I../tinet  -fno-strict-aliasing nserv.c
> h8300-hms-gcc -c  -mh -mint32 -mrelax -O2 -g  -DCPU_CLOCK=20000000 -DLABEL_ASM -DVECTOR_SIZE=64 -DNUM_VRID_TCP_REPS=2            -DNUM_VRID_TCP_CEPS=4          -DNUM_VRID_UDP_CEPS=2            -DNUM_VRID_TCP6_REPS=1  -DNUM_VRID_TCP6_CEPS=2 -DNUM_VRID_UDP6_CEPS=2   -DUSE_IPV6_MMTU -DUSE_UDP_ECHO_SRV -DUSE_NETAPP_SUBR -DUSE_COPYSAVE_API -DUNDEF_TCP_CFG_PASSIVE_OPEN -DTCP_CFG_RWBUF_CSAVE -DTCP_CFG_SWBUF_CSAVE -DUSE_TCP_NON_BLOCKING -DTCP_CFG_EXTENTIONS -DUSE_TCP_EXTENTIONS -DUDP_CFG_EXTENTIONS -DUSE_UDP_EXTENTIONS  -DTARGET_KERNEL_JSP -DTARGET_KERNEL_JSP -DSUPPORT_INET6 -DSUPPORT_ETHER -DSUPPORT_UDP -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY -DTNCT_MONITOR -I. -I../include  -I../config/h8/akih8_3069f -I../config/h8 -I../tinet/netdev/if_ed -I../tinet  -fno-strict-aliasing ../tinet/netapp/netapp_subr.c
> ../tinet/netapp/netapp_subr.c:566: `TCP_RSV_REPID1' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:566: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:566: (near initialization for `vrid_tcp_rep[0]')
> ../tinet/netapp/netapp_subr.c:569: `TCP_RSV_REPID2' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:569: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:569: (near initialization for `vrid_tcp_rep[1]')
> ../tinet/netapp/netapp_subr.c:576: `TCP_RSV_CEPID1' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:576: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:576: (near initialization for `vrid_tcp_cep[0]')
> ../tinet/netapp/netapp_subr.c:579: `TCP_RSV_CEPID2' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:579: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:579: (near initialization for `vrid_tcp_cep[1]')
> ../tinet/netapp/netapp_subr.c:582: `TCP_RSV_CEPID3' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:582: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:582: (near initialization for `vrid_tcp_cep[2]')
> ../tinet/netapp/netapp_subr.c:585: `TCP_RSV_CEPID4' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:585: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:585: (near initialization for `vrid_tcp_cep[3]')
> ../tinet/netapp/netapp_subr.c:696: `UDP_RSV_CEPID1' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:696: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:696: (near initialization for `vrid_udp_cep[0]')
> ../tinet/netapp/netapp_subr.c:699: `UDP_RSV_CEPID2' undeclared here (not in a function)
> ../tinet/netapp/netapp_subr.c:699: initializer element is not constant
> ../tinet/netapp/netapp_subr.c:699: (near initialization for `vrid_udp_cep[1]')
> Makefile:560: recipe for target `netapp_subr.o' failed
> make: *** [netapp_subr.o] Error 1
> ------------------------------------------------------------
> 
> やりたいことは、UDPとTCPを有効にしてなにもないところからプログラムを
> 書きたいのですが、usrv6を単に -s tcp/udpにしてもコンパイル時エラーになります。
> 昔、利用したときは、サンプルが非常にシンプルだったためそのまま使えていましたが
> 今のサンプルは多機能のため、不要機能の削除をしたいのですがエラーになります。
> 
> よろしく、御教授お願いします。
> 
> ---
> アライブビジョンソフトウエア株式会社
> 高橋和浩
> 673-0005兵庫県明石市小久保2-2-7幹線ビル4F
> Email:takahashi_kazuhiro @ nifty.com
> http://homepage3.nifty.com/ALVS/