Re: Custom protocol implementation in the linux kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 7 Oct 2004 bkurian@rochester.rr.com wrote:

1) I want to be able to specify a new protocol and send and receive all the packets of that protocol. I want to be able to write raw ethernet frames with just my data (and the ethernet header of course).

This should be fairly straight forward.

What part of http://www.unm.edu/~zhuwb/work/docs/addProto.htm did not work?

2) The protocol is a "broadcast" one, so I don't want to use any specific address, instead I want the message to reach every machine on the LAN segment that I am on.

Just send the frames out as ethernet broadcasts, addressed to a suitable ethernet broadcast or multicast address.


3) If possible, I want it to be written as a linux module. I also need a couple of syscalls from the user space program to send and receive data. One thing that I thought I could do was have dummy implementations of those two syscalls which do nothing, and then overwrite them with actual implementation when the module is inserted (kind of like what the document above suggests). But with 2.6.X kernels sys_call_table is not exported, so I am unable to do that. Any other ideas to acheive more or less the same would be great.

This should prerferably be done by adding your own address family for your protocol, allowing applications to create sockets to your protocol. But using a custom syscall or device node during the early implementation may be easier.


Regards
Henrik
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux