Hi,
If there's no filter, aka if tree is null, dissect_ip_tcp_options is
not called and you don't get the same column info.
Unrelated question:
Is it safe to use a tvbuff after subdissectors have been called?
ie:
here is vgprof ouput for netbench_1.cap (no filter, load, exit ):
% cumulative self self total
time instructi instruct calls Ki/call Ki/call name
6.06 64424.00 64424.00 152310 0.00 0.00 vfprintf
3.89 105758.00 41334.00 728484 0.00 0.00 _IO_default_xsputn
3.89 147074.00 41316.00 939069 0.00 0.00
check_offset_length_no_exception
3.76 187058.00 39984.00 1098209 0.00 0.00 compute_offset_length
3.71 226481.00 39423.00 1379835 0.00 0.00 gtk_type_is_a
3.16 260071.00 33590.00 39725 0.00 0.00 strcmp
2.45 286107.00 26036.00 867911 0.00 0.00
ensure_contiguous_no_exception
2.37 311267.00 25160.00 528480 0.00 0.00 strlen
2.35 336304.00 25037.00 203041 0.00 0.00 _int_malloc
1.88 356291.00 19987.00 437043 0.00 0.00 find_spec
1.86 376029.00 19738.00 396866 0.00 0.00 strcasecmp
1.86 395762.00 19733.00 256368 0.00 0.00 set_cell_contents
1.69 413775.00 18013.00 857826 0.00 0.00 ensure_contiguous
1.69 431707.00 17932.00 249171 0.00 0.00 strcpy
total 1 063 463.00
version with dissect_tcp calling col_str only if subdissectors don't
clear col_info:
time instructi instruct calls Ki/call Ki/call name
4.20 41316.00 41316.00 939069 0.00 0.00
check_offset_length_no_exception
4.07 81326.00 40010.00 98210 0.00 0.00 vfprintf
4.06 121310.00 39984.00 1098209 0.00 0.00 compute_offset_length
4.01 160778.00 39468.00 1380590 0.00 0.00 gtk_type_is_a
3.41 194368.00 33590.00 39725 0.00 0.00 strcmp
2.65 220404.00 26036.00 867911 0.00 0.00
ensure_contiguous_no_exception
2.54 245440.00 25036.00 203072 0.00 0.00 _int_malloc
2.30 268107.00 22667.00 445241 0.00 0.00 _IO_default_xsputn
2.01 287845.00 19738.00 396866 0.00 0.00 strcasecmp
2.01 307578.00 19733.00 256368 0.00 0.00 set_cell_contents
1.90 326311.00 18733.00 425269 0.00 0.00 strlen
1.83 344324.00 18013.00 857826 0.00 0.00 ensure_contiguous
1.82 362256.00 17932.00 249170 0.00 0.00 strcpy
1.62 378225.00 15969.00 58567 0.00 0.00 strncpy
total 983 910.00
Didier