車載ネットワーク 【Ethernet】車載ネットワーク その62【lwIP+npcap⑧】 npcapのデバイスのリンクタイプ取得APIについて。 pcap_datalinkはリンクタイプ取得API。 リンクタイプはbpf.hで定義されている。 引数はpcap_open_liveで取得したディスクリプタを渡すのみ。 Ethernetの場合は"DLT_EN10MB"が戻り値となる。 2021.01.06 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その61【lwIP+npcap⑦】 pcap_next_ex以外にキャプチャ用のAPIが存在。pcap_loop関数。 pcap_loopを使用したサンプルはudpdump。udpのみをフィルタしてキャプチャするサンプルプログラム。 今回は使用しないが、今後フィルタすることもあるえるため、こちらの実装方法を採用。 2021.01.05 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その60【lwIP+npcap⑥】 ネットワークシミュレーションに向けてnpcap初期化処理の話。 npcap初期化コードに必要なAPI説明。 pcap_findalldevs。 pcap_open_live。 ※ 両方とも以前説明済み。 npcap初期化コードを作成。サンプルコードのpcap_next_exをベースに抜き出してきた。 2021.01.04 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その59【lwIP+npcap⑤】 ネットワークシミュレーションに向けてlwIPの送信インターフェース実装の話。 連結リスト復習。 送信データを連結リストからリニアバッファに変換するコード作成。 エラーコードも調べて適切なエラーハンドリング実施。 エラーコード各種はerr.hで定義されてる。 2021.01.03 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その58【lwIP+npcap④】 ネットワークシミュレーションに向けてlwIPの送信、受信のインターフェースの特定をする。 lwIPの受信インターフェースは以前やった。 送信インターフェースはやってなかった。 netifのlinkoutputってメンバ変数に登録するコールバック関数が送信インターフェース。ただし、連結リストのバッファを渡す必要がある。 2021.01.02 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その57【lwIP+npcap③】 lwIPのソースコード修正。以前のlwIP疑似受信の時の情報を流用。 VisualStudio 2017でlwIPのソリューションとプロジェクトを作成。フィルタをフォルダ構成に合わせておくと見やすいかも。 2021.01.01 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その56【lwIP+npcap②】 ネットワークシミュレーションのビルド環境は実績のあるVisualStudio 2017 express。 lwIPとnpcap-SDKも入手しておく。 デバッグ/検証をし易くするようWiresharkもインストールしておく。 2020.12.31 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その55【lwIP+npcap①】 太郎くん思い付きのシミュレーション構成。lwIPの下にnpcapを置くことでプロトコルスタックのシミュレーション。 目的はlwIPにアドオン済みのHTTPサーバの動作。 中間の動作確認用にpingことICMPも搭載しておく。 システム構成は大雑把なところから書いてOK。 2020.12.30 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その54【npcap⑨】 パケット送信APIについて説明。 送信バッファ、送信サイズを指定するだけのシンプルな物。 特に特殊なことは無い。 ホントに無い。 2020.12.29 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その53【npcap⑧】 npcapで実際に送信したみた時の話。 パケット送信のサンプルのsendpackを動作させた。 pktdump_exとWiresharkでキャプチャ。 想定通りのパケットが送出されていた。 2020.12.28 車載ネットワーク