Marcos Pindado Sebastian | 30 Apr 2012 11:25
Picon
Favicon

OSI TP4 stack on netbsd

Hello, I would like to know if osi stack is still supported on NetBSD, particularly TP4 transport services.
In the archive list along the years it seems several people tried to make this work but don't seem to get it.

This is what we are doing:

- Compile kernel with OSI stacks
- Configure osi protocol for the interface:

      XXXX# ifconfig tlp0 iso 2222

      XXXX$ ifconfig -a
      tlp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
      address: 00:30:05:56:34:d2
      media: Ethernet autoselect (10baseT)
      status: active
      inet 192.168.17.55 netmask 0xffffff00 broadcast 192.168.17.255
      inet6 fe80::230:5ff:fe56:34d2%tlp0 prefixlen 64 scopeid 0x1
      iso 22.22 netmask

- Write a simple client and server socket example. Server justs binds to any address and listens for
connections. Client just tries to connect. It will happen in the same machine.
server:
      tp4sock = socket(AF_ISO, SOCK_SEQPACKET, 0)
               memset(&isoaddr, 0, sizeof(isoaddr)); => Empty addr, listen on any nsap
               isoaddr.siso_family = AF_ISO;
               isoaddr.siso_tlen = 2;
               cp = (char*)TSEL(&isoaddr); => 2 bytes for selector.
               *cp++ = (PORT >> 8); => The same on client. Find this code on bsd nfs server.
               *cp = (PORT & 0xff);
               Bind => ok, listen => ok
(Continue reading)

Christos Zoulas | 30 Apr 2012 18:11

Re: OSI TP4 stack on netbsd

In article <E3D01EB81486E44780F8D15B89A53C98186D8630 <at> HERMES.aubay-es.es>,
Marcos Pindado Sebastian  <mapindado <at> aubay.es> wrote:
>Hello, I would like to know if osi stack is still supported on NetBSD,
>particularly TP4 transport services.
>In the archive list along the years it seems several people tried to
>make this work but don't seem to get it.
>
>This is what we are doing:
>
>- Compile kernel with OSI stacks
>- Configure osi protocol for the interface:
>
>      XXXX# ifconfig tlp0 iso 2222
>
>      XXXX$ ifconfig -a
>      tlp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>      address: 00:30:05:56:34:d2
>      media: Ethernet autoselect (10baseT)
>      status: active
>      inet 192.168.17.55 netmask 0xffffff00 broadcast 192.168.17.255
>      inet6 fe80::230:5ff:fe56:34d2%tlp0 prefixlen 64 scopeid 0x1
>      iso 22.22 netmask
>
>- Write a simple client and server socket example. Server justs binds to
>any address and listens for connections. Client just tries to connect.
>It will happen in the same machine.
>server:
>      tp4sock = socket(AF_ISO, SOCK_SEQPACKET, 0)
>               memset(&isoaddr, 0, sizeof(isoaddr)); => Empty addr,
>listen on any nsap
(Continue reading)

Ignatios Souvatzis | 2 May 2012 11:13
Picon

Re: OSI TP4 stack on netbsd

On Mon, Apr 30, 2012 at 04:11:33PM +0000, Christos Zoulas wrote:
> Marcos Pindado Sebastian  <mapindado <at> aubay.es> wrote:
> >Hello, I would like to know if osi stack is still supported on NetBSD,
> >particularly TP4 transport services.
> >In the archive list along the years it seems several people tried to
> >make this work but don't seem to get it.

> This has not been tested for many years so it is likely to be broken.
> I you can test/fix it yourself, please do so and submit patches. (...)

My old SOCK_DGRAM test is at 

	ftp://ftp.netbsd.org/pub/NetBSD/misc/is/isotest/

I didn't try it for a while, though, but it might be useful to see if
it's the network or the transport layer you have problems with...

Regards,
	-is

Marcos Pindado Sebastian | 2 May 2012 14:21
Picon
Favicon

RE: OSI TP4 stack on netbsd

Hi, thanks everyone for your answers.

I saw that test but the problem is I need a TP4 transport socket, implemented with SOCK_SEQPACKET and not
network CLNP datagram.

Finally I could communicate my client-server program with transport tp4 sockets in a one machine
environment. I was simply missing to add the iso protocol to the loopback interface (lo0) besides the real
network interface (tlp0).

However, after 2 days testing and changing parameters, I see throughput in a single machine is very poor. I
tcpdumped packets and saw there were frequent retransmissions at the TP level and sometimes everything
seemed to stuck for seconds without sending any packets. Ktruss shows the select/poll/recvfrom
facilities do not work well with these sockets and it seems related to netiso kernel issues...

The same program between to twin machines does not work, clnp discards the first ACK data message after
connection is done, although it is the same as in the one-machine case.

So the conclusion is this was already old when it was implemented in bsd 4.4.

Thanks again, I will try other options for tp4/clnp.

-----Mensaje original-----
De: tech-net-owner <at> NetBSD.org [mailto:tech-net-owner <at> NetBSD.org] En nombre de Ignatios Souvatzis
Enviado el: miércoles, 02 de mayo de 2012 11:14
Para: tech-net <at> netbsd.org
Asunto: Re: OSI TP4 stack on netbsd

On Mon, Apr 30, 2012 at 04:11:33PM +0000, Christos Zoulas wrote:
> Marcos Pindado Sebastian  <mapindado <at> aubay.es> wrote:
> >Hello, I would like to know if osi stack is still supported on 
(Continue reading)


Gmane