Курсовая работа: Реализация сети в операционной системе Linux

iph->saddr=rt->rt_src;

iph->daddr=rt->rt_dst;

iph->check=0;

iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);

err = getfrag(frag, ((char *)iph)+iph->ihl*4,0, length-iph->ihl*4);

}

calls getfrag() копируем данные у юзера

returns rt->u.dst.output() [= dev_queue_xmit()]

ip_queue_xmit() - net/ipv4/ip_output.c (234)

cмотри маршрут

достраиваем ip заголовок

фрагментирум если надо

adds IP checksum

calls skb->dst->output() [= dev_queue_xmit()]

qdisc_restart() - net/sched/sch_generic.c (50)

вырываем пакет из очереди

calls dev->hard_start_xmit()

обновляем статистику

if если ошибка опять стввим пакет в очередь

sock_sendmsg() - net/socket.c (325)

проверяемправаивсётакое

calls scm_sendmsg() [socket control message]

шлёмсданные

calls sock->ops[inet]->sendmsg() and destroys scm

>>> sock_write() - net/socket.c (399)

calls socki_lookup() accоциируемсокетс inode

заполняем заголовок сообщения

returns sock_sendmsg()

tcp_sendmsg() - net/ipv4/tcp.c (755)

К-во Просмотров: 1523
Бесплатно скачать Курсовая работа: Реализация сети в операционной системе Linux