On 01/12/2015 11:22 AM, Mike Christie wrote: > On 1/9/15, 8:28 PM, Thomas Dwyer III wrote: >> Hi folks, >> >> I spent some time browsing through this forum but I was unable to find an >> explanation for this comment referring to the disabled bind_src_by_address() >> function in io.c: >> >> *This is not supported for now, because it is not exactly what we want.* >> *It also turns out that targets will send packets to other interfaces* >> *causing all types of weird things to happen.* >> >> I found several posts from people referring to this specific comment but I >> did not find an explanation. Is it possible that the author of this comment >> was referring to the ARP flux issue, which may cause a target to associate >> the bound IP address with the MAC address from an interface other than the >> one specified with SO_BINDTODEVICE? If so, I don't see how avoiding the >> call to bind() solves this problem. I would appreciate a reply from anyone >> who might know what "weird things" means in this context. >> > > bind_src_by_address() only did a bind() and was expecting all traffic to flow > through the interface with the specified ip address. If you have multiple > interfaces on the same subnet, the network layer would send/recv on any of > them. This ended up causing issues with packets not getting sent/received or > received > in incorrect orders to the iscsi layers on the initiator/target side.
If you add additional routing logic based on source-addresses, then this method will indeed bind to a particular interface, so please leave that logic in place. BINDTODEVICE is also very useful, of course, but it will not be so useful if you have multiple IPs on the same interface. Thanks, Ben > > SO_BINDTODEVICE is not related to bind() (was not sure about your comment > about avoiding bind when using that sockopt). It tells the kernel to ignore > the normal > routing tables and to just use the interface we specify with that call. > > Why are you asking about this? Do you need something like bind by ip? > -- Ben Greear <gree...@candelatech.com> Candela Technologies Inc http://www.candelatech.com -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to firstname.lastname@example.org. Visit this group at http://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout.