How to add ARP protocol to basic.p4 program?

I removed the packet.emit(hdr.my_meta); line, updated the new logs on :
arp_experiment/02switch01_log.txt at main · nagmat1/arp_experiment · GitHub //02switch03_log.txt accordingly.

The same as it was before removing the line. The only difference is extra payload is not being added to header. ARP length is consistent now.

Hi,

Can you check if anything is answered in port 1 of sw3? Maybe you can check with Wireshark if there is anything coming out of the host. Or even check port 1 in sw3 if any packet is received.

One of the problems is that you are not changing the MAC addreses as the ARP packet as it advances from host 1 to sw1 and then to sw3. So when the ARP arrives at the destination it still has the MAC from the first host (host 1), not the MAC from the last swtich (switch 3). Try to also add MACs of switches (as part of a rule) and then change it as the packet advances. I think this COULD be the problem. I have not tested it though.

Cheers,

2 Likes

I checked the port1 of switch3, no REPLY packet is being received there.

I will update the other stuff after checking on the environment.

just dont… simply just dont… arp needs to be known/spoken at the control plane not at the data plane level so all u need to know is to police down and punt it upstairs through the “backplane connection” to the “route processor cards”…

1 Like