[HECnet] Intermittent Connection with PyDECnet?

Paul Koning paulkoning at comcast.net
Tue Mar 10 06:40:58 PDT 2020


Thanks, sorry for leaving that dangling.  I'll test that and merge it into my code.

	paul

> On Mar 10, 2020, at 4:28 AM, Keith Halewood <Keith.Halewood at pitbulluk.org> wrote:
> 
> Hi,
> 
> These are the changes:
> 
> In  Ethernet.py:
> 
>    class _TapEth (_Ethernet):
>        def open (self):
>            fd = os.open('/dev/net/tun', os.O_RDWR | os.O_NONBLOCK)
>            ifr = struct.pack('16sH', self.dev.encode('utf-8'), IFF_TAP | IFF_NO_PI)
>            ioctl(fd, TUNSETIFF, ifr)
>            self.tap = fd
>            self.sellist = ( fd, )
>            # Turn the interface on -- needed only on Mac OS
> 
> With the definitions of those constants up near the top:
> 
> TUNSETIFF = 0x400454ca
> TUNSETOWNER = TUNSETIFF + 2
> IFF_TUN = 0x0001
> IFF_TAP = 0x0002
> IFF_NO_PI = 0x1000
> 
> 
> 
> 
> Keith
> 
> -----Original Message-----
> From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of David Moylan
> Sent: 10 March 2020 07:46
> To: hecnet at Update.UU.SE
> Subject: RE: [HECnet] Intermittent Connection with PyDECnet?
> 
> Robert Armstrong said on Tuesday, 10 March 2020 4:17 AM
>> 
>>  FWIW, the "tap:" option in pyDECnet never worked for me.  I use pcap
> to
>> access tap devices -
>> 
>> 	circuit TAP-0 Ethernet pcap:tap0 --single-address --cost=2
>> 
>> works for me with Ubuntu 18.04...
> 
> When I first went to play with pyDECnet under Ubuntu 18, I also discovered issues with the tap adapter. Fundamentally the issue comes down to newer kernels (such as in Ubuntu 18) that use a /dev/net/tun interface to communicate instead of /dev/tapx
> 
> I heard on the list that Keith Halewood had modified Paul's code to work with the newer interface standard, so I reached out to him and he provided me with the changes. It's only a few lines of code that need modification.
> 
> I believe Keith has provided Paul with the changes. I'd love to see them become mainstream in pyDECnet, as at the moment if I pull down a new build, I have to make the modifications by hand again. 
> 
> With the code changes, tap works a dream for me. 
> 
> circuit tap-1022 Ethernet tap:tap1022 --random-address
> 
> cheers, Wiz!!
> 




More information about the Hecnet-list mailing list