LINUX.ORG.RU

История изменений

Исправление vel, (текущая версия) :

Оптимист ты однако.

Ты бы проверил для начал, что ehdr->h_proto == ETH_P_IP

Далее проверяем, что ip->version == 4

Потом проверяем, что ip->protocol == IPPROTO_UDP, а потом уже читал данные из udp->

Формально sizeof(struct iphdr) не является константой, так что

udp = (struct udphdr *)((char *)ip +ip->ihl*4)

Исходная версия vel, :

Оптимист ты однако.

Ты бы проверил для начал, что ehdr->h_proto == ETH_P_IP

Далее проверяем, что ip->version == 4 для начала.

Потом проверяем, что ip->protocol == IPPROTO_UDP, а потом уже читал данные из udp->

Формально sizeof(struct iphdr) не является константой, так что

udp = (struct udphdr *)((char *)ip +ip->ihl*4)