もうすぐLinux Kernel 4.10が出るらしい。もうすぐLinux Kernel 4.10が出るらしい。 を読んでみた。

Add support for per-UID routing. It allows the administrator to configure rules such as: # ip rule add uidrange 100-200 lookup 123. This functionality has been in use by all Android devices since 5.0. It is primarily used to impose per-app routing policies (on Android, every app has its own UID) without having to resort to rerouting packets in iptables, which breaks getsockname()and MTU/MSS calculation, and generally disrupts end-to-end connectivity

Android 5.0からUID毎にルーティングのルール変えれるとは知らなかった。

IPv4: Enable support for Virtual Routing and Forwarding with ipv4 multicast

VRFでIPv4 Multicastが持てるのね。IPv6 Mulitcast使うのは日本くらいかな。

IPv6: Add support for IPv6 Segment Routing. Segment Routing is a source routing{.external} paradigm, architecturally defined in draft-ietf-spring-segment-routing-09{.external}. The IPv6 flavor of SR is defined in draft-ietf-6man-segment-routing-header-02{.external}

IPv6 Segment RoutingがもうLinuxで実装されるとは。基本的にはRFC5095 で廃止された、DoSになりうる問題があったType 0 Routing HeaderをHMACをつけて再実装している感じなのでそんなに難しいものではないとは思うのだけれども。ただ00は最初からHMACをつけてたけど02を見るとTLV形式になっている。これはもうハードウェアで処理できない世界ですよね。(IPv6ってハードウェアで処理しやすい実装目指してませんでしたっけ。)