Buen día, derivado de la publicación de Matias (RedesComp: Aclaraciones a preguntas frecuentes sobre el Obligatorio 2 | FING), en el punto sobre ARP, menciona que es incorrecto enviar la consulta ARP por todas las interfaces.
Nosotros en particular para el manejo ARP utilizamos las funciones que ustedes dejaron para eso, que entendemos son sr_arpcache_lookup, sr_arpcache_queuereq y handle_arpreq, nosotros no hacemos uso de estas funciones para todas las interfaces, sino solamente para la que nosotros entendemos es necesaria.
Aunque estuviera mal nuestra solución, les dejo una captura con la suya y porque pensamos que era correcto hasta que vimos la aclaración de Matias.
Viendo los PRINT de las funciones ARP vemos que manda la consulta por todas las interfaces. También veo que hace consultas ARP para obtener la MAC de una IP que ya debería estar en cache porque se consulto hace muy poco tiempo.
La siguiente captura es haciendo uso de su solución, no la nuestra, consultando por 10.0.2.2 en las 3 interfaces:
Baje una VM nueva para empezar todo desde 0, baje el repo de git del ob2, coloque los nuevos archivos de la topología, ejecute ./config.sh y comencé a levantar: mininet, POX, vhost1,2,3,4,5 (todo con su solución), para ver si pueden reproducir el problema.
Tal vez la aclaración de Matias en esa publicación se refería a otra cosa, o efectivamente hay algún manejo erróneo en las funciones ARP.
Gracias.