The userspace app can't receive huge databases #88

Closed
ydahhrk opened this Issue Mar 25, 2014 · 2 comments

Comments

Projects
None yet
2 participants
@ydahhrk
Member

ydahhrk commented Mar 25, 2014

If there are too many entries in the BIB or session tables, Jool fails to send them to the userspace application when they are requested because it runs out of memory.

I remember I implemented a buffering stream to handle this, but it apparently broke.

:(

ydahhrk added a commit that referenced this issue Mar 25, 2014

Fixed three errors found while testing the #79 fix:
- The routing of the skb needed to happen before the initialization of most of the fragment's fields, because the latter can generate ICMP errors.
- I just realized that if the BIB or session databases are too big, Jool will flood dmesg with lots of identical error messages. Fixed, but did introduce issue #88.
- When Jool didn't recognize the layer-4 protocol of a IPv6 packet, the wrong ICMP error was being generated.

@ydahhrk ydahhrk added this to the 3.1.5 milestone Mar 26, 2014

@ydahhrk ydahhrk self-assigned this Mar 27, 2014

@ydahhrk ydahhrk assigned dhfelix and unassigned ydahhrk Apr 16, 2014

@ydahhrk

This comment has been minimized.

Show comment
Hide comment
@ydahhrk

ydahhrk May 19, 2014

Member

For future reference:

This bugs makes 1840 the maximum number of viewable BIB entries per table. If the module has to report 1841, it runs out of memory and cancels the report.
It also makes the maximum number of session entries 867 per table.

(There are three separate tables per database, one for each layer-4ish protocol. The above means, for example, that you can see at most 1840 BIB entries in the TCP table, 1840 in the UDP table, and 1840 in the ICMP table at the same time.)

We don't know at the moment if these limits can vary depending on configuration. All we know is that we have three separate labs, and all of them have the same limits.

Member

ydahhrk commented May 19, 2014

For future reference:

This bugs makes 1840 the maximum number of viewable BIB entries per table. If the module has to report 1841, it runs out of memory and cancels the report.
It also makes the maximum number of session entries 867 per table.

(There are three separate tables per database, one for each layer-4ish protocol. The above means, for example, that you can see at most 1840 BIB entries in the TCP table, 1840 in the UDP table, and 1840 in the ICMP table at the same time.)

We don't know at the moment if these limits can vary depending on configuration. All we know is that we have three separate labs, and all of them have the same limits.

dhfelix added a commit that referenced this issue May 22, 2014

issue #88 , display all the session entries than the previous limit i…
…n session display entries, TODO: (FIX) do the same for bib display

dhfelix added a commit that referenced this issue May 23, 2014

issue #88 , made the changes to display the entire "BIB" database, an…
…d fix the previous commit due to an error on user application, that didn't display the entire Session Database.
@ydahhrk

This comment has been minimized.

Show comment
Hide comment
@ydahhrk

ydahhrk Jun 24, 2014

Member

Fixed and collapsed to the master branch; closing.

Member

ydahhrk commented Jun 24, 2014

Fixed and collapsed to the master branch; closing.

@ydahhrk ydahhrk closed this Jun 24, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment