Summary: | не работает опция Set the "don't fragment" bit. | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | stalker <stalker> |
Component: | traceroute | Assignee: | placeholder <placeholder> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | glebfm, ldv, placeholder, vsu |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
stalker
2005-09-22 22:58:34 MSD
Действительно не работает. traceroute-1.4a12-alt7. tcpdump показывает вот что: 16:59:12.838874 IP (tos 0x0, ttl 1, id 33150, offset 512, flags [none], proto 17, length: 38) 127.0.0.1 > 127.0.0.1: ip-proto-17 0x0000: 4500 0026 817e 0040 0111 3a07 7f00 0001 E..&.~.@..:..... 0x0010: 7f00 0001 8047 829b 0012 d4d7 0101 20fc .....G.......... 0x0020: 3343 c8cc 0c00 3C.... 16:59:17.838065 IP (tos 0x0, ttl 1, id 33151, offset 512, flags [none], proto 17, length: 38) 127.0.0.1 > 127.0.0.1: ip-proto-17 0x0000: 4500 0026 817f 0040 0111 3a06 7f00 0001 E..&...@..:..... 0x0010: 7f00 0001 8047 829c 0012 fcd9 0201 25fc .....G........%. 0x0020: 3343 9ac9 0c00 3C.... Похоже, бит вместо поля flags попал в offset. traceroute-1.4a5-rh-lsrr.patch почему-то заменяет AC_DEFINE(BYTESWAP_IP_HDR) на AC_DEFINE(BYTESWAP_IP_LEN) (причём больше нигде в исходниках BYTESWAP_IP_LEN, похоже, не встречается). В результате в поле ip_off байты оказываются в неправильном порядке (в ip_len тоже, но ядро игнорирует записанное туда значение и считает длину самостоятельно). (In reply to comment #2) > traceroute-1.4a5-rh-lsrr.patch почему-то заменяет AC_DEFINE(BYTESWAP_IP_HDR) на > AC_DEFINE(BYTESWAP_IP_LEN) (причём больше нигде в исходниках BYTESWAP_IP_LEN, > похоже, не встречается). В результате в поле ip_off байты оказываются в > неправильном порядке (в ip_len тоже, но ядро игнорирует записанное туда значение > и считает длину самостоятельно). А что вообще даёт этот патч? может его просто оторвать? Так как насчёт лечения этой баги? Будет очень не приятно если оеа окажется в релизе. В traceroute-1.0.3-alt2 работает. |