Hello!
I am trying to implement dual ethernet interface device on Xilinx baremetal logic. I’v already implement receiving data from both of two interfaces but now I want to realize forwarding from one interface to another. I’v connected to 1st interface and try to ping the second one. On wireshark I see arp requests that have no responses.
May be problem is in forwarding of broadcast messages?
#if IP_FORWARD
/* non-broadcast packet? */
if (!ip4_addr_isbroadcast(ip4_current_dest_addr(), inp)) {
/* try to forward IP packet on (other) interfaces */
ip4_forward(p, (struct ip_hdr *)p->payload, inp);
} else
#endif /* IP_FORWARD */
I can not understand this part. Why do we forward only unicast messages?
Sorry, i am niewbe in this stuff