I am in the process of moving a venti from Linux to OpenBSD. First, unless int _p9dir(struct stat *lst, struct stat *st, char *name, Dir *d, char **str, char *estr) is patched, it will always return size 0 for raw partitions. We need to allow character devices as well, not just block devices: diff --git a/src/lib9/_p9dir.c b/src/lib9/_p9dir.c index 58c63573..0fb3410e 100644 --- a/src/lib9/_p9dir.c +++ b/src/lib9/_p9dir.c @@ -230,7 +230,7 @@ _p9dir(struct stat *lst, struct stat *st, char *name, Dir *d, char **str, char * d->qid.path = ('c'<<16)|st->st_rdev; } /* fetch real size for disks */ - if(S_ISBLK(lst->st_mode)){ + if(S_ISBLK(lst->st_mode) || S_ISCHR(lst->st_mode)){ if((fd = open(name, O_RDONLY)) >= 0){ d->length = disksize(fd, st); close(fd); dell-openbsd$ git log | head commit c1c1b5267fd5e14be531a4b22ed0124b35d427cb Author: sean Date: Wed Apr 29 11:21:35 2020 +0100 Second, if your raw partitions are MBR partitions, not OpenBSD disk labels, you will still get 0 size, so venti will not run. Disk with only MBR partitions: dell-openbsd# disklabel sd1 16 partitions: # size offset fstype [fsize bsize cpg] c: 488378645 0 unused i: 460800000 256 unknown j: 25600000 460800256 unknown k: 1834980 486400770 unknown In this case you will need to run disklabel and edit the label to get BSD partitions: dell-openbsd# disklabel sd1. 16 partitions: # size offset fstype [fsize bsize cpg] c: 488378645 0 unused d: 460800000 256 4.2BSD 4096 32768 1 e: 25600000 460800256 4.2BSD 4096 32768 1 f: 1834980 486400770 4.2BSD 4096 32768 1 i: 460800000 256 unknown j: 25600000 460800256 unknown k: 1834980 486400770 unknown Now for the question. For some reason, the venti running on OpenBSD is refusing connections, both on port 80 and on 17034. No error messages from venti that I can see. dell-openbsd# bin/venti/venti -d -c /home/ole/venti/v2.conf 2020/0504 21:48:08 venti: conf...httpd tcp!*!80...init...icache 1,895,825,408 bytes = 18,850,537 entries; 16 scache sync...announce tcp!*!17034...serving. I can connect to the venti from localhost, but not from any other machine. However, if I run nc -l on ports 17034 and 80, I can connect from any machine. It is definitely not the packet filter, since the problem persists even if I disable the packet filter. Any suggestions about what might be blocking the connection? The only real clue I have is that even on localhost I get "connection refused", but telnet switches to IPv6 and that attempt is accepted: dell-openbsd$ telnet localhost 17034 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused Trying ::1... Connected to localhost. Escape character is '^]'. venti-04:02-libventi Is it possible that venti somehow is listening only on the IPv6 address? Ole-Hj.