Examen Julio 2015 Problema 1 - Consulta operación sobre bits

Examen Julio 2015 Problema 1 - Consulta operación sobre bits

de Juan Andres Nin Maccio -
Número de respuestas: 1

En la función getOutInterface:

No debería hacerse el AND entre la máscara de la entrada en la tabla de forward y destination y luego el XOR del resultado con el prefijo de la entrada? No entiendo que se obtiene con el AND de la solución.

En respuesta a Juan Andres Nin Maccio

Re: Examen Julio 2015 Problema 1 - Consulta operación sobre bits

de Guillermo Dufort Y Alvarez Zorrilla De San Martin -

Tengo la misma duda, hay otra pregunta en el foro del mismo problema pero la respuesta que está ahi no clarifica cómo debería ser la función.

En mi opinión, la función debería primero verificar que el prefijo coincida realizando la operación (1), ya que si no hay prefijo que coinicida el resultado sería una interfaz que no es prefijo de la dirección desitno:

1: (destination & tableEntry.mask) XOR tableEntry.prefix == 0

y luego registrar cuál es la coincidencia más larga, buscando el valor mínimo del XOR entre la dirección destino y el prefijo de la entrada, como se hace en la solución.

Lo que no comprendo es por qué no es redundante realizar la operación:

(tableEntry.prefix & tableEntry.mask)