Saturday, March 2, 2013

RHELでもコネクション単位にTCPの再送タイムアウトを制御したい


前に書いた「TCPの再送タイムアウトを制御したい」の続き。

要は、コネクション単位で再送タイムアウトを調整したい件である。

国内で仕事でLinuxを使っていると、どうしても Redhat にバイアスがかかる事情があって、これはこれでなんとかしたいのだが、それはまた別の話。

それで、2/21(現地時間)にGAがアナウンスされた RedHat 6.4 では、

http://www.redhat.com/about/news/press-archive/2013/2/red-hat-announces-general-availability-of-next-minor-release-of-red-hat-enterprise-linux-6

kernel version は 2.6.32-358 まであがっている。もちろん、以下からソース(SRPM)も入手できる。

http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/

さて、本日のお題は例の setsockopt() で指定する TCP_USER_TIMEOUT が使えるかどうか?…ということで、さっそく上記から

  kernel-2.6.32-358.el6.src.rpm

を入手して調べてみたところ、backport されているようだ。:)

kernel.spec を眺めてみると、bugilla の ID: 819610 で feature request されたと思しき記述があるのだが、

| - [net] tcp: Add TCP_USER_TIMEOUT socket option (Jiri Benc) [819610]

一般には見られないようだ。残念…というか、まあ特定の顧客対応だったものと思われる。


余談だが、RHEL6.4 のカーネルは、2/21にGAがアナウンスされた後、2/26には RHSA が出てアップデートがかかっている。

https://rhn.redhat.com/errata/RHSA-2013-0567.html

ptrace まわりで脆弱性が見つかったらしい。

なお、さらに余談なのだが

https://lwn.net/Articles/539394/

でも触れられている

https://rhn.redhat.com/errata/RHSA-2013-0496.html

って、発行は2/21じゃん…と思ったのだが、よくみてみたらリリース版のバージョンそのものなので、これを同梱してGAということだったらしい。

#あるある...www

No comments:

Post a Comment