Hi! I would like to port lldpd to the GNU Hurd (mostly for fun). This is a daemon allowing discovery of neighbors using special Ethernet packets. More info here: http://vincentbernat.github.io/lldpd/ I need two things: 1. gather information from the system (mostly network ones) 2. sending and receiving on raw sockets To get information from the system, currently, I plan to rely on getifaddrs() to get the list of interfaces as well as their IP addresses. I think that speaking to servers is too low level for the purpose but maybe some information is only available through those servers. For example, it would be nice to have link speed and duplex. Is it possible (like with ethtool on Linux)? Also, it seems that VLAN, bridging and link aggregation are not supported by Hurd. Is that right? I also need to receive and send raw Ethernet packets. tcpdump does seem to be able to receive packets with Hurd. Maybe I could just read /dev/eth0 but it would be better to be able to provide a BPF filter. From what I have gathered, I would need something like eth-filter. Is that the right way to go? settrans -c /var/run/lldpd/dev/lldpd-eth0 /hurd/eth-filter \ -i /dev/eth0 -r "some filter" -s "some filter" Do I need eth-multiplexer?
Attachment:
signature.asc
Description: PGP signature