home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!sdd.hp.com!usc!sol.ctr.columbia.edu!ira.uka.de!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!ub4b!news.cs.kuleuven.ac.be!blekul11!alijku11!k111114
- Organization: Johannes Kepler University Linz - Computing Center
- Date: Tuesday, 17 Nov 1992 04:58:32 CET
- From: <K111114@ALIJKU11.BITNET>
- Message-ID: <92322.045832K111114@ALIJKU11.BITNET>
- Newsgroups: comp.os.linux
- Subject: ICMP (raw sockets)
- Lines: 24
-
- hi.
- Maybe I've found what disables sending an ICMP message, but I'm still not done
- with all of it. In raw.c, line 225, the folling instruction:
-
- memcpy_fromfs(skb+1,from,len);
-
- I think that this memcpy overwrites the previous built ethernet-header (line
- 215, sk->prot->build_header(...). Possibly the problem could be solved by
- doing something like:
-
- unsigned char *to;
- ...
- to=(unsigned char *)(skb+1);
- to+=tmp; /* tmp = size of ethernet header */
- memcpy_fromfs(to,from,len);
-
- Well, do be honest: I had a little sucess, but still ICMP isn't working.
- But at least, the packet sent to the loopback was finally recognized as IP
- packet. That means, searching for the packet-type did give a X'800', which
- is the ethernet code for ip-packet. What does NOT work right now is the call
- to ptype->func, which sould be "ip_rcv", and this one should call something
- like icmp_rcv. Maybe just "to+=tmp" is wrong? I gonna check this out ... :-)
-
- Bye, Herp.
-