Roman, Thanks, that was it,
Hristo --- On Tue, 4/28/09, Roman Chertov <[email protected]> wrote: From: Roman Chertov <[email protected]> Subject: Re: [Click] encapsulating from IPEncap to EtherEncap exception To: "Hristo Asenov" <[email protected]> Cc: [email protected], "Andrew Crowell" <[email protected]>, "Anne" <[email protected]> Date: Tuesday, April 28, 2009, 9:22 PM Hristo, Essentially, a new packet has to be allocated with a larger headroom to accommodate extra headers. Hence, there is a warning message regarding an expensive push. You need to use the HEADROOM parameter in the Socket element to increase the headroom. The default is 28 bytes. Since you are 6 bytes short "have 8 wanted 14", you need to set the HEADROOM to 34 bytes. Roman Hristo Asenov wrote: > Hello, > > We are currently using CLICK to form our own packets, with the DATA field of > IP packet set to our own value, which we get from an arbitrary socket. We are > using IPEncap to encapsulate our data in a valid IP packet, then using > EtherEncap to encapsulate it into an ethernet frame. Our script looks like: > > Socket(TCP, 0.0.0.0, 7777) > -> Print("From Socket: ") > -> IPEncap(0, 192.168.0.2, 192.168.0.3) > -> Print("From IP: ") > -> IPPrint("From IP: ") > -> EtherEncap(0x0800, 0:0:0:0:0:0, 1:1:1:1:1:1) > -> Print("From Ethernet: ") > -> Queue -> ToDevice(eth0); > > Going from IPEncap to EtherEncap, we are getting the exception "expensive > Packet::push; have 8 wanted 14". I have a feeling that the exception is > inside IPEncap. The packet is still transmitted over the network, however we > have no idea why that exception is being generated. If anyone can help us > out, it would be appreciated. > > Hristo > > > > > _______________________________________________ > click mailing list > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click > _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
