Re: TCP/IP with virtual device dsn0 experience?

Nathan Bryant (nathan@burgessinc.com)
Wed, 26 Feb 1997 17:42:59 -0500 (EST)


On Wed, 26 Feb 1997, Arjan Filius wrote:

> Hello,
>
> I tried to setup a tcp/ip connection with the virtual device dsn0 in Linux
> an the buildin packet driver in dosemu, but is seems to do not that much
> (read nothing)

Hi,

I used to use the dsn0 device back in 1.2.13 days, with no problems. When
I updated my kernel to around 1.3.70, I found that the dosnet driver
wouldn't compile. I modified the driver to account for the changes in the
kernel interfaces, but discovered the the kernel's higher-level network
code had changed such that only one application at a time could open a
SOCK_PACKET for any specific socket type, which prevented the whole scheme
from working.

Has this behaviour of SOCK_PACKET changed since circa 1.3.70? If so,
dosnet.c could be modified to work with new kernels. (Of course, if
somebody's already done this I may be flapping my jaw needlessly. :)

On the other hand, I understand that it's possible to run multiple DOS
sessions with TCP/IP using the standard packet driver, if you give each
DOS box a different IP address, and disable forwarding to those addresses.
So there's probably not much point to using dsn0 if you're on an Ethernet.
(Does the packet driver also run over PPP lines?)

>
> What i did:
> ./src/dosext/net/v-net# make
> to make the module
> /usr/src/dosemu-0.65.0.6/0.65.0.6/bin/insmod -m /usr/src/dosemu/src/dosext/net/v-net/dosnet.o
> sleep 1
> ifconfig dsn0 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0
> sleep 1
> route add -net 192.168.2.0 dsn0
>
> The insmod command gives as output:
> 2838004 u
> 2838004 u dosnet.c
> 2838004 u gcc2_compiled.
> 2838084 u dosnet_xmit
> 28383E4 u dosnet_open
> 28383C4 u set_multicast_list
> 2838434 u dosnet_close
> 28383D4 u get_stats
> 2838458 u devicename
> 283845C u dev_dosnet
> 2838460 u
> 2838004 u
> 2838448 u
> 2838004 u
> 2838004 u
> 28384EB u
> 2838448 u kernel_version
> 2838450 u dsn_eth_address
> 2838454 u dosnet_generic_address
> 2838004 u dosnet_eth_type_trans
> 2838500 u _eth_type_trans
> 296F610 u alloc_skb
> 294A9BC u printk
> 296FA00 u dev_kfree_skb
> 2970458 u netif_rx
> 2838234 u dosnet_init
> 29D88D0 u ether_setup
> 295540C u kmalloc
> 2838334 u init_module
> 29D8A48 u register_netdev
> 2838394 u cleanup_module
> 2838000 u mod_use_count_
> 29D8B20 u unregister_netdev
>
>
> This seems to work with no warings only one little other problem:
> tcpdump -i dsn0 gives:
> tcpdump: pcap_open_live (pcap-lin
>
> The most importand parts in config.tel (ncsa telnet)
> myip=192.168.2.2
> hardware=packet
> myname=dos.dosemu.sjoerdnet
> domain="dosemu.sjoerdnet"
> name=default
> name=linux hostip=192.169.2.1
> name=dos hostip=192.168.2.2
>
>
> a telnet in dosemu to linux seems not to work, and reversed a telnet in
> linux to dosemu seems also not to work even when ncsa telnet is in server
> mode (waiting for connection.
>
> I tried this with dosemu 65.0.6 and kernel 2.0.29,
> any suggestions are welcome :)
>
> Arjan Filius
> Email: iafilius@xs4all.nl
> --------------------------------------------------------------
> Argh! All right, so how am I supposed to work with Linux when
> everything's already been done?! Can't these people leave some
> broken MSDOS like parts so there's problems left to solve!?....
>

+-----------------------+---------------------------------------+
| Nathan Bryant | Unsolicited commercial e-mail WILL be |
| nathan@burgessinc.com | charged an $80/hr proofreading fee. |
+-----------------------+---------------------------------------+