Project

General

Profile

Actions

Optimization #1037

closed

Optimize TCP Option storage

Added by Ken Steele over 10 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Low
Assignee:
Target version:
Effort:
Difficulty:
Label:

Description

In looking into the size of Packet, I noticed that the TCP options are
stored as an array of MAX_OPTS, which is 40 to IPv4. Each Option
contains a pointer (8 bytes). It seems like it would be more efficient
to copy the options data into the structure rather than store a
pointer to the data.

It seems the array of opts serves 2 purposes:
1. store for easy O(1) retrieval
2. duplicate option checking

I agree it's wasting a lot of space, but it would probably be non-trivial to rewrite the parsers and the code that uses the info.

The stream engine uses some of the opts for example.

Actions #1

Updated by Ken Steele over 10 years ago

  • Tracker changed from Bug to Optimization
Actions #2

Updated by Victor Julien over 10 years ago

  • Target version set to 3.0RC2
Actions #3

Updated by Victor Julien almost 9 years ago

  • Target version changed from 3.0RC2 to 70
Actions #4

Updated by Andreas Herz over 8 years ago

  • Assignee set to OISF Dev
Actions #5

Updated by Victor Julien over 8 years ago

  • Status changed from New to Assigned
  • Assignee changed from OISF Dev to Victor Julien

I have a branch in progress.

Actions #6

Updated by Victor Julien about 8 years ago

  • Status changed from Assigned to Closed
  • Target version changed from 70 to 3.1rc1
Actions

Also available in: Atom PDF