Skip to content

About this page

On this page

Redes ​

Esta sección está en beta. Consulta la nota en la hoja de referencia.

El adaptador de red (hardware DEV9/SMAP) es del lado IOP, como el resto de periféricos. El SDK tiene dos arquitecturas mutuamente excluyentes para usarlo.

Arquitectura A: TCP/IP en la EE ​

  • dev9 (core) - el driver de bajo nivel para el hardware de la bahía de expansión DEV9 al que se conecta el adaptador de red.
  • smap (core, compilado en "modo NETMAN") - el driver PHY/MAC de Ethernet, del lado IOP.
  • netman (core) - un módulo administrador de interfaz de red del lado IOP a través del cual smap reporta el estado del enlace, con un cliente RPC del lado EE del mismo nombre.
  • ps2ip (core) - la pila TCP/IP (un lwIP empaquetado), corriendo en la EE. Sockets, DHCP y DNS son código del lado EE; netman y smap solo envían y reciben frames en bruto.

Para usarla, empaqueta dev9, netman y smap y enlaza ps2ip y netman del lado EE. Carga los módulos IOP, levanta DHCP con ps2ip_setconfig() y luego usa socket(), connect(), send() y recv() desde código EE.

Alias POSIX

lwipopts.h de ps2ip deshabilita los alias POSIX close, read y write (LWIP_POSIX_SOCKETS_IO_NAMES está desactivado), así que un socket se cierra con lwip_close() y un close() a secas no compila. Los alias están deshabilitados porque esos nombres genéricos opacarían la E/S de archivos en otra parte del programa.

Arquitectura B: toda la pila en el IOP ​

  • smap-ps2ip (core): el mismo código fuente del driver SMAP que smap, compilado en otro modo (SMAP_PS2IP=1 en vez de SMAP_NETMAN). Habla directamente con una pila lwIP residente en el IOP en vez de pasar por netman.
  • ps2ip-nm (core): un paquete separado del ps2ip del lado EE. Es la compilación residente en el IOP del mismo código fuente lwIP. Nada corre en la EE: sockets, DHCP y toda la pila viven en el IOP.
  • Los módulos IOP que quieren acceso de red sin involucrar a la EE se construyen sobre esto. http (un driver de sistema de archivos cliente HTTP de solo lectura que registra un dispositivo http:) es el ejemplo en este SDK.

Estas dos arquitecturas no pueden correr a la vez. smap y smap-ps2ip reclaman la misma NIC física, así que un programa usa una u otra.

La EE no tiene una ruta RPC para levantar DHCP en esta arquitectura, como la que netman ofrece en la A. El equivalente de ps2ip_setconfig() debe correr en el IOP junto a la pila.

Selección ​

RequisitoArquitectura
Sockets desde código EEA
Módulo IOP autocontenido con acceso de red y sin participación de la EEB

Ver también ​