Hello, I'm running OpenBSD 4.6-current Dec 1.
Given that you have a host or a network that you can reach from two different interfaces from OpenBSD. #netstat -rn -f inet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface 192.168.10.100 192.168.0.1 UGHS 0 1 - 8 em0 <snip> # #ping 192.168.10.100 PING 192.168.10.100 (192.168.10.100): 56 data bytes 64 bytes from 192.168.10.100: icmp_seq=0 ttl=255 time=0.584 ms --- 192.168.10.100 ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.584/0.584/0.584/0.000 ms Now take down that inteface anyway you like (ifconfig down or unplug the cable). #netstat -rn -f inet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface 192.168.10.100 192.168.0.1 GHS 0 1 - 8 em0 <snip> RTF_UP flag went away and the host isn't reachable like you'd expect. Now change the gateway to the other working interface. #route change 192.168.10.100 192.168.2.1 #netstat -rn -finet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface 192.168.10.100 192.168.2.1 GHS 0 1 - 8 em1 <snip> Even though the RTF_UP flag is missing the destination is still reachable. #ping 192.168.10.100 PING 192.168.10.100 (192.168.10.100): 56 data bytes 64 bytes from 192.168.10.100: icmp_seq=0 ttl=255 time=0.676 ms --- 192.168.10.100 ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.676/0.676/0.676/0.000 ms I'm not sure if this is just cosmetic or if routing daemons look at the RTF_UP flag for their own purposes. I found this when failing over ospfd by ifconfig'ing down an interface. ospfd is doing other weird things for me but the above is what I can reproduce easily for this part of the puzzle. dmo