Message ID | 53715D67.8020803@davidnewall.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
My thought of calling ip_forward_options to set RR and TS addresses (not to mention checksum) is not working out, because skb_rtable returns NULL. I think I'm supposed to call skb_set_dst, but how I get dst is eluding me. Leaving broken values in the options, just recalculating the checksum, is starting to look very attractive right now, but I'd rather not. How do I proceed? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- br_netfilter.c.orig 2014-05-12 22:10:59.809988125 +0930 +++ br_netfilter.c 2014-05-13 08:08:48.330396347 +0930 @@ -312,6 +312,9 @@ goto drop; } + if (unlikely(opt->is_changed && opt->optlen)) + ip_forward_options(skb); + return 0; inhdr_error: --- ../ipv4/ip_options.c.orig 2014-05-13 05:40:10.408914495 +0930 +++ ../ipv4/ip_options.c 2014-05-13 08:29:01.482130038 +0930 @@ -601,6 +601,7 @@ ip_send_check(ip_hdr(skb)); } } +EXPORT_SYMBOL(ip_forward_options); int ip_options_rcv_srr(struct sk_buff *skb) {