1) Adding the L2 receive statistics  2) Removing unnecessay code 3) vr_forward is forwarding the packet to vp_nh if set. This is unintended as vr_forward is invoked from many nexthop which it self would have se vp_nh. Forwarding the packet to vp_nh again from vr_forward might end up in giving the packet to same nh resulting in loop