openbsd kernelhacking (encap L3PDU->L2PDU)

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

openbsd kernelhacking (encap L3PDU->L2PDU)

overdrive openbsd

Hola,

Tengo una duda, estaba buscando el lugar donde se pasa de capa 3
(siguiendo siempre el modelo osi) a capa 2 en el kernel de OpenBSD.
Corregidme si estoy equivocado pero en el momento que de la
encapsulacion cuando ya se tiene el paquete IP (o el que sea) cosa que
debe estar localizado en netinet/ (ya que ahi estan todos los protocolos
de enrutamiento) a partir de ahi se pasa el paquete a la capa 2 para
anyadirle el header y trailer y formar asi la trama Ethernet (o la que
sea) que deberia realizarse de forma generica pero luego cada driver
trabaja de forma distinta y se usa el mismo. Presupongo que habra algo
de tipo packet (que sera un typedef/struct) el cual es pasado de capa 3
a capa 2, y es pasado como parametro de una funcion que deberia ser un
puntero a funcion o un array de punteros a funciones (en el caso que se
quiera manejar mas de una interfaz). La pregunta es, alguien sabe donde
se realiza dicha llamada? en que fichero y que linea?

Alguno de los presentes se anima a comenzar a revisar codigo? :_)

Saludos

Borja Tarraso

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: openbsd kernelhacking (encap L3PDU->L2PDU)

overdrive openbsd
[CCing Adrian] experto en redes y el cual puede estar interesado en participar en esto...

Thanks

Borja Tarraso


On Dec 11, 2007 1:16 AM, Borja Tarraso <[hidden email]> wrote:
Hola,

Tengo una duda, estaba buscando el lugar donde se pasa de capa 3
(siguiendo siempre el modelo osi) a capa 2 en el kernel de OpenBSD.
Corregidme si estoy equivocado pero en el momento que de la
encapsulacion cuando ya se tiene el paquete IP (o el que sea) cosa que
debe estar localizado en netinet/ (ya que ahi estan todos los protocolos
de enrutamiento) a partir de ahi se pasa el paquete a la capa 2 para
anyadirle el header y trailer y formar asi la trama Ethernet (o la que
sea) que deberia realizarse de forma generica pero luego cada driver
trabaja de forma distinta y se usa el mismo. Presupongo que habra algo
de tipo packet (que sera un typedef/struct) el cual es pasado de capa 3
a capa 2, y es pasado como parametro de una funcion que deberia ser un
puntero a funcion o un array de punteros a funciones (en el caso que se
quiera manejar mas de una interfaz). La pregunta es, alguien sabe donde
se realiza dicha llamada? en que fichero y que linea?

Alguno de los presentes se anima a comenzar a revisar codigo? :_)

Saludos

Borja Tarraso


--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: openbsd kernelhacking (encap L3PDU->L2PDU)

Guillermo Bernaldo de Quiros Maraver Pedroche
In reply to this post by overdrive openbsd
Sólo por curiosidad, sabes de lo que estás hablando?, en caso de ser así
para qué quieres hacer eso?, OpenBSD ( Como la inmensa mayoría de
los sistemas), hace uso del protocolo TCP/IP, el cual, puede ser accedido
mediante alguna rutina de escucha de paquetes, o bien, mediante bpf(4)
también tienes la libreria de libpcap ( integrada en el sistema ) y otro set
de utilidades que te permiten, la manipulación de contenidos en un paquete.


El día 11/12/07, Borja Tarraso <[hidden email]> escribió:

Hola,

Tengo una duda, estaba buscando el lugar donde se pasa de capa 3
(siguiendo siempre el modelo osi) a capa 2 en el kernel de OpenBSD.
Corregidme si estoy equivocado pero en el momento que de la
encapsulacion cuando ya se tiene el paquete IP (o el que sea) cosa que
debe estar localizado en netinet/ (ya que ahi estan todos los protocolos
de enrutamiento) a partir de ahi se pasa el paquete a la capa 2 para
anyadirle el header y trailer y formar asi la trama Ethernet (o la que
sea) que deberia realizarse de forma generica pero luego cada driver
trabaja de forma distinta y se usa el mismo. Presupongo que habra algo
de tipo packet (que sera un typedef/struct) el cual es pasado de capa 3
a capa 2, y es pasado como parametro de una funcion que deberia ser un
puntero a funcion o un array de punteros a funciones (en el caso que se
quiera manejar mas de una interfaz). La pregunta es, alguien sabe donde
se realiza dicha llamada? en que fichero y que linea?

Alguno de los presentes se anima a comenzar a revisar codigo? :_)

Saludos

Borja Tarraso
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: openbsd kernelhacking (encap L3PDU->L2PDU)

overdrive openbsd

Hola Guillermo,

Si, se de lo que estoy hablando... dije algo incorrecto? que use el
modelo tcp/ip no quiere decir que sea el unico que soporte, de hecho por
algo existe el directorio netatalk/ y bueno en mi duda no hable nunca de
TCP (capa 4) sino de IP (capa 3) y del proceso de encapsulacion desde
esta ultima a la 2, no me interesa libpcap ni nada parecido, ya que no
me interesa ver los paquetes capturados y su comportamiento (que esta
incluido en el libro TCP/IP Illustrated volumen 1) sino que me interesa
ver su implementacion a nivel de codigo del sistema operativo por las
razones que sean (de la misma forma que esta incluido en el libro TCP/IP
Illustrated volumen 2, solo que dicha implementacion no se basa en
OpenBSD especificamente). Tampoco me interesa la manipulacion o
inyeccion de paquetes, como dije mi duda es clara, quiero ver como esta
implementado el proceso de encapsulacion de un paquete a trama en el
kernel de OpenBSD... trabajo justamente en la implementacion de otro
sistema operativo en el area de networking y me interesaba ver como
estaria implementado la parte de OpenBSD para analizarlo y hacer ciertas
comparaciones... esa es la razon real.

Saludos

Borja Tarraso

Guillermo Bernaldo de Quiros Maraver wrote:

> Sólo por curiosidad, sabes de lo que estás hablando?, en caso de ser así
> para qué quieres hacer eso?, OpenBSD ( Como la inmensa mayoría de
> los sistemas), hace uso del protocolo TCP/IP, el cual, puede ser accedido
> mediante alguna rutina de escucha de paquetes, o bien, mediante bpf(4)
> también tienes la libreria de libpcap ( integrada en el sistema ) y
> otro set
> de utilidades que te permiten, la manipulación de contenidos en un
> paquete.
>
>
> El día 11/12/07, *Borja Tarraso* <[hidden email]
> <mailto:[hidden email]>> escribió:
>
>
>     Hola,
>
>     Tengo una duda, estaba buscando el lugar donde se pasa de capa 3
>     (siguiendo siempre el modelo osi) a capa 2 en el kernel de OpenBSD.
>     Corregidme si estoy equivocado pero en el momento que de la
>     encapsulacion cuando ya se tiene el paquete IP (o el que sea) cosa
>     que
>     debe estar localizado en netinet/ (ya que ahi estan todos los
>     protocolos
>     de enrutamiento) a partir de ahi se pasa el paquete a la capa 2 para
>     anyadirle el header y trailer y formar asi la trama Ethernet (o la
>     que
>     sea) que deberia realizarse de forma generica pero luego cada driver
>     trabaja de forma distinta y se usa el mismo. Presupongo que habra algo
>     de tipo packet (que sera un typedef/struct) el cual es pasado de
>     capa 3
>     a capa 2, y es pasado como parametro de una funcion que deberia ser un
>     puntero a funcion o un array de punteros a funciones (en el caso
>     que se
>     quiera manejar mas de una interfaz). La pregunta es, alguien sabe
>     donde
>     se realiza dicha llamada? en que fichero y que linea?
>
>     Alguno de los presentes se anima a comenzar a revisar codigo? :_)
>
>     Saludos
>
>     Borja Tarraso
>
>
>     >


--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---