2012-06-11 8 views
5

Estoy escribiendo un módulo de kernel de Linux que necesita ser notificado cuando un enlace sube o baja, ahora he leído que puedo abrir un netlink socket y escuchar el RTMGRP_LINK (interfaz de red crear/eliminar/subir/bajar eventos) grupos de multidifusión, pero esto se usa desde el espacio de usuario ... ¿alguien sabe cómo atrapar esta interrupción desde el espacio del kernel? Estoy usando kernel 2.6.35cómo atrapar la interrupción de NIC (arriba/abajo)?

Respuesta

3

Mire en <linux/netdevice.h>, específicamente lo relacionado con la cadena de notificadores netdev. Puede llamar al register_netdevice_notifier() para registrar una devolución de llamada que (entre muchos otros tipos de eventos) recibirá los eventos NETDEV_UP y NETDEV_DOWN.

+0

¡Muchas gracias! usar cadenas de notificación era exactamente lo que necesitaba. –

Cuestiones relacionadas