Hello everyone, over the past few months, I have been developing a network traffic monitoring program based on Rust eBPF technology to monitor the network speed of LAN/WAN devices. Not long ago, I discovered this forum and I hope it can bring help to everyone
I checked the documentation and found that this device is aarch64_cortex-a53 architecture, which is supported, just like my device (cudy tr3000). It may be an environment dependency issue. Have you encountered any problems?
Yes, actually 127.0.0.1 is sufficient. This script is designed for easy debugging, such as accessing interfaces directly from other devices in the local area network to troubleshoot.
What I meant was to collect the stats in eBPF using the ethernet packet instead of IP packet and then in the web interface match the MAC addresses to hosts / IPs by either DHCP or neighbor table because one host might have multiple IP addresses so there might be multiple rows in the interface for the same host otherwise
Thank you, I understand what you mean. When I was imagining it, it was for ordinary home users, without considering the situation of multiple IPs, VLANs, or other more complex network architectures. I am planning to join IPv6
Yeah but with IPv6 it's pretty normal for one host to have multiple addresses. One from DHCPv6 and even multiple more from SLAAC / Privacy Extensions in different prefixes like ULA, GUA etc.
Thanks for great app.
Is it possible to have possibility to move /metrics/*.ring to /tmp, but keep all other settings files in current /usr/share/bandix? (If I want to permanently bind hostnames in hostname_bindings.txt? but do not need long-term traffic stats)
Hello, is it due to insufficient space on your device? At first, historical traffic data was not persistent, and this feature was added only after some users requested it. If you want to place it in /tmp, you can try stopping Bandix first, then execute mkdir /tmp/mytempdir && rm -rf /usr/share/bandix/metrics && ln -s /tmp/mytempdir /usr/share/bandix/metrics
Openwrt applications should not store anything on flash by default, except for application files and config. Also flash writes must always be directly sanctioned by the user (e.g. by pressing the Save button). You really don't want to be responsible for breaking routers by wearing out their tiny flash chips.
If you want to satisfy people who requested persistent logs, add an option for logs storage path, but by default that path must point to somewhere under /tmp.
Great suggestion, I will add an option. In addition, the current flush parameter can alleviate the pressure of flash to a certain extent. Setting it to 1 year or more means that it will have almost no impact on the lifespan of Flash.