TCP socket and interface down

Submitted by vasanthbp
on June 28, 2006 - 5:07am

Hi,
I need your suggestions, plz respond.

Suppose a machine has 2 interfaces eth0, eth1. And suppose we are running
a tcp application on that(bounded to eth0). Now, if I turn off the
interface eth0, I cann't see anymore packets being generated from
Transport or Network layer. The application stalls till the interface
eth0 comes up again.

But I was expecting packets to be generated and routed through interface
eth1.

Can you guide me as to where exactly is the problem ? How does interface
status gets notified to the tcp socket?

I tried going through kernel codes(tcp.c tcp_output.c tcp_ipv4.c ip_output.c)
but things are not clear to me. Initially I thought that proble might be
with sk->dst_cache, but now I am little suspicious.