Re: Freeze with BPF BIOCSFEEDBACK

2015-12-17 Thread Rhialto
On Wed 16 Dec 2015 at 23:15:11 +, Christos Zoulas wrote:
> Update to bpf.c to head, I just committed a fix.

Thanks! That fixes this problem.

Interestingly enough, I still can't seem to communicate (I tried with
telnet) between the host system and the emulated system.

As before, it works between the emulated system and any other one on the
network.

(The original problem is that packets sent out via bpf are seen on the
wire, i.e. the external network, but not by the host. The data does flow
in the other direction though. I can see on the console of simh that it
(tries to) send(s) ARP replies for its IPv4 address.)

I thought this ioctl was supposed to fix this limitation, but it seems
something still doesn't work for me.

> christos
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl-- 'this bath is too hot.'


signature.asc
Description: PGP signature


Re: Freeze with BPF BIOCSFEEDBACK

2015-12-17 Thread Christos Zoulas
On Dec 17, 11:28pm, rhia...@falu.nl (Rhialto) wrote:
-- Subject: Re: Freeze with BPF BIOCSFEEDBACK

| Thanks! That fixes this problem.
| 
| Interestingly enough, I still can't seem to communicate (I tried with
| telnet) between the host system and the emulated system.
| 
| As before, it works between the emulated system and any other one on the
| network.
| 
| (The original problem is that packets sent out via bpf are seen on the
| wire, i.e. the external network, but not by the host. The data does flow
| in the other direction though. I can see on the console of simh that it
| (tries to) send(s) ARP replies for its IPv4 address.)
| 
| I thought this ioctl was supposed to fix this limitation, but it seems
| something still doesn't work for me.

I think that we need to add extra code to be able to communicate with
localhost, since that's special... But it is not a significant limitation...

christos


Re: Freeze with BPF BIOCSFEEDBACK

2015-12-17 Thread Rhialto
On Thu 17 Dec 2015 at 17:38:33 -0500, Christos Zoulas wrote:
> 
> I think that we need to add extra code to be able to communicate with
> localhost, since that's special... But it is not a significant limitation...

I thought I'd found a workaround: use bpf on a tap device which is
bridged to a real device. However that doesn't seem to help, and also it
breaks external communication too. But it (klh10, I said simh
incorrectly before) still replies to ARP requests, so it does still get
to see those. Although it seems that this scenario causes confusion over
which ethernet address to use, and responds. (Changing the tap's
ethernet address to be the same as the physical interface causes no
error message from ifconfig tap0 link , but doesn't work either)

Normally one would of course use a tap device in the normal fashion
(which works for 2-way communication), but I'm reorganising things and
needed to try this out.

The deeper story behind it that I want to use libpcap for packet
capture, so that I can remove crufty code for DLPI, PFLT, NIT (and
BPF).

> christos
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl-- 'this bath is too hot.'


signature.asc
Description: PGP signature


Freeze with BPF BIOCSFEEDBACK

2015-12-16 Thread Rhialto
I just had a freeze which likely was caused by BPF. This was with a
distributed GERNERIC version of 7.0/amd64.

I was running a PDP-10 emulator, klh10, https://github.com/Rhialto/klh10
which I configured to use BPF to communicate with the outside world.
I ran my tops-20 installation, and as soon as the network got active,
my real machine froze. Since I was in X, I could see nothing change any
more.

I tried it on my laptop also with 7.0 installed. Not even the caps-lock
led was active. After a while it unfroze for a bit, then refroze.
There were no green kernel messages.

I am working on it so the actual code I ran was not exactly like in the
repository. The important difference seems to be this below:

#if defined(BIOCSFEEDBACK)
i = 1;
if (ioctl(fd, BIOCSFEEDBACK, (char *) ) < 0)
esfatal(1, "BIOCSFEEDBACK failed");
#endif

where fd is a BPF descriptor.

which I had added. When I commented it out, and tried again, tops-20
worked fine. However, you can't communicate with it from the host. The
BIOCSFEEDBACK was supposed to make that work.

Any ideas? Seems like a bug...

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl-- 'this bath is too hot.'


signature.asc
Description: PGP signature