|
|
|
@ -3174,7 +3174,9 @@ static int send_proxy_packet4(struct sk_buff *skb, struct re_address *src, struc |
|
|
|
uh->check = CSUM_MANGLED_0; |
|
|
|
|
|
|
|
skb->protocol = htons(ETH_P_IP); |
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0) |
|
|
|
if (ip_route_me_harder(par->state->net, skb, RTN_UNSPEC)) |
|
|
|
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
if (ip_route_me_harder(par->net, skb, RTN_UNSPEC)) |
|
|
|
#else |
|
|
|
if (ip_route_me_harder(skb, RTN_UNSPEC)) |
|
|
|
@ -3183,7 +3185,9 @@ static int send_proxy_packet4(struct sk_buff *skb, struct re_address *src, struc |
|
|
|
|
|
|
|
skb->ip_summed = CHECKSUM_NONE; |
|
|
|
|
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0) |
|
|
|
ip_local_out(par->state->net, skb->sk, skb); |
|
|
|
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
ip_local_out(par->net, skb->sk, skb); |
|
|
|
#else |
|
|
|
ip_local_out(skb); |
|
|
|
@ -3240,7 +3244,9 @@ static int send_proxy_packet6(struct sk_buff *skb, struct re_address *src, struc |
|
|
|
uh->check = CSUM_MANGLED_0; |
|
|
|
|
|
|
|
skb->protocol = htons(ETH_P_IPV6); |
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0) |
|
|
|
if (ip6_route_me_harder(par->state->net, skb)) |
|
|
|
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
if (ip6_route_me_harder(par->net, skb)) |
|
|
|
#else |
|
|
|
if (ip6_route_me_harder(skb)) |
|
|
|
@ -3249,7 +3255,9 @@ static int send_proxy_packet6(struct sk_buff *skb, struct re_address *src, struc |
|
|
|
|
|
|
|
skb->ip_summed = CHECKSUM_NONE; |
|
|
|
|
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0) |
|
|
|
ip6_local_out(par->state->net, skb->sk, skb); |
|
|
|
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) |
|
|
|
ip6_local_out(par->net, skb->sk, skb); |
|
|
|
#else |
|
|
|
ip6_local_out(skb); |
|
|
|
|