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

netif_rx(skb);

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

dev->last_rx = jiffies;

((struct net_device_stats *)(dev->priv))->rx_packets++; /* количествополучений */

((struct net_device_stats *)(dev->priv))->rx_bytes += size; /* количествополученныхбайт */

/*

* Если случится что-то плохое во время доставки, netif_rx()

* сделало amark_bh(INET_BH) для нас и будет работать

* когда мы войдем в bottom-halv.

*/

}

ip_finish_output() net/ipv4/ip_output

определяет девайс для данного маршрута

вызывает функцию девайса[=dev_queue_xmit]

ip_forward -net/ipv4/ip_forward

в этом файле хорошие комментарии

проверяем роутер

если пакет никому не предназначен то дропаем

если плохой TTLаналогично

если неможет пакет отфорвардится то отправляем icmpпакет ICMP_DEST_UNREACH

если необходимо шлем пакет ICMPHOSTREDIRECT

копируем и уничтожаем старый пакет

уменьшаем TTL

если необходимо устанавливаем нужные опции ip_forward_optionsв

ip_forward_finish

ip_rcvnet/ipv4/ip_input.cглавная функция получения ipпакета

проверяем ошибки

плохая длина

версия

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