PurpleI2P / i2pd

🛡 I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website
BSD 3-Clause "New" or "Revised" License
3.29k stars 424 forks source link

Enabling floodfill cause errors #2099

Closed xxkfqz closed 2 months ago

xxkfqz commented 2 months ago

I spent a long time trying to figure out why, with the firewall disabled and ports forwarded, it constantly displays Network status: Firewalled or Network status: Firewalled - Symmetric NAT. It turned out that if you enable floodfill = true in the config, there will be errors:

root@raspberry:~ # uname -a
FreeBSD raspberry 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC arm
root@raspberry:~ # /usr/local/bin/i2pd --certsdir /usr/local/share/i2pd/certificates --conf /usr/local/etc/i2pd/i2pd.conf --datadir /var/db/i2pd --service --log stdout --loglevel error
23:22:50@423/none - i2pd v2.53.1 (0.9.63) starting...
23:22:52@423/critical - SSU2: Failed to open socket on 0.0.0.0: set_option: No buffer space available [system:55 at /usr/local/include/boost/asio/detail/reactive_socket_service.hpp:174:33 in function 'boost::system::error_code boos
t::asio::detail::reactive_socket_service<boost::asio::ip::udp>::set_option(implementation_type &, const Option &, boost::system::error_code &) [Protocol = boost::asio::ip::udp, Option = boost::asio::detail::socket_option::integer<6
5535, 4098>]']

With floodfill = false everything is fine, no errors. I2PD was built from source (from ae267581707db1f51096dac2e393b4e44497492f)

xxkfqz commented 2 months ago

Figured it out myself:

root@raspberry:~ # sysctl kern.ipc.maxsockbuf=6553500
kern.ipc.maxsockbuf: 2097152 -> 6553500

After that everything worked fine