**This is automatically generated documentation.** Edit after the "[[#COMMENTS|COMMENTS]]" heading; changes to the main body will be lost. ====== RawSocket Element Documentation ====== ===== NAME ===== **RawSocket** -- Click element; transports raw IP packets via safe raw sockets (user-level) ===== SYNOPSIS ===== RawSocket("TCP", [, //KEYWORDS//])\\ RawSocket("UDP", [, //KEYWORDS//])\\ RawSocket("GRE", [, //KEYWORDS//])\\ RawSocket("ICMP", [, //KEYWORDS//]) **Ports**: at most 1 input, at most 1 output\\ **Processing**: pull inputs, push outputs\\ **Drivers**: userlevel\\ **Package**: userlevel (core)\\ ===== DESCRIPTION ===== Reads data from and writes data to a raw IPv4 socket. The raw IPv4 socket may optionally be bound to a source port number in the case of TCP/UDP, a GRE key or PPTP call ID in the case of GRE, or an identifier in the case of ICMP. Binding a port to a raw IPv4 socket to reserve it and suppress TCP RST and ICMP Unreachable errors, is specific to PlanetLab Linux. Keyword arguments are: ? **SNAPLEN** ! Unsigned integer. Maximum packet length. This value represents the MRU of the RawSocket if it is used as a packet source. If the MRU is violated by the peer, i.e. if a packet longer than SNAPLEN is sent, the connection may be terminated. ? **PROPER** ! Boolean. PlanetLab specific. If true and Click has been configured --with-proper, use Proper to bind a reserved port. ? **HEADROOM** ! Unsigned Integer. Amount of headroom to reserve in packets created by this element. This could be useful for encapsulation protocols which add headers to the packet, and can avoid expensive push operations later in the packet's life. ===== EXAMPLES ===== RawSocket(UDP, 53) -> ... ===== SEE ALSO ===== [[Socket]] Generated by 'click-elem2man' from '../elements/userlevel/rawsocket.hh' on 24/May/2007. ===== COMMENTS =====