Hairpinning through net/ipv6/sit.c

From: Templin, Fred L <hidden>
Date: 2015-05-09 01:25:32

Hello,

In ipip6_rcv() of net/ipv6/sit.c, I am trying to institute "hairpinning". By that,
I mean that when ipip6_rcv() processes an IPv6-in-IPv4 encapsulated packet
I examine IPv6 routing to see if the packet should go back out the same
interface it arrived on. If so directed by routing, I want to rewrite the IPv4
source and destination addresses and directly call ip_local_output(skb)
instead of calling netif_rx(skb). But, when I call ip_local_output(skb), the
system locks up.

Any ideas on what is happening and how to fix it? Or, any ideas on other
ways to do this kind of hairpinning?

Thanks - Fred
fred.l.templin@boeing.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help