Skip to content
  • David S. Miller's avatar
    ipv4: Kill spurious write to iph->daddr in ip_forward_options(). · 0374d9ce
    David S. Miller authored
    
    
    This code block executes when opt->srr_is_hit is set.  It will be
    set only by ip_options_rcv_srr().
    
    ip_options_rcv_srr() walks until it hits a matching nexthop in the SRR
    option addresses, and when it matches one 1) looks up the route for
    that nexthop and 2) on route lookup success it writes that nexthop
    value into iph->daddr.
    
    ip_forward_options() runs later, and again walks the SRR option
    addresses looking for the option matching the destination of the route
    stored in skb_rtable().  This route will be the same exact one looked
    up for the nexthop by ip_options_rcv_srr().
    
    Therefore "rt->rt_dst == iph->daddr" must be true.
    
    All it really needs to do is record the route's source address in the
    matching SRR option adddress.  It need not write iph->daddr again,
    since that has already been done by ip_options_rcv_srr() as detailed
    above.
    
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0374d9ce