Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Aug 2002 00:37:05 +0430
From:      "soheil h" <soheil_h_y@hotmail.com>
To:        freebsd-net@FreeBSD.ORG
Subject:   creating packets but cannot send
Message-ID:  <F583mbfJ8VrRQvXlaoY00000d4a@hotmail.com>

next in thread | raw e-mail | index | archive | help

Hi list

in ip_input.c::ip_input() i make
mbuf * m1;
MGETHDR(m1, M_DONTWAIT, MT_HEADER);
if(m1 != NULL){
   soheilFillInIp(m1, m);
   m->m_data += max_linkhdr;
   m->m_len = hdrlen;
   ip_forward(m1, 0);
}

at line 1615 of ip_forward() function it takes page fault error in kernel it 
says the page is not present

if (m->m_flags & (M_BCAST|M_MCAST) || in_canforward(pkt_dst) == 0) {

the soheilFillInIp creates an ipPacket from incoming ip packet
as  and it passes with no error on:
....
ip1 = mtod (m, struct ip *);
ip2 = mtod (m1, struct ip *);
ip2->ip_vhl = IP_VHL_BORING;
ip2->ip_dst = ip1->ip_src; // and vice versa
or
ip2->ip_sum = in_cksum_hdr(m1, sizeof(struct tcpiphdr));
....
when i do something to pass that line of ip_forward
in ip_output when it calls the in_delayed_cksum
it takes the same error

how can i solve this
i think something is in the m1 header or data that i didn't set it or ...
help me SOS

_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F583mbfJ8VrRQvXlaoY00000d4a>