Thread (4 messages) 4 messages, 2 authors, 2013-02-22

Sending an IP packet

From: Adel Qodmani <hidden>
Date: 2013-02-22 13:53:50

On Fri, Feb 22, 2013 at 3:47 PM, Rami Rosen [off-list ref] wrote:
Hi, Adel,

You should use
ip_route_output_flow().
For this you should construct a
 flowi4 instance.
ip_route_output_flow() is exported via EXPORT_SYMBOL_GPL.

See for example how this is done in udp_sendmsg().

Good luck!

Rami Rosen
http://ramirose.wix.com/ramirosen

On Fri, Feb 22, 2013 at 2:36 PM, Adel Qodmani [off-list ref] wrote:
quoted
Hey,

My question is quite simple, I have an sk_buff that I want to transmit,
the
quoted
sk_buff is an ICMP message and so far, I've built the headers and set up
everything.

The problem is, when I want to do such a thing, I typically use a
function
quoted
called:
dev_queue_xmit which takes the skb and transmits the packet using the
net_device specified in the skb; but time time I can't set the
net_device, I
quoted
need the packet to go through the routing code and get it sent normally;
so
quoted
what function can I use to that?

Some notes:
*The kernel I am working on is 3.2.0-37
*I am working using Modules, so symbols that are not exported are
unreachable for me
*I set the IP header using htons, so my header data is already in network
byte-order.

Regards,
Adel

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Hi Rami,

Using ip_route_output_flow() or using udp_sendmsg() would require not only
constructing a flowi4 but also a sock; I am intentionally trying to avoid
building a sock at the time being.
Is there a way I can deliver my sk_buff to the routing code so that it'd
set the net_device in there or at least tell me which interface to use and
then I'd set it up myself?

Thankful,
Adel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130222/60db6f2a/attachment-0001.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help