[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