next up previous contents index
Next: IRIXETH Up: Device Drivers Previous: Device Drivers

ETHPKT

NAME

ETHPKT (Raw Ethernet Driver (Linux platform))

SPECIFICATION

ETHPKT provides direct interaction with an ethernet device through a Linux SOCK_PACKET socket.

SYNOPSIS

Each instantiation of ETHPKT is associated with a single ethernet device. ETHPKT has the ability to re-map and block ethernet types to allow an x-kernel to coexist with the normal TCP/IP stack.

REALM

ETHPKT is in the ANCHOR realm, supporting the ethernet driver interface described in ETH.

PARTICIPANTS

ETHPKT supports the ethernet driver interface rather than a standard xkernel UPI, and thus makes no use of participant stacks.

CONTROL OPERATIONS

GETMYHOST:

Returns the six byte hardware address for the ethernet device.

Input:
none
Output:
ETHhost*

ETH_SETPROMISCUOUS:

Enables promiscuous mode for the ethernet device.

Input:
none
Output:
none

EXTERNAL INTERFACE

ETHPKT adheres to the external interface defined by ETH.

CONFIGURATION

ETHPKT requires no lower protocol. The default network device is ``eth0'', which corresponds to the primary ethernet adapter in the host machine.

name=ethpkt;

ETHPKT recognizes the following ROM options:

ethpkt/xxx block type:

Instantiation xxx of ETHPKT will block all ethernet packets of the given type from being processed by the driver. The type should be specified in hex and should be in network byte order. There is no limit to the number of block options.

ethpkt/xxx device name:

Instantiation xxx of ETHPKT will use the given network device. This is the name used internally by the Linux kernel. If no option is provided the default is ``eth0''.

ethpkt/xxx remap realtype bogustype:

Instantiation xxx of ETHPKT will re-map all outgoing ethernet packets of type realtype to bogustype. The reverse will be done to all incoming packets. The realtype and bogustype should be specified in hex and should be in network byte order. There is no limit to the number of remap options. Although subsequent operations on previously mapped ids have no effect.

After an incoming packet has had its ethernet type field re-mapped it is subject to being blocked from the block option.

This method of changing ethernet types allows different mappings for each instantiation of ETHPKT. If this is not required, the x-kernel protocols tables could be changed to achieve the same result.

Example graph.comp and rom files for using ETHPKT can be found in /usr/xkernel/user_level/build/Template/example_ethpkt.

AUTHOR

Mason Katz



next up previous contents index
Next: IRIXETH Up: Device Drivers Previous: Device Drivers



Larry Peterson
Tue Jul 1 14:50:34 MST 1997