13 kprintf(
"%02x:%02x:%02x:%02x:%02x:%02x >",
21 kprintf(
" %02x:%02x:%02x:%02x:%02x:%02x, ",
35 kprintf(
"ARP (0x%04x), length %d: ",
45 kprintf(
"hard addr len=%d), proto addr len=%d), ",
50 kprintf(
"Request who-has %d.%d.%d.%d tell %d.%d.%d.%d, ",
60 kprintf(
"Reply %d.%d.%d.%d is-at %02x:%02x:%02x:%02x:%02x:%02x, ",
79 kprintf(
"IPv4 (0x%04x), length %d: ",
84 kprintf(
"tos 0x%01x, ttl %d, id %d, offset %d ",
99 ipcksum(pptr) == 0 ?
"ok" :
"fail");
102 kprintf(
"proto UDP (%d), length %d",
115 kprintf(
"[udp checksum none] ");
116 kprintf(
"UDP, src port %d, dst port %d, length %d\n",
122 kprintf(
"proto ICMP (%d), length %d",
137 kprintf(
"ICMP echo request, ");
168 kprintf(
"%02x:%02x:%02x:%02x:%02x:%02x >",
176 kprintf(
" %02x:%02x:%02x:%02x:%02x:%02x, ",
190 kprintf(
"ARP (0x%04x), length %d: ",
200 kprintf(
"hard addr len=%d), proto addr len=%d), ",
205 kprintf(
"Request who-has %d.%d.%d.%d tell %d.%d.%d.%d, ",
215 kprintf(
"Reply %d.%d.%d.%d is-at %02x:%02x:%02x:%02x:%02x:%02x, ",
234 kprintf(
"IPv4 (0x%04x), length %d: ",
239 kprintf(
"tos 0x%01x, ttl %d, id %d, offset %d ",
254 ipcksum(pptr) == 0 ?
"ok" :
"fail");
257 kprintf(
"proto UDP (%d), length %d",
270 kprintf(
"[udp checksum none] ");
271 kprintf(
"UDP, src port %d, dst port %d, length %d\n",
277 kprintf(
"proto ICMP (%d), length %d",
292 kprintf(
"ICMP echo request, ");
syscall kprintf(char *fmt,...)
ポーリングI/Oを使用して、フォーマットされた文字列をコンソールに出力する。
#define IP_UDP
IP向けのUDPプロトコルタイプ
byte arp_plen
ARPプロトコルアドレス長さ
#define ARP_PTYPE
IPプロトコルタイプ
byte net_ethdst[ETH_ADDR_LEN]
byte arp_hlen
ARPハードウェアアドレス長さ
#define ARP_OP_RPLY
リプライオペコード
#define IP_HDR_LEN
IPヘッダのバイト数。
uint16 arp_ptype
ARPプロトコルタイプ
byte net_ethsrc[ETH_ADDR_LEN]
uint16 ipcksum(struct netpacket *)
void pdump(struct netpacket *pptr)
#define ARP_HTYPE
Ethernetハードウェアタイプ
#define IP_ICMP
IP向けのICMPプロトコルタイプ
uint16 icmp_cksum(char *, int32)
byte arp_sndha[ARP_HALEN]
ARP送信者のEthernetアドレス
IP&Ethernet用のARPパケットフォーマット
#define ARP_OP_REQ
リクエストオペコード
void pdumph(struct netpacket *pptr)
uint32 arp_tarpa
ARPターゲットのIPアドレス
uint16 arp_htype
ARPハードウェアタイプ
uint32 arp_sndpa
ARP送信者のIPアドレス