NICMx / Jool

SIIT and NAT64 for Linux
GNU General Public License v2.0
320 stars 66 forks source link

Problemas con el tiempo de vida de las sesiones #125

Closed hugo16gl closed 9 years ago

hugo16gl commented 9 years ago

Parece ser que hay un pequeño bug en la sección de configuración, cuando se cambia el tiempo de duración de una sesión UDP iniciada al llegar un paquete determinado al Jool. Si mientras se realiza la cuenta regresiva para expirar la sesión se decide realizar un cambio de tiempo de vida de la sesión con --toUDP a un valor menor, al llegar a 0, la sesión no es eliminada inmediatamente aún cuando ya ha terminado el conteo y tiempo de vida de la sesión.

Se realiza una entrada a la BIB:

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --bib -nitu --display
TCP:
  (empty)
UDP:
[Dynamic] 192.0.2.2#54660 - 2001:db8:1::5#45750
  (Fetched 1 entries.)
ICMP:
  (empty)

Se inicia una sesión (comienza el conteo para expirar):

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --session -nitu --display
TCP:
---------------------------------
  (empty)

UDP:
---------------------------------
Expires in 4 minutes, 47 seconds
Remote: 192.0.2.5#50000 2001:db8:1::5#45750
Local: 192.0.2.2#54660  64:ff9b::c000:205#50000
---------------------------------
  (Fetched 1 entries.)

ICMP:
---------------------------------
  (empty)

Se decide reducir el tiempo de duración de la sesión durante el conteo:

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ sudo ./jool --toUDP=120
Value changed successfully.

Tiempo de la sesión modificado:

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --session -nitu --display
TCP:
---------------------------------
  (empty)

UDP:
---------------------------------
Expires in 58 seconds
Remote: 192.0.2.5#50000 2001:db8:1::5#45750
Local: 192.0.2.2#54660  64:ff9b::c000:205#50000
---------------------------------
  (Fetched 1 entries.)

ICMP:
---------------------------------
  (empty)

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --session -nitu --display
TCP:
---------------------------------
  (empty)

UDP:
---------------------------------
Expires in 0 milliseconds
Remote: 192.0.2.5#50000 2001:db8:1::5#45750
Local: 192.0.2.2#54660  64:ff9b::c000:205#50000
---------------------------------
  (Fetched 1 entries.)

ICMP:
---------------------------------
  (empty)

Al llegar a 0 milisegundos la sesión aún no ha expirado, toma un poco de tiempo más allá para que la sesión sea desechada:

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --session -nitu --display
TCP:
---------------------------------
  (empty)

UDP:
---------------------------------
Expires in 0 milliseconds
Remote: 192.0.2.5#50000 2001:db8:1::5#45750
Local: 192.0.2.2#54660  64:ff9b::c000:205#50000
---------------------------------
  (Fetched 1 entries.)

ICMP:
---------------------------------
  (empty)

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --session -nitu --display
TCP:
---------------------------------
  (empty)

UDP:
---------------------------------
Expires in 0 milliseconds
Remote: 192.0.2.5#50000 2001:db8:1::5#45750
Local: 192.0.2.2#54660  64:ff9b::c000:205#50000
---------------------------------
  (Fetched 1 entries.)

ICMP:
---------------------------------
  (empty)

La sesión tarda en expirar:

nat64@nat64:~/Escritorio/Jool3.2.2/usr/src$ jool --session -nitu --display
TCP:
---------------------------------
  (empty)

UDP:
---------------------------------
  (empty)

ICMP:
---------------------------------
  (empty)
ydahhrk commented 9 years ago

Los cambios que he hecho en config van a empeorar esto.

Agregando al milestone siguiente, porque ya tenemos demasiado trabajo en este.