Equipos y materiales > Openwrt & LEDE
IGMP snooping no funciona
(1/3) > >>
jfm:
Abro este hilo porque como aquí hay algunos genios de la programación, seguro que me pueden ayudar y dan con el problema.

Yo tengo un switch entre mi LAN y mi router que tiene IGMP snooping. Y funciona.

Pero para hacer unas pruebas se me ocurrió conectar un punto WiFi al router (Comternd 5813n) y descubrí que el IGMP snooping, aunque estaba bien configurado, no funcionaba. No sé si el problema viene de versiones anteriores de Openwrt, lo he detectado en una de las más recientes.

He abierto un ticket en Openwrt: https://dev.openwrt.org/ticket/17954

He seguido investigando y he añadido un par de comentarios al ticket:
Encontré una página donde decía que el código de bridge de Ubuntu 12 tenía un bug por el que sólo consideraba multicast las direcciones 224.0.0.x

Y luego buscando en el código de Openwrt encontré dos archivos in.h en include/linux/in.h y en include/netinet/in.h donde venían estas definiciones:


--- Código: ---/* Defines for Multicast INADDR.  */
#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) /* 224.0.0.0 */
#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) /* 224.0.0.1 */
#define INADDR_ALLRTRS_GROUP    ((in_addr_t) 0xe0000002) /* 224.0.0.2 */
#define INADDR_MAX_LOCAL_GROUP  ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */

--- Fin del código ---

A mí me parece que lo correcto sería que la última línea fuese:

--- Código: ---#define INADDR_MAX_LOCAL_GROUP  ((in_addr_t) 0xefffffff) /* 239.255.255.255 */

--- Fin del código ---

Los canales de imagenio son todos 239.0.x.y, pero no sé si el problema está ahí y no quisiera dejar el router frito con un experimento como éste.

La pregunta: quizá alguien que sepa más de esto me pueda explicar si esa constante INADDR_MAX_LOCAL_GROUP  tiene que tener el valor que tiene y por qué.

Una idea: quizá alguien tenga el Openwrt sobre una máquina virtual o algo así y pueda hacer una prueba sin cargarse nada.

Gracias por vuestra ayuda.
jfm:
Sigo poniendo aquí lo que voy averiguando. Lo de


--- Código: ---#define INADDR_MAX_LOCAL_GROUP  ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */
--- Fin del código ---

es correcto, porque se refiere a las direcciones multicast utilizables en una subred de una LAN (definición IANA). No hay nada que probar por este camino.

De modo que sigo sin pistas sobre por qué no me funciona IGMP snooping.

El otro sospechoso que tengo es IGMP proxy.


jgice:
Hola jfm

Yo estoy igual que tu, no consigo que deje de propagarse ")))))" por la red ... ¿has averiguado algo más?

Gracias, un saludo.

EDIT: Veo que con el deco apagado el tráfico es de unos 30KB/s pero con el deco encendido es de unos 3 Mbps! :-[ :-[

EDIT2: Me parece que no va a funcionar nunca: https://forum.openwrt.org/viewtopic.php?id=42468
Según leo ahí el IGMP Snooping solo funciona entre los puertos del bridge, por lo tanto en caso de que utilicemos la wifi del router va a dejar de enviar multicast por la wifi pero por ejemplo en mi caso que tengo otro AP enchufado por ethernet al router (y no uso la wifi del router) todo el muticast se propaga por ethernet y el AP por wifi (tengo varios APs, con los airport extreme de apple no hay IGMP Snooping pero con un Ubiquiti que tengo si que funciona bien).
jgice:
Una vez descartado el activar el IGMP Snooping por software, veo que algunos chips lo soportan por HW, en concreto el del comtrend 5813 es un BMC53115 y según las especificaciones de broadcom si que soporta IGMP por HW (http://www.broadcom.com/collateral/pb/53115-PB01-R.pdf)


--- Citar ---Traffic control and network resiliency
• Storm control and port-based ingress/egress rate control
• Spanning Tree support (Rapid Spanning Tree and Multiple Spanning
Trees—up to 16)
• IPv4 IGMP and IPv6 MLD snooping
• IEEE 802.3x programmable per port flow control and
backpressure
• Port mirroring, LLDP, LACP
--- Fin de la cita ---

Sino la otra opción es poner otro switch entre medias que tenga IGMP Snooping, lo más "barato" que he encontrado son los netgear GS108E / GS105E al menos entre el switch del router y los otros puntos de acceso.

Un saludo.
jfm:
Yo tengo un netgear GS108T y funciona. Y descubrí el problema precisamente al conectar un punto de acceso directamente al router para hacer unas pruebas.

Salvo que haya código abierto para controlar el hardware snooping de Broadcom y además haya interés en incorporarlo al código de OpenWRT, creo que no hay más salida que el switch. Dicen, aunque yo no lo tengo, que el TP-LINK TL-SG108E también va bien.

Una opción que no he probado es ebtables. Nunca lo he usado y no sé si valdrá para esto ni si sobrecargará mucho el router. Cuando tenga algo de tiempo lo exploraré.
Navegación
Índice de Mensajes
Página Siguiente

Ir a la versión completa