I have several network cards on my filer, each with its own subnet - If I am on a subnet that the cards are not defined for, how does the filer know which subnet/card to send the information out on ?
There are two ways the packet is routed: 1) By consulting the routing table. 2) By sending the packet out the same interface to the same node that the "request" packet came from.
An example of #1 would be pinging the client from the filer. Unless there is a static route for subnet D, the default route will be used.
An example of #2 would be the response to an NFS read request. Let's say the previous hop for the read request from the client was router R which sent the packet to the filer via the interface on subnet B. The filer would then send the read response to the client by sending it out interface B to router R.