When I use libnet library create and send a packet which look like below,why my iptables cann't receive such format data? How can I fix this problem?

[DST_MAC_ADDRESS][SRC_MAC_ADDRESS][DST_IP_ADDRESS][SRC_IP_ADDRESS][TCP/UDP....]
DST_MAC_ADDRESS is local physical adapter's mac address,
SRC_MAC_ADDRESS is local gateway's physical mac address,
DST_IP_ADDRESS is not local physical adapter's IP address,
SRC_IP_ADDRESS is any IP address.
When I change DST_MAC_ADDRESS to another machine's MAC in LAN network,That machine's iptables can receive the packet I send.

Thank you for any reply.