地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

Trickleを使ってユーザスペースだけでネットワーク帯域を制限する

readelfをしてみる

    0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000001528     0 SECTION LOCAL  DEFAULT    9
     2: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND getenv@GLIBC_2.2.5 (2)
     3: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __snprintf_chk@GLIBC_2.3.4 (3)
     4: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND free@GLIBC_2.2.5 (2)
     5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __errno_location@GLIBC_2.2.5 (2)
     6: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTab
     7: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND strtod@GLIBC_2.2.5 (2)
     8: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND fcntl@GLIBC_2.2.5 (2)
     9: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND getpid@GLIBC_2.2.5 (2)
    10: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdrmem_create@GLIBC_2.2.5 (2)
    11: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND strlen@GLIBC_2.2.5 (2)
    12: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail@GLIBC_2.4 (4)
    13: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __fdelt_chk@GLIBC_2.15 (5)
    14: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND nanosleep@GLIBC_2.2.5 (2)
    15: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND gettimeofday@GLIBC_2.2.5 (2)
    16: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdr_opaque@GLIBC_2.2.5 (2)
    17: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdr_union@GLIBC_2.2.5 (2)
    18: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND geteuid@GLIBC_2.2.5 (2)
    19: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND calloc@GLIBC_2.2.5 (2)
    20: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdr_short@GLIBC_2.2.5 (2)
    21: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
    22: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND strtol@GLIBC_2.2.5 (2)
    23: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdr_u_int@GLIBC_2.2.5 (2)
    24: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND malloc@GLIBC_2.2.5 (2)
    25: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND getegid@GLIBC_2.2.5 (2)
    26: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdr_int@GLIBC_2.2.5 (2)
    27: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __vsnprintf_chk@GLIBC_2.3.4 (3)
    28: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND xdr_long@GLIBC_2.2.5 (2)
    29: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
    30: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND exit@GLIBC_2.2.5 (2)
    31: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND connect@GLIBC_2.2.5 (2)
    32: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
    33: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND dlsym@GLIBC_2.2.5 (6)
    34: 0000000000000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@GLIBC_2.2.5 (2)
    35: 00000000000019f0    85 FUNC    GLOBAL DEFAULT   11 strlcpy
    36: 00000000000026e0   202 FUNC    GLOBAL DEFAULT   11 accept
    37: 0000000000003540  1099 FUNC    GLOBAL DEFAULT   11 poll
    38: 0000000000004920   182 FUNC    GLOBAL DEFAULT   11 trickled_getdelay
    39: 0000000000003080   213 FUNC    GLOBAL DEFAULT   11 send
    40: 0000000000001b10   441 FUNC    GLOBAL DEFAULT   11 safe_printv
    41: 0000000000002f80   247 FUNC    GLOBAL DEFAULT   11 writev
    42: 0000000000004e2c     0 FUNC    GLOBAL DEFAULT   12 _fini
    43: 00000000000046d0    87 FUNC    GLOBAL DEFAULT   11 trickled_ctl_open
    44: 0000000000004410   300 FUNC    GLOBAL DEFAULT   11 trickled_sendmsg
    45: 0000000000002cb0   213 FUNC    GLOBAL DEFAULT   11 read
    46: 0000000000004d20   149 FUNC    GLOBAL DEFAULT   11 msg2xdr
    47: 0000000000004630   149 FUNC    GLOBAL DEFAULT   11 trickled_open
    48: 0000000000002d90   277 FUNC    GLOBAL DEFAULT   11 readv
    49: 00000000000028f0   172 FUNC    GLOBAL DEFAULT   11 sendfile
    50: 00000000000023c0   211 FUNC    GLOBAL DEFAULT   11 close
    51: 00000000000025c0   282 FUNC    GLOBAL DEFAULT   11 dup2
    52: 00000000000040b0   753 FUNC    GLOBAL DEFAULT   11 bwstat_getdelay
    53: 00000000000049e0   183 FUNC    GLOBAL DEFAULT   11 trickled_getinfo
    54: 0000000000004730   227 FUNC    GLOBAL DEFAULT   11 trickled_recvmsg
    55: 0000000000004060     8 FUNC    GLOBAL DEFAULT   11 bwstat_gettot
    56: 0000000000001950   150 FUNC    GLOBAL DEFAULT   11 strlcat
    57: 0000000000002ad0   229 FUNC    GLOBAL DEFAULT   11 recv
    58: 0000000000003160   231 FUNC    GLOBAL DEFAULT   11 sendto
    59: 00000000000022d0   236 FUNC    GLOBAL DEFAULT   11 socket
    60: 00000000000043b0    43 FUNC    GLOBAL DEFAULT   11 trickled_configure
    61: 0000000000003fb0    62 FUNC    GLOBAL DEFAULT   11 bwstat_new
    62: 0000000000004070    63 FUNC    GLOBAL DEFAULT   11 bwstat_update
    63: 0000000000207240     0 NOTYPE  GLOBAL DEFAULT   24 __bss_start
    64: 00000000000043e0    34 FUNC    GLOBAL DEFAULT   11 trickled_close
    65: 0000000000207388     0 NOTYPE  GLOBAL DEFAULT   24 _end
    66: 0000000000002eb0   197 FUNC    GLOBAL DEFAULT   11 write
    67: 0000000000004030    45 FUNC    GLOBAL DEFAULT   11 bwstat_free
    68: 0000000000004820    83 FUNC    GLOBAL DEFAULT   11 trickled_update
    69: 0000000000004dc0   107 FUNC    GLOBAL DEFAULT   11 xdr2msg
    70: 0000000000207240     0 NOTYPE  GLOBAL DEFAULT   23 _edata
    71: 0000000000003ff0    56 FUNC    GLOBAL DEFAULT   11 bwstat_init
    72: 0000000000004880   146 FUNC    GLOBAL DEFAULT   11 trickled_delay
    73: 0000000000003990  1061 FUNC    GLOBAL DEFAULT   11 _select
    74: 00000000000024a0   274 FUNC    GLOBAL DEFAULT   11 dup
    75: 0000000000001528     0 FUNC    GLOBAL DEFAULT    9 _init
    76: 0000000000002bc0   231 FUNC    GLOBAL DEFAULT   11 recvfrom
    77: 0000000000004aa0   122 FUNC    GLOBAL DEFAULT   11 atomicio