The destination address daddr is faddr if source route option is set, otherwise it is inet_daddr. So use if-else to assign the value.
Signed-off-by: Harvey Yang <harvey.huawei.y...@gmail.com> --- net/ipv4/ip_output.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 3e98ed2..22b738c 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -349,10 +349,10 @@ int ip_queue_xmit(struct sk_buff *skb, struct flowi *fl) __be32 daddr; /* Use correct destination address if we have options. */ - daddr = inet->inet_daddr; if (inet_opt && inet_opt->opt.srr) daddr = inet_opt->opt.faddr; - + else + daddr = inet->inet_daddr; /* If this fails, retransmit mechanism of transport layer will * keep trying until route appears or the connection times * itself out. -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/