ip_forward() waiting to serve you ip_forward obviously does a route lookup does icmp redirect etc if required calls ip_output() if ip_output() fails, handles generation of icmp errors