Últimamente, he estado leyendo una gran cantidad de sitios web y libros sobre NIC de 10 gb/s, su DMA y la forma en que el núcleo de Linux maneja los datos (10/100 mb/s NICs) y algunas preguntas vinieron a mi mente.Del kernel al espacio de usuario (DMA)
¿Cuál sería la forma más fácil de enviar un flujo de datos de 10 GB/s desde la NIC al usuario-land (supongo que puedo procesar los datos en el usuario-tierra a la misma velocidad).
Y
¿Cree que sería una buena idea para poner en práctica el búfer DMA dentro del espacio de usuario para leer los datos en bruto directamente desde allí (y procesarlos, obviamente, a la misma velocidad)
o es sus mejores soluciones en las que no pensé:/
Gracias.
necesito algo más eficiente que los enchufes normales de Linux, había leído un poco sobre PF-RING y Netmap, intentaré leer un poco más sobre eso hoy, gracias por la respuesta. Sin embargo, no estoy seguro de qué solución (PF-RING, Netmap de DMA en user-land) es la más rápida, aunque – noktec
Google también para los canales de red de Van Jacobson. – ninjalj
He estado leyendo acerca de PF-RING y Netmap, así como de PACKET_MMAP, y parecen tener casi la misma solución allí, también he buscado las diapositivas de Van Jacobson, ¡y tenían muy buenas ideas adentro! Supongo que intentaré por primera vez con PACKET_MMAP, y luego realizaré una pequeña prueba de banco con PF-RING, para ver qué solución parece ser la más adecuada. Pero me pregunto si sería posible detener los paquetes para ingresar al sk_buff, y ser tratados directamente por un buffer de anillo en el User-land o por PF-RING (y lo difícil que sería implementarlo desde cero) – noktec