Earlier, I was trying to get traffic from one ethernet interface to another without using a bridge. Here is a link to the solution : https://stackoverflow.com/questions/26908439/c-program-to-receive-and-send-the-same-packets-out-over-another-interface . It is a simple application that reads from one interface and writes it blindly to the other interface.
(Laptop 1)<---------->[[{eth0} (LINUX PC) {eth1}]]<------------->(Laptop 2)
This is the basic diagram but we only need to keep the Linux PC with two interfaces in mind for now. Consider that I am trying to get traffic from eth0 to eth1. This application only works one way. If I try to run another instance of the application with the input and output interfaces reversed in the code, simultaneously, the packets go in a continuous loop. Hence, I cannot use this application for two way communication which is essential for ICMP Ping and TCP.
My guess is that I need to use IPTables and Netfilter nfqueue to help me simply get the traffic from one interface to another. I do not need any routing decisions and I cannot use the wonderful ethernet bridge (it's a secret why I can't). Consider simple UDP traffic and all systems on the same network (example : 192.168.1.xxx) if it makes it easier to explain.
I have already tried
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
and ipv4 forwarding is enabled in my file system. Let me know if you need any additional information.