Date: Thu, 16 Nov 2000 19:57:16 +0100 From: Falco Krepel <krepel@fokus.gmd.de> To: "freebsd-net@FreeBSD.ORG" <freebsd-net@FreeBSD.ORG> Subject: New Protocol over Ethernet Message-ID: <3A142E0C.1B1D18DD@fokus.gmd.de>
next in thread | raw e-mail | index | archive | help
Hi, I want to implement my own protocol on top of ethernet. This protocol should should not influence other protocols running on the system. So I must distinguish my own frames from other frames. Because this is my first time to implement such a protocol on FreeBSD I am not sure how I can do this. I have read some documentation about interprocess communication within FreeBSD, the TCP/IP illustrated book, ... Furthermore I study the BSD source code around network communication. But until now it is not clarify how I can do this in the best way. If I understood it right, three approaches exists: 1. I creat with netgraph a hook over ther ethernet interface. With this solution I am not shure how much overhead this adds because it could be possible that this runs into timing problems. 2. I attach direct to the ethernet interface. This means I must add a new protocol class to get only my own frames. Is that right? 3. I use the DL interface with a socket. About the DL interface I haven't found any information how I can use this interface. Now my questions: - Are the three ways correct or I did misunderstand something? - Does exist an implementation which could help me to find the solution? - Has anybody experience with such an implementation? I hope somebody can help me. I am also happy about some hints about good literature helping me to solve this problem. Thanx in advanced Falco -- Falco Krepel Phone: +49-(0)30 - 34 63 - 7 276 GMD-FOKUS Fax: +49-(0)30 - 34 63 - 8 276 Kaiserin-Augusta-Allee 31 e-mail: krepel@fokus.gmd.de 10589 Berlin WWW: http://www.fokus.gmd.de/usr/krepel 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?3A142E0C.1B1D18DD>