I want to know how can i work at the Data Link Layer level in C, is it possible that frames be efficiently forwarded to the other interface, for example a machine having three NIC cards, i want to receive frames on one interface and forward them to the other two interface without procesing the "packets" (network layer), i.e on the basis of MAC address, would it be more efficient? (i think it depends on your own Data Link layer, to be specific the MTU!, am i right? well i think there will be more no. of frames as compared to packets ) , what do you people suggest, is it possible to forward the packets on the basis of just the MAC address in order to avoid processing up the stack, how can i do it, i have looked up things like DLPI (Data Link Provider Interface), but i am not sure how to do it, thanks for your help.