IRC channel logs
2026-07-21.log
back to list of logs
<rrq>would possibly someone help me with getting a working tap device going in hurd <etno>rrq: as I understand it, TAP devices are a monolithic kernel kludge. They exist because network devices are kernel objects. <etno>In the Hurd, I think that one would just implement a network device in their process <etno>The Ethernet multiplexer is most probably an example of such implementation. <youpi>pfinet already has integrated support for it <youpi>that's simpler than writing a separate translator <rrq>I have not managed to use pfinet for ethernet packet send/recv <youpi>I mean pfinet has support for tun, and adapting it to tap is a matter of stuffing/unstuffing the ethernet header <etno>Oh, so there is a compatibility layer to port programs using linux TAP. Is this correct, youpi ? <youpi>try to make the tun support for a start <youpi>and then it'll be simpler to see how to fix it into supporting tap <youpi>etno: no compatibility layer needed, it's just a matter of adding/removing the ethernet header when configured as tap instead of tun <etno>I mean, this support is taylored for porting applications using a tun/tap subsystem <youpi>(though for now it only supports tun) <rrq>well the tap support is yet to be completed <etno>Thanks for the clarification <youpi>yes, but the tun support is 98% of the work <youpi>the remaining 2% is really simple once understood how things work <rrq>I have tried it once, but those 2% are a pretty big hurdle for me :) <etno>I would be mostly worried with how the application will handle the routing configuration after the device itself is obtained 😅 (since we are talking about portability) <youpi>rrq: did you see how the tun support is implemented? <rrq>I've read the source yes <youpi>etno: that's not really different between tun and tap <etno>Yes, youpi, I am considering the benefits of tun/tap support overall <youpi>rrq: the different would really lie essentially in setup_tunnel_device to determine whether /dev/tunx or /dev/tapx was given, to switch between the two behaviors <youpi>and then in trivfs_S_io_read and trivfs_S_io_write to add/remove the ethernet header <rrq>mmm classify it as ETH_P_LOOP I suppose? <youpi>no, you read it from the header <rrq>ok so need to handle vlan tagging.. <youpi>start without caring about vlans <youpi>and make things complex later <rrq>ok seems clear. another minor detail: the dev mtu, type and flags need to be slightly different <rrq>but that might be all <Darelelve>youpi: Hello, I submitted several patches a few days ago, but I still haven't received a response. Perhaps I did something wrong? If it takes longer to respond, I apologize for the inconvenience... <Darelelve>Added checks for alloc return value in several place and [PATCH] Migrating storeio from trivfs to netfs <youpi>they are still in my inbox :)