~dr|z3d
@RN
@RN_
@StormyCloud
@T3s|4
@T3s|4_
@eyedeekay
@orignal
@postman
@zzz
%Liorar
+FreefallHeavens
+Leopold
+Xeha
+acetone
+bak83_
+cumlord
+hk
+profetikla
+uop23ip
+weko
An0nm0n
Arch
Danny
DeltaOreo
DrSekra
Irc2PGuest28769
Irc2PGuest3160
Irc2PGuest63086
Irc2PGuest71439
Irc2PGuest97995
Meow
Nausicaa
Onn4l7h
Onn4|7h
Over1
anon
anu3
boonst
carried6590
chatrouge
enoxa
mareki2pb
plap
poriori_
shiver_
simprelay
solidx66
tr
u5657
weko
how many RAM java i2p use on linux? Have some ways to optimize? I need minimum consumption for testnet.
weko
ping me in answer
not_bob
I think the default heap is 256m.
not_bob
But, zzz or dr|z3d would be able to give a better answer.
zzz
weko, edit wrapper.config, look for maxmemory
weko
so 50MB for example is good value for it?
dr|z3d
no
dr|z3d
minimum 128M, possibly 192M.
dr|z3d
have a look at /configwebapps and /congfigclients weko and disable everything apart from the routerconsole and application tunnels for a super-minimal router.
dr|z3d
what you have to bear in mind is that the jvm itself needs around 64M just to start.
dr|z3d
also make sure that you stop the router and then start it once you've edited wrapper.config, as a restart from the router UI or i2prouter won't pick up the changes to wrapper.config
zzz
should work fine with 50 at low-medium bandwidth weko
dr|z3d
actually, I'm trying to remember if 64M is the right value for JVM, maybe that's off mark.
zzz
no use guessing weko, just try it, if it doesn't work you will know
dr|z3d
iirc, running router.jar from the command line needs 10-12MB of ram allocated, but the JVM will report ~64MB. been a while though.
dr|z3d
never got an ack from you on that full text java search engine, zzz, did you take a look at it?
dr|z3d
(maybe my messages got lost in the ether)
zzz
dr|z3d, no, that topic has fallen completely off my list
dr|z3d
looks promising
dr|z3d
much more promising that solr/lucence, at least.
dr|z3d
*than
dr|z3d
typing for shit today. *lucene
snex
i like elastic
dr|z3d
I think that's substantially heavier than the ftserver project I linked, snex. needs to be lightweight.
snex
the code looks lightweight but it looks like its storing your db in a very inefficient and unsafe form
dr|z3d
both ftservr and elastic use nosql.
snex
ive never even heard of iboxdb
dr|z3d
well don't diss it before you've had a look :)
snex
i2p on rust needs more love
snex
java is the new fortran
dr|z3d
not by a long shot.
weko
zzz, dr|z3d, not_bob thanks
weko
zzz: why SSU2 session termination timeout is 5.5 minutes?
zzz
I don't remember
zzz
there may be some discussion in prop. 159
orignal
zzz what would happen if we send HolePunch through etsablished session?
orignal
if we really need to refresh hole punch?
zzz
??
zzz
you're trying to keep the firewall open?
weko
continue hole punch when no any packets
zzz
you're trying to keep the firewall open?
orignal
yes
orignal
while session if alive
orignal
it lasts 5.5 minutes of incativity
orignal
while hole punch might end in 30 seconds
zzz
spec says:
zzz
Use as Ping/Pong
zzz
Path Validation and Path Response blocks may be used at any time as Ping/Pong packets. Reception of a Path Validation block does not change any state at the receiver, unless received from a different IP/port.
zzz
but we don't do that
zzz
we just send padding-only data packet
orignal
Path validation messager?
orignal
yes we do it too
zzz
yes
orignal
but padding only data packet changes idle time
orignal
we want to avoid it
zzz
so only change idle time if there's data in there
weko
<orignal> but padding only data packet changes idle time
weko
ye and session never ending
orignal
we want to send a packet that doesn't change last activity time
orignal
zzz ?
orignal
really?
zzz
then use path validation/response
orignal
then how do you handle keep alive with introducer?
orignal
I send padding only data packet
zzz
same
orignal
and you claim you don't count it
orignal
for idle
zzz
looking...
orignal
it means if you are an introducer you should terminate the session
orignal
while you are looking
orignal
Would you honor FF with G cap?
zzz
/**
zzz
* When did we last receive a packet from them?
zzz
* Set for data, relay, and peer test, but not acks, pings, or termination
zzz
*/
zzz
void setLastReceiveTime(long when) { _lastReceiveTime = when; }
orignal
same in i2pd
orignal
and we need to simething that doesn't change last receive time
orignal
send
zzz
so only change it for I2NP blocks
orignal
then what do you do for introducers?
orignal
you need change last activity time
zzz
we ping our introducers
orignal
how?
zzz
padding-only data packet
orignal
<zzz> so only change it for I2NP blocks
orignal
no I2NP block no change of last receive time. right?
orignal
I'm Alice and send padding only data block
orignal
and your Bob closes the session soon
orignal
bug
zzz
actually I have a bug, I'm not updating receive time at all (((
orignal
yes, that's bad
orignal
I update receive time on every data packet regardless what's inside
zzz
yeah I think that's probably right
zzz
or maybe not
zzz
cause you shouldn't update if it's just an ack
orignal
then we need to decide what we send as keep-alive
orignal
what's wrong with ack?
orignal
ack means a reponse to your message'
orignal
it can't be unsolicited
zzz
we keep track of both last-sent and last-received, idle time calculation is based on the max of those
orignal
yes, but ack doesn't make much difference
zzz
but we use a longer idle timeout if we offered to introduce. why not do that?
orignal
anyway it doesn't solve the problem with introducers
zzz
then use path challenge/response
orignal
huh? you keep session active for an hour if iTag?
orignal
even if no acivity there?
orignal
no, I'm asking about keep alive
zzz
we have a 20 minute idle timeout if we offered to introduce, yes
orignal
and terminate after 20 mintes?
orignal
if no activity if with keep-alive
zzz
correct
orignal
doesn't sound right
orignal
how can I make a session last for 1 hour then?
zzz
if you're actually using the introducer, any relay block will count as activity
zzz
weko, there is no 5.5 minute timeout recommendation in the spec, and that's not what we do
orignal
it might come after 20 minutes
orignal
that's the problem
orignal
then what's your temination timeout now?
zzz
does the spec say it's guaranteed for 1 hour?
orignal
I copied from SSU1
orignal
it should say this
zzz
I don't think it was specified in SSU1 either
zzz
are you trying to keep your firewall mapping open, or keep the SSU2 connection open?
orignal
two different tasks
orignal
in case of introducer I'm trying to maintain the seession
zzz
we use padding-only packets to keep the firewall open
orignal
hmm, I assume we keep session alive this way
zzz
there is no way to force the session to stay open. there's no minimum idle time in the spec
orignal
1 hour was somewhere
orignal
it's not my invention
zzz
I could set my idle time to 10 seconds in theory. But if I sent you an itag, I set it to 20 minutes
orignal
we do it deifefrently however
orignal
if no activity still same 5.5 minutes
zzz
and after 1 hour do you stop pinging?
orignal
yes, we don't use it as introducer anymore
orignal
ofc if some data goes through it will stay alive
orignal
if not, termination after 5.5 minutes as usual
zzz
our minimum timeout right now is 165 seconds
zzz
anyway, we count path challenge/response as activity, and that's what the spec says to use for ping/pong, so use that if you want
orignal
fine
zzz
re: fG routers, we don't care about congestion caps for floodfills
orignal
great
orignal
we have this idea
orignal
becuase floodfills seem malfunctioning due to excessive transit
zzz
maybe I'll change to path challenge also for pings. I'll think about it
zzz
malfunctioning how?
orignal
too much traffic
orignal
people think becase too much transit
zzz
and they publish G?
orignal
they want to set "no transit"
orignal
but it will publish G
orignal
my FF is almost always E or D now
zzz
better to fix the malfunction ))
orignal
at 80 Mbs cap
orignal
no it's not fixable mulfunction
orignal
some people want to run a floodfill but without excessive transit
zzz
then set the limit to 1000 or 100, don't set it to 0
orignal
they have a problem with network
orignal
O is minimal for FF in i2pd
orignal
and some people don't want even O
orignal
e.g transit with 256 cap
zzz
I mean zero, not capital O
orignal
I know what you mean
zzz
set transit limit to 1000, not zero
orignal
if you set to 100 it will publish L
orignal
even 256 is too much for them
zzz
why? bandwidth != tunnel count
orignal
are you talking about bandwidth or count?
dr|z3d
so you want some sort of load balancer for floodfills.. either turn floodfill off if G, or reduce the max # of transit tunnels.
zzz
count
orignal
yes it's another option
orignal
but somethimes a single tunnel produces 10 mbs
orignal
that's the problem
zzz
don't accept tunnel if you don't have available bandwidth
orignal
simply speaking count means almost nothing now
orignal
right that's what happene
orignal
they always at O cap
zzz
do you calculate average bandwidth per tunnel?
orignal
no
orignal
no demand for it
orignal
I calculate overall bandwidth
orignal
Transit Tunnels: 42196
orignal
voila
orignal
how do you like it?
zzz
that's how you know if you can accept one more tunnel. If (current bw + avgpertunnel) > max part. bw, then reject tunnel
orignal
I bumped number of transiot tunnes limit to 50K this morning
orignal
and what you do if an existing tunnel start trnsmiiting too much data?
orignal
when you accepted it you were good
zzz
we start dropping
zzz
and rejecting
orignal
that's what we do now
dr|z3d
last time we had a discussion about transit tunnel count, 10K was considered high, 13K was considered wrong.
zzz
you can't "fix" congestion by getting rid of limits
orignal
let me set the limit to 100K
orignal
looks like the attack if about to stop all router accept new tunnels
dr|z3d
yeah, that looks about right, orignal. transit tunnel saturation.
orignal
and since your drop is based to TBM ratio
orignal
rate is very low now
orignal
because you can't differentite shit and legit TBM
dr|z3d
~54% here on one router. not great, not calamitous either.
dr|z3d
(tunnel build success)
dr|z3d
but you were talking about something else, sorry.
orignal
same of firewalled one
orignal
but very low on a high loaded floodfill
orignal
because you guys like to drop my TBM
snex
snarkFoot only displays if size() > 1. why not size() > 0?
snex
the display logic even handles singular vs plural wording lol
weko
zzz: do you use your own router for tunnel ends?
zzz
of course not
weko
zzz: so then there is deanon attack. do you know how enigma was broken?
weko
there we can use same attack
weko
if some router in b32's tunnels ending, we know what this router is not b32's owner
zzz
so do it then, you don't need my permission
dr|z3d
snex: off the top of my head, > 1 is because you don't get any meaningful information for 1 torrent that isn't already present in the table.
dr|z3d
haven't looked at that code in a while, anyways, I'll see if > 0 makes more sense.