[kernel]ネットワークドライバ

Linuxのデバイスには
– キャラクタデバイス: バイト単位のデータ通信
– ブロックデバイス: ブロック単位のデータ通信
– ネットワークデバイス: ブロック単位のデータ通信
L /dev以下にはマウントされない
L システムコールのインターフェースが異なる
L デバイスからも非同期的にカーネルアクセスが発生する

ネットワークドライバに最低限必要な機能は、デバイスの取得及び各種設定、パケット送信、パケット受信

$ dmesg | grep eth0
[ 1.390857] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 02:43:0e:00:05:fc
[ 1.393083] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
[ 3.305024] e1000 0000:00:03.0 enp0s3: renamed from eth0

ん、eth0にe1000が当たってる?
$ modinfo e1000
filename: /lib/modules/4.15.0-101-generic/kernel/drivers/net/ethernet/intel/e1000/e1000.ko
version: 7.3.21-k8-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, srcversion: 10A45E43BF63AE653A22C94

デバイスファイルは/devにある
fd0 フロッピードライブ
fd1 フロッピードライブ
sda ハードディスク
sdb ハードディスク
sda1 最初のハードディスクの最初のパーティション
sdb7 2番目のハードディスクの7番目のパーティション
sr0 CD-ROM
sr1 CD-ROM
ttySO シリアルポート0
ttyS1 シリアルポート1
psaux PS/2 マウスデバイス
gpmdata 擬似デバイス
cdrom
mouse
null 書き込まれたものを全て消す
zero 無限に0を読み出せる