Kernel-Log – Was 3.7 bringt (2): Netzwerk
Linux beherrscht Network Address Translation (NAT) nun auch bei IPv6. Neu sind Server-seitige Unterstützung für Googles Beschleunigungstrick "TCP Fast Open" und ein Tethering-Treiber für das iPhone 5.
Die Kernel-Entwickler haben Unterstützung für Network Address Translation [1] (NAT) mit IPv6 in Linux integriert (u. a. 1 [2], 2 [3]). Einige Linux-Entwickler hatten den Sinn dieser Technik in Frage gestellt [4], weil der größere Addressraum von IPv6 eigentlich NAT unnötig macht. Die Funktion wurde nun aber doch integriert, weil die Spezifikation für NAT mit IPv6 [5] einige Probleme der IPv4-Lösung vermeidet und sich Anwendungsfälle ergeben haben, wo NAT bei IPv6 sinnvoll sein kann.
So wollen manche Anwender und Institutionen mit Hilfe der Technik ihre interne Netzwerk-Topologie geheim halten [6]. Ein andere Grund sind Unternehmen, die zum Steigern der Verfügbarkeit mehrere Internet-Verbindungen von verschiedenen Providern nutzen; in solch einem Szenario erleichtert NAT den Wechsel zwischen den verschiedenen Anbindungen.
Treiber
Wie mit fast jeder Kernel-Version erhielten einige Treiber Erweiterungen, welche die Hardware-Unterstützung verbessern. Der iPhone-Tethering-Treiber ipheth etwa arbeitet nun auch mit dem iPhone 5 [7]. Der Treiber ath9k unterstützt nun den Atheros-WLAN-Baustein AR9565 (u. a. 1 [8], 2 [9], 3 [10], 4 [11]). Der Broadcom-Fullmac-Treiber brcmfmac spricht jetzt die USB-WLAN-Chips 43242 [12] und 43143 [13] an; zusammen mit Hostap kann der Treiber die Hardware jetzt als Access Point [14] einrichten (Master Mode). Intels Ethernet-Treiber e1000e unterstützt erstmals [15] die Netzwerkfunktion der Low-Power-Variante des Platform Controller Hub Lynx Point enthält.
Entwicklungsstand
Am Samstag hat Linus Torvalds die sechste Vorabversion von Linux 3.7 veröffentlicht [16] und dabei erwähnt, am darauf folgenden Tag in Urlaub zu fahren. Er zeigt sich erfreut, wie wenig Änderungen derzeit an ihn herangetragen wurden und stellt einen RC7 in Aussicht. Da es bereits jetzt so ruhig sei, werde das vermutlich die letzte Vorabversion sein. Sofern das so bleibt und Torvalds seinen üblichen Rhythmus beibehält, dürfte Linux 3.7 dann kurz vor oder nach dem Monatswechsel erscheinen.
Verschiedenes
Die Kernel-Entwickler haben den Server-seitigen Code für "TCP Fast Open" (TFO) integriert (u. a. 1 [17], 2 [18], 3 [19]). Bereits Linux 3.6 enthält die Client-seitige Unterstützung dieser experimentellen und von Google ausgearbeiteten TCP-Erweiterung. Sie soll den HTTP-Verbindungsausfbau beschleunigen [20], indem die ersten beiden Schritte beim normalerweise genutzten "TCP three-way handshake" kombiniert [21] werden.
Das Tunneling-Protokoll GRE (Generic Routing Encapsulation [22]) kann andere Protokolle jetzt auch über IPv6 [23] tunneln.
Der Team-Treiber arbeitet nun auch mit Nicht-Ethernet-Hardware [24].
Die Bonding-Unterstützung unterstützt IPv6 Transmit Hashing [25].
Ebenfalls neu ist Unterstützung für Virtual eXtensible Local Area Networking [26] (VXLAN) – ein bei der Internet Engineering Task Force (IETF) als Entwurf eingereichtes [27] Tunneling-Protokoll, das sich laut Kernel-Dokumentation [28] dazu eignet, die Limitierung auf 4096 VLANs zu umgehen.
Einige weitere Änderungen erläutert der Betreuer des Netzwerk-Subsystems in der Mail [29] mit seinem Haupt-Git-Pull-Request [30] für Linux 3.7.
Die kleinen Perlen
Die kleinen Perlen
Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:
Ethernet
- [
- [
4
] cxgb4: Add support for T4 configuration file [32] - [
2
] cxgb4: Add support for T4 hardwired driver configuration settings [33] - [
DN
] drivers: net: ethernet: cpsw: Add device tree support to CPSW [34] - [
DN
] drivers: net: ethernet: davince_mdio: device tree implementation [35] - [
- [
1
] igb: Add 1588 support to I210/I211. [37] - [
N
] ixgbe: add debugfs support [38] - [
I
] ixgbe: add support for X540-AT1 [39] - [
- [
1
] netdev: octeon_mgmt: Add support for 1Gig ports. [41] - [
C N
] net/fsl: introduce Freescale 10G MDIO driver [42] - [
C 1
] net: mipsnet: Remove the MIPSsim Ethernet driver. [43] - [
C N
] phy: add AT803x driver [44] - [
- [
C N5
] sfc: Add support for IEEE-1588 PTP [46] - [
- [
- [
C
] tg3: unconditionally select HWMON support when tg3 is enabled. [49]
Wifi
- [
- [
- [
- [
I
] ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation [53] - [
- [
- [
1
] b43: N-PHY: add PHY rev7+ workarounds [56] - [
- [
N3
] b43: N-PHY: init 0x2057 radio [58] - [
D
] batman-adv: Add the backbone gateway list to debugfs [59] - [
I
] bcma: handle BCM43227 [60] - [
- [
C 2
] brcmfmac: add e-scan support. [62] - [
1
] brcmfmac: introduce scheduled scan support [63] - [
1
] cfg80211: add P2P Device abstraction [64] - [
2
] mac80211: support P2P Device abstraction [65] - [
N1
] mwifiex: improve uAP RX handling [66] - [
1
] rt2x00: add MediaTek/RaLink Rt3352 WiSoC [67] - [
C
] rtlwifi: Remove EXPERIMENTAL as pre-requisite for the drivers [68]
Various
- [
I
] Add CDC-ACM support for the CX93010-2x UCMxx USB Modem [69] - [
I
] asix: Adds support for Lenovo 10/100 USB dongle. [70] - [
- [
DN
] can: c_can: Add device tree support to Bosch C_CAN/D_CAN controller [72] - [
- [
D
] docbook: networking: fix file paths for uapi headers [74] - [
- [
C N2
] ieee802154: MRF24J40 driver [76] - [
D
] ipconfig: add nameserver IPs to kernel-parameter ip= [77] - [
- [
- [
- [
N
] net: add gro_cells infrastructure [81] - [
C
] net: Add INET dependency on aes crypto for the sake of TCP fastopen. [82] - [
C DN
] netdev/phy: add MDIO bus multiplexer driven by a memory-mapped device [83] - [
C N1
] netfilter: combine ipt_NETMAP and ip6t_NETMAP [84] - [
C N
] netfilter: ip6tables: add MASQUERADE target [85] - [
C N
] netfilter: ip6tables: add NETMAP target [86] - [
C N
] netfilter: ip6tables: add REDIRECT target [87] - [
C N
] netfilter: ip6tables: add stateless IPv6-to-IPv6 Network Prefix Translation target [88] - [
1
] netfilter: ipset: Include supported revisions in module description [89] - [
8
] netfilter: nf_nat: add protoff argument to packet mangling functions [90] - [
C
] netfilter: nf_nat: support IPv6 in amanda NAT helper [91] - [
C
] netfilter: nf_nat: support IPv6 in FTP NAT helper [92] - [
C
] netfilter: nf_nat: support IPv6 in IRC NAT helper [93] - [
C 2
] netfilter: nf_nat: support IPv6 in SIP NAT helper [94] - [
C
] netfilter: nf_nat: support IPv6 in TFTP NAT helper [95] - [
C D 1
] netfilter: remove xt_NOTRACK [96] - [
C
] net ip6 flowlabel: Make owner a union of struct pid * and kuid_t [97] - [
- [
- [
N
] NFC: Add an LLC Core layer to HCI [100] - [
N
] NFC: Add a nop (passthrough) llc module to llc core [101] - [
N2
] NFC: Add an shdlc llc module to llc core [102] - [
C 4
] NFC: Changed HCI and PN544 HCI driver to use the new HCI LLC Core [103] - [
C D 2
] NFC: Remove the pn544 raw driver [104] - [
2
] openvswitch: Add support for network namespaces. [105] - [
C N
] packet: Diag core and basic socket info dumping [106] - [
4
] sctp: Make sysctl tunables per net [107] - [
N2
] sctp: Make the address lists per network namespace [108] - [
N1
] tcp: add generic netlink support for tcp_metrics [109] - [
- [
D
] tcp: Increase timeout for SYN segments [111] - [
- [
C 1
] team: add support for non-ethernet devices [113] - [
- [
1
] tunnel: drop packet if ECN present with not-ECT [115] - [
Ein "C" im Bereich "[ ]" kennzeichnet Commits mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten. Mit "I" ausgezeichneten Patches rüsten neue PCI- oder USB-IDs nach; jene mit "D" verändern die dem Kernel beiliegende Dokumentation; Commits mit "N" legen neue Dateien an. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: Eine "1" kennzeichnet Patches, die inklusive Kommentar zwischen 10 und 20 KByte groß sind; Patches mit einer "9" sind 90 KByte oder größer.
Die "Was Linux 3.7 bringt"-Serie
Das Kernel-Log [117] kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der Anfang Dezember erwarteten Linux-Version 3.6 geben, da alle größeren Neuerungen bereits in den ersten beiden Entwicklungswochen integriert wurden; Linux 3.7 befindet sich seit dem in der Stabilisierungsphase [118], in der die Kernel-Hacker [119] nur selten größeren Änderungen vornehmen.
Über einige der Neuerungen von Linux 3.7 hat das Kernel-Log bereits im Rahmen der Artikelserie "Was 3.7 bringt" berichtet:
In den kommenden Wochen werden noch Artikel erscheinen, die sich mit Infrastruktur, Architektur-Unterstützung und Treibern beschäftigen.
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs [121] auf heise open [122]. Neue Ausgaben des Kernel-Logs [123] werden auf den Identi.ca [124]- und Twitter [125]-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H [126]" erscheinenden Übersetzungen auf den Identi.ca [127]- und Twitter [128]-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca [129] und Twitter [130] als "@kernellogauthor". (thl [131]) (thl [132])
URL dieses Artikels:
https://www.heise.de/-1751471
Links in diesem Artikel:
[1] http://de.wikipedia.org/wiki/Network_Address_Translation
[2] http://git.kernel.org/linus/c7232c9979cba684c50b64c513c4a83c9aa70563
[3] http://git.kernel.org/linus/58a317f1061c894d2344c0b6a18ab4a64b69b815
[4] http://thread.gmane.org/gmane.comp.security.firewalls.netfilter.devel/39974/focus%3D40040
[5] http://www.heise.de/netze/rfc/rfcs/rfc6296.shtml
[6] http://thread.gmane.org/gmane.comp.security.firewalls.netfilter.devel/39978
[7] http://git.kernel.org/linus/af1b85e49089f945deb46258b0fc4bc9910afb22
[8] http://git.kernel.org/linus/0c8070f92f483b764623f6d3960a4d69f8911351
[9] http://git.kernel.org/linus/a4a2954ff49e72ce3fa1f78a156b2492a023c89d
[10] http://git.kernel.org/linus/aaa53ee97dab2b4c98ea2765e4f16af62d8694bb
[11] http://git.kernel.org/linus/77fac465b4b65056a2cec62c1acdc754b7ae86ed
[12] http://git.kernel.org/linus/1212d370e7e00eea38e30d6ac93e907bb351ebfa
[13] http://git.kernel.org/linus/70f0822c5d430ddcca722cd8cd03760ca432c531
[14] http://git.kernel.org/linus/1a87334239757b69eb9885979c32bbf871b3ec88
[15] http://git.kernel.org/linus/16e310ae6ed352c4963b1f2413fcd88fa693eeda
[16] http://article.gmane.org/gmane.linux.kernel/1395793
[17] http://git.kernel.org/linus/8336886f786fdacbc19b719c1f7ea91eb70706d4
[18] http://git.kernel.org/linus/168a8f58059a22feb9e9a2dcc1b8053dbbbc12ef
[19] http://git.kernel.org/linus/1046716368979dee857a2b8a91c4a8833f21b9cb
[20] https://www.heise.de/hintergrund/Kernel-Log-Was-3-6-bringt-2-Netzwerk-1697525.html
[21] https://lwn.net/Articles/508865/
[22] https://de.wikipedia.org/wiki/Generic_Routing_Encapsulation_Protocol
[23] http://git.kernel.org/linus/c12b395a46646bab69089ce7016ac78177f6001f
[24] http://git.kernel.org/linus/1d76efe1577b4323609b1bcbfafa8b731eda071a
[25] http://git.kernel.org/linus/6b923cb7188d46905f43fa84210c4c3e5f9cd8fb
[26] http://git.kernel.org/linus/d342894c5d2f8c7df194c793ec4059656e09ca31
[27] http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
[28] http://git.kernel.org/linus/d342894c5d2f8c7df194c793ec4059656e09ca31#patch1
[29] http://article.gmane.org/gmane.linux.network/244867
[30] http://www.heise.de/glossar/entry/Git-Pull-Request-397971.html
[31] http://git.kernel.org/linus/515e12401f43f2fe7511d228dfe3e186be8aab6e
[32] http://git.kernel.org/linus/636f9d371f70f22961fd598fe18380057518ca31
[33] http://git.kernel.org/linus/13ee15d396da78079918c5be7510ea1847393d4c
[34] http://git.kernel.org/linus/2eb32b0a6f9d73fafc6b2c00ac0b705de13ae143
[35] http://git.kernel.org/linus/ec03e6a89e5168c92581a769681207c29ad2030f
[36] http://git.kernel.org/linus/2f66fd36a2be8e97a0ea774ba186adf24882cd10
[37] http://git.kernel.org/linus/e57b8bdb4833366fd23d03a066c7eb8acc5736c7
[38] http://git.kernel.org/linus/00949167d6f34f83e9e185ab4f7a3a94bf4c5a1c
[39] http://git.kernel.org/linus/df376f0de167754da9b3ece4afdb5bb8bf3fbf3e
[40] http://git.kernel.org/linus/3d305850261dfbf815eb7a0f0b768d4e1a11485a
[41] http://git.kernel.org/linus/eeae05aa21695703e1979999a9a4a861447045c9
[42] http://git.kernel.org/linus/9f35a7342cff0be72e3c038ea972e07662ca1ce8
[43] http://git.kernel.org/linus/718cffc4ac65f01c6f1efd6baec8b4b5ff0c76b5
[44] http://git.kernel.org/linus/0ca7111a38f053ae7b8829ee32fca6f9ef47550a
[45] http://git.kernel.org/linus/2a35cfa591ac63f17815c2d9432b799e37527980
[46] http://git.kernel.org/linus/7c236c43b838221e17220bcb39e8e8d8c7123713
[47] http://git.kernel.org/linus/25ce200215666956d96d1a62a20c75a2f3b9d38e
[48] http://git.kernel.org/linus/a2af139ff1cd85df586690ff626619ab1ee88b0a
[49] http://git.kernel.org/linus/de0a41484c47d783dd4d442914815076aa2caac2
[50] http://git.kernel.org/linus/e09f2dc73c5c4927cbc55d9c29bef4209c2d866d
[51] http://git.kernel.org/linus/046b6802c8d3c8a57448485513bf7291633e0fa3
[52] http://git.kernel.org/linus/7f34778e79048fae1a88100de917277375466de0
[53] http://git.kernel.org/linus/763cbac07674a648f1377b21ca66f577c103fa9a
[54] http://git.kernel.org/linus/ceb26a6013b962b82f644189ea29d802490fc8fc
[55] http://git.kernel.org/linus/c071b9f666beee2b27b5a4667f099026ca539bd7
[56] http://git.kernel.org/linus/d11d354b7b02aac09a20a8157bf990670f169f6f
[57] http://git.kernel.org/linus/d3d178f050813ec6b82b77cc2df668272e10daba
[58] http://git.kernel.org/linus/572d37a48557e7d38a5d9b5857627bc29f33a26c
[59] http://git.kernel.org/linus/536a23f119e35e58c762a219bafd398ba2ed7980
[60] http://git.kernel.org/linus/646e0827df85f1305eeebf2108e9daafeabe0e0d
[61] http://git.kernel.org/linus/4a1c02ce7f44895d7556735fefbaa7966ddbcb07
[62] http://git.kernel.org/linus/e756af5b30b008f6ffcfebf8ad0b477f6f225b62
[63] http://git.kernel.org/linus/e58060723c91a2345318fe809fc99945776a7a25
[64] http://git.kernel.org/linus/98104fdeda63d57631c9f89e90a7b83b58fcee40
[65] http://git.kernel.org/linus/f142c6b906da451ded2c7a8e17b2a0e6fee3e891
[66] http://git.kernel.org/linus/838e4f44929782a2163c7bc95a7cd2da5d8b47f9
[67] http://git.kernel.org/linus/03839951515b0ea2b21d649b1fe7b63f9817d0c8
[68] http://git.kernel.org/linus/7a5f799becc51c842ec1a3aeb8dd82651aea7036
[69] http://git.kernel.org/linus/e7d491a19d3e3aac544070293891a2542ae0c565
[70] http://git.kernel.org/linus/66dc81ecd71332783c92fb170950d5ddb43da461
[71] http://git.kernel.org/linus/256a06c8a85df676e80263af349daad1283e529e
[72] http://git.kernel.org/linus/2469627d175c1d6d7812a1395dd3ef053a0e65b3
[73] http://git.kernel.org/linus/4cdd34b26826e89972c03043987b83f76e7ad510
[74] http://git.kernel.org/linus/29bb4cc5e0547a7589556f8629e39016c5d203c0
[75] http://git.kernel.org/linus/6b78f16e4bdde3936b11690bdb970be423e07a07
[76] http://git.kernel.org/linus/3731a334c012ed825a87e1f152bbf980f79dabb2
[77] http://git.kernel.org/linus/5e953778a2aab04929a5e7b69f53dc26e39b079e
[78] http://git.kernel.org/linus/417962a02ba283c8532d61474dc08e0a966cd269
[79] http://git.kernel.org/linus/91b4b04ff85de9086c959138d747d2808cc83a46
[80] http://git.kernel.org/linus/51ec04038c113a811b177baa85d293feff9ce995
[81] http://git.kernel.org/linus/c9e6bc644e557338221e75c242ab12c275a67d1b
[82] http://git.kernel.org/linus/798b2cbf9227b1bd7d37ae9af4d9c750e6f4de9c
[83] http://git.kernel.org/linus/6cc2ff82492d89f763e69ea6b8681926aceda610
[84] http://git.kernel.org/linus/b3d54b3e406b5d6ac391590bf7524e887e8e13c3
[85] http://git.kernel.org/linus/b3f644fc8232ca761da0b5c5ccb6f30b423c4302
[86] http://git.kernel.org/linus/ed72d9e294a66fce8f4b4a2f6c8c011b22f1a87c
[87] http://git.kernel.org/linus/115e23ac78f87b632b5406e9d504fd56d17ffef1
[88] http://git.kernel.org/linus/8a91bb0c304b0853f8c59b1b48c7822c52362cba
[89] http://git.kernel.org/linus/10111a6ef373c377e87730749a0f68210c3fd062
[90] http://git.kernel.org/linus/051966c0c644a1c96092d4206e00704ade813c9a
[91] http://git.kernel.org/linus/ee6eb96673704225164f0ba7462e1973ce10885c
[92] http://git.kernel.org/linus/d33cbeeb1a46a7dc82fe9f53e40a742ce0c67c79
[93] http://git.kernel.org/linus/5901b6be885e2c9a30fd94803b846b3d33e351dd
[94] http://git.kernel.org/linus/9a664821068739dbc8eac13770e28167b46a0c0f
[95] http://git.kernel.org/linus/320ff567f299ed3f0a2d53906e632a1b0eda5599
[96] http://git.kernel.org/linus/965505015beccc4ec900798070165875b8e8dccf
[97] http://git.kernel.org/linus/4f82f45730c68fdaf9b0472495a965188404866e
[98] http://git.kernel.org/linus/42d94dcb68b939c72fded1b3974cd240723afa0c
[99] http://git.kernel.org/linus/c6846ee148e07e4cfae4de486532efb02d238938
[100] http://git.kernel.org/linus/67cccfe17d1b3da1ed6c79e643c9be95ebde9642
[101] http://git.kernel.org/linus/8af00d48dc929442644bf68e9cd3d951d9697296
[102] http://git.kernel.org/linus/4a61cd6687fc6348d08724676d34e38160d6cf9b
[103] http://git.kernel.org/linus/412fda538f4b1317ecd0fbe6e5bc9124792bea88
[104] http://git.kernel.org/linus/7b55279f6a454771d06e8ddf4a7114d17ae9a741
[105] http://git.kernel.org/linus/46df7b814548849deee01f50bc75f8f5ae8cd767
[106] http://git.kernel.org/linus/96ec6327144e1ac9e6676e34fae8b49c2102fa5a
[107] http://git.kernel.org/linus/e1fc3b14f9a90d9591016749289f2c3d7b35fbf4
[108] http://git.kernel.org/linus/4db67e808640e3934d82ce61ee8e2e89fd877ba8
[109] http://git.kernel.org/linus/d23ff701643a4a725e2c7a8ba2d567d39daa29ea
[110] http://git.kernel.org/linus/6f73601efb35c7003f5c58c2bc6fd08f3652169c
[111] http://git.kernel.org/linus/6c9ff979d1921e9fd05d89e1383121c2503759b9
[112] http://git.kernel.org/linus/a86fc6b7d603992070c04bd7a8c217d55688b077
[113] http://git.kernel.org/linus/1d76efe1577b4323609b1bcbfafa8b731eda071a
[114] http://git.kernel.org/linus/8ff5105a2b9dd0ba596719b165c1827d101e5f1a
[115] http://git.kernel.org/linus/eccc1bb8d4b4cf68d3c9becb083fa94ada7d495c
[116] http://git.kernel.org/linus/5d9d01a30204c99edf99189018953ee84c5f5017
[117] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[118] https://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[119] http://www.heise.de/glossar/entry/Kernel-Hacker-397919.html
[120] https://www.heise.de/hintergrund/Kernel-Log-Was-3-7-bringt-1-Dateisysteme-Storage-1749467.html
[121] http://www.heise.de/open/kernel-log-3007.html
[122] http://www.heise.de/open/
[123] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[124] http://identi.ca/kernellog
[125] http://twitter.com/kernellog
[126] http://www.h-online.com
[127] http://identi.ca/kernellog2
[128] http://twitter.com/kernellog2
[129] http://identi.ca/kernellogauthor
[130] http://twitter.com/kernellogauthor
[131] mailto:thl@ct.de
[132] mailto:thl@ct.de
Copyright © 2012 Heise Medien