Hi, Trying to get openvpn working on opensolaris version (SunOS opensolaris 5.11 snv_128a i86pc i386 i86pc Solaris).
I'm using tuntap drivers from here http://www.whiteboard.ne.jp/~admin2/tuntap/ OpenVPN will start, connect and even pull down a list of routes that are pushed by the VPN server. But i can't pass any traffic via the VPN. The errors i get returned by OpenVPN are error 34 result too large. Looking into it this error is returned when writing to the tun device, using the putmsg syscall. Error 34 is actually ERANGE error, but i can't figure out why it's been generated everything looks ok to me. According to the man page of putmsg ERANGE is used as follows: ERANGE The size of the data part of the message does not fall within the range specified by the maximum and minimum packet sizes of the SunOS 5.11 Last change: 1 Nov 2003 3 System Calls putmsg(2) topmost stream module. This value is also returned if the control part of the message is larger than the maximum configured size of the control part of a message, or if the data part of a message is larger than the maximum configured size of the data part of a message. Just to confirm iv'e also compiled the example programs that come with tuntap drivers that just open a tun device and send data, which seems to work without error. So it's looking like the problem does lie with openvpn but i may well be wrong. Here is some debug output from OpenVPN for good measure, the write_tun: line was an extra printf added by myself. I don't mind getting my hands dirty and trying to fix this but im a bit stumped as to why the ERANGE error is returned, any help is greatly appreciated. Cheers Steven Williamson. Sun Dec 13 12:29:48 2009 us=638048 I/O WAIT status=0x0008 Sun Dec 13 12:29:48 2009 us=638097 TUN WRITE [17] Sun Dec 13 12:29:48 2009 us=638132 write_tun: sbuf.len:17 sbuf.buf:80f9f9c Sun Dec 13 12:29:48 2009 us=638216 write to TUN/TAP : Result too large (code=34) Sun Dec 13 12:29:48 2009 us=638372 PO_CTL rwflags=0x0001 ev=3 arg=0x080d4d1c Sun Dec 13 12:29:48 2009 us=638416 PO_CTL rwflags=0x0001 ev=6 arg=0x080d4c84 Sun Dec 13 12:29:48 2009 us=638469 I/O WAIT TR|Tw|SR|Sw [1/130202] Sun Dec 13 12:29:49 2009 us=768606 I/O WAIT status=0x0020 Sun Dec 13 12:29:49 2009 us=768748 ACK reliable_can_send active=0 current=0 : [27] Sun Dec 13 12:29:49 2009 us=768822 ACK reliable_send_timeout 604800 [27] Sun Dec 13 12:29:49 2009 us=768867 PO_CTL rwflags=0x0001 ev=3 arg=0x080d4d1c Sun Dec 13 12:29:49 2009 us=768897 PO_CTL rwflags=0x0001 ev=6 arg=0x080d4c84 Sun Dec 13 12:29:49 2009 us=768931 I/O WAIT TR|Tw|SR|Sw [1/130202] Sun Dec 13 12:29:50 2009 us=900592 I/O WAIT status=0x0020 Sun Dec 13 12:29:50 2009 us=900785 TLS: tls_pre_encrypt: key_id=0 Sun Dec 13 12:29:50 2009 us=900885 SENT PING Sun Dec 13 12:29:50 2009 us=900916 TIMER: coarse timer wakeup 10 seconds Sun Dec 13 12:29:50 2009 us=900966 PO_CTL rwflags=0x0003 ev=3 arg=0x080d4d1c Sun Dec 13 12:29:50 2009 us=901015 PO_CTL rwflags=0x0000 ev=6 arg=0x080d4c84 Sun Dec 13 12:29:50 2009 us=901061 I/O WAIT Tr|Tw|SR|SW [10/130202] Sun Dec 13 12:29:50 2009 us=901143 PO_WAIT[0,0] fd=3 rev=0x00000004 rwflags=0x0002 arg=0x080d4d1c Sun Dec 13 12:29:50 2009 us=901214 I/O WAIT status=0x0002 Sun Dec 13 12:29:50 2009 us=901270 UDPv4 WRITE [53] to 82.82.82.82:1194: P_DATA_V1 kid=0 DATA len=52 Sun Dec 13 12:29:50 2009 us=901371 PO_CTL rwflags=0x0001 ev=3 arg=0x080d4d1c Sun Dec 13 12:29:50 2009 us=901435 PO_CTL rwflags=0x0001 ev=6 arg=0x080d4c84 Sun Dec 13 12:29:50 2009 us=901623 I/O WAIT TR|Tw|SR|Sw [10/130202] Sun Dec 13 12:29:59 2009 us=77201 PO_WAIT[0,0] fd=3 rev=0x00000001 rwflags=0x0001 arg=0x080d4d1c Sun Dec 13 12:29:59 2009 us=77403 I/O WAIT status=0x0001 Sun Dec 13 12:29:59 2009 us=77487 UDPv4 READ [53] from 82.82.82.82:1194: P_DATA_V1 kid=0 DATA len=52 Sun Dec 13 12:29:59 2009 us=77529 TLS: tls_pre_decrypt, key_id=0, IP= 82.82.82.82:1194 Sun Dec 13 12:29:59 2009 us=77613 RANDOM USEC=206362 Sun Dec 13 12:29:59 2009 us=77665 PO_CTL rwflags=0x0000 ev=3 arg=0x080d4d1c Sun Dec 13 12:29:59 2009 us=77701 PO_CTL rwflags=0x0003 ev=6 arg=0x080d4c84 Sun Dec 13 12:29:59 2009 us=77743 I/O WAIT TR|TW|Sr|Sw [1/206362] Sun Dec 13 12:29:59 2009 us=77836 PO_WAIT[1,0] fd=6 rev=0x00000004 rwflags=0x0002 arg=0x080d4c84 Sun Dec 13 12:29:59 2009 us=77886 I/O WAIT status=0x0008 Sun Dec 13 12:29:59 2009 us=77920 TUN WRITE [17] Sun Dec 13 12:29:59 2009 us=77953 write_tun: sbuf.len:17 sbuf.buf:80f9f9c Sun Dec 13 12:29:59 2009 us=78018 write to TUN/TAP : Result too large (code=34) Sun Dec 13 12:29:59 2009 us=78053 PO_CTL rwflags=0x0001 ev=3 arg=0x080d4d1c Sun Dec 13 12:29:59 2009 us=78087 PO_CTL rwflags=0x0001 ev=6 arg=0x080d4c84 Sun Dec 13 12:29:59 2009 us=78126 I/O WAIT TR|Tw|SR|Sw [1/206362] Sun Dec 13 12:30:00 2009 us=285898 I/O WAIT status=0x0020