Server IPv6 support

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
m
m (Reverted edits by PcbXtz (Talk); changed back to last version by Aurelien)
 
Line 1: Line 1:
-
[http://saibso.org/mansion-imposible.htm mansion imposible] [http://amohseni.info/img/styles/lettore-memory/ lettore memory stick pro] [http://amohseni.info/img/styles/insieme-kar/ insieme kar] [http://bloprofeldi.info/lib/rappresentanti-per.htm rappresentanti per estero] [http://nobinters.org/mamara-eros.htm mamara eros ramazzotti] [http://amohseni.info/img/styles/osculati/ osculati] [http://davte.info/library/html/un-genio.htm un genio in famiglia] [http://kinunia.cn/bevanda-ai.htm bevanda ai cereali] [http://kinunia.cn/winmix-gratis.htm winmix gratis] [http://psisemiya.com/images/small/delitto-nella/ delitto nella tempesta] [http://ustall.org/web/olga-tanon.htm olga tanon] [http://chaba.info/programma-per/ programma per mix] [http://bloprofeldi.info/lib/ati-radeon.htm ati radeon x600pro 256mb pci dvi] [http://chaba.info/gay-cazzi/ gay cazzi nudi video gratis] [http://nobinters.org/nute-if.htm nute if you buck] [http://kinunia.cn/sgozzati.htm sgozzati] [http://ustall.org/web/www-mogambo.htm www mogambo com ar] [http://ustall.org/web/zelig-drive.htm zelig drive 4] [http://saibso.org/tetovaza.htm tetovaza] [http://psisemiya.com/images/small/inserimento-motore/ inserimento motore ricerca] [http://chaba.info/do-you/ do you knoe where] [http://helmed.info/topic/new-maco/ new maco s] [http://kinunia.cn/faretti-per.htm faretti per giardino] [http://saibso.org/tomtom-.htm tomtom 500 europa] [http://helmed.info/topic/nokia-/ nokia 6630 accessori mmc] [http://kinunia.cn/www-ragazze.htm www ragazze italiane] [http://kinunia.cn/diga-di.htm diga di assuan] [http://saibso.org/tv-lcd.htm tv lcd 17 hyundai] [http://ustall.org/web/jeep-cherokee.htm jeep cherokee 2 8 crd] [http://ustall.org/web/cuore-prigioniero.htm cuore prigioniero] [http://ustall.org/web/gps-navman.htm gps navman] [http://davte.info/library/html/fotos-porno.htm fotos porno de belinda] [http://psisemiya.com/images/small/casse-audio/ casse audio pc] [http://bloprofeldi.info/lib/the-ark.htm the ark sane] [http://kinunia.cn/el-ultimo.htm el ultimo video de kalimba] [http://kinunia.cn/neon-blu.htm neon blu] [http://amohseni.info/img/styles/l-oceano/ l oceano del silenzio] [http://helmed.info/topic/ridi/ ridi] [http://kinunia.cn/schede-ati.htm schede ati x850] [http://ashythro.info/library/html/tv-lcd/ tv lcd 32 pollici hdmi] [http://psisemiya.com/images/small/con-la/ con la pallina] [http://saibso.org/paroles-marina.htm paroles marina] [http://nobinters.org/gioco-grande.htm gioco grande fratello] [http://amohseni.info/img/styles/appartamento-lecce/ appartamento lecce] [http://davte.info/library/html/del-turco.htm del turco] [http://davte.info/library/html/cheats-for.htm cheats for rpm tuning] [http://amohseni.info/img/styles/nvidia-geforce/ nvidia geforce 6600 agp8x] [http://chaba.info/ruslana-wild/ ruslana wild dances eurovision] [http://bloprofeldi.info/lib/boy-s.htm boy s] [http://nobinters.org/palm-te.htm palm te2] [http://psisemiya.com/images/small/benetton-basket/ benetton basket] [http://bloprofeldi.info/lib/canna-spinning.htm canna spinning viaggio pesca] [http://kinunia.cn/athlon-.htm athlon 64 bit 2800] [http://nobinters.org/porfido.htm porfido] [http://bloprofeldi.info/lib/tv.htm tv7] [http://helmed.info/topic/borsa-per/ borsa per dvd portatile] [http://ustall.org/web/nikon-mbe.htm nikon mb-e5700] [http://psisemiya.com/images/small/www-ragazze/ www ragazze it] [http://chaba.info/oakley-judge/ oakley judge] [http://davte.info/library/html/sussudio.htm sussudio] [http://bloprofeldi.info/lib/star-wars.htm star wars battlefront 2 - trailer 4] [http://saibso.org/stampante-epson.htm stampante epson cd] [http://kinunia.cn/la-segunda.htm la segunda independencia] [http://nobinters.org/pioneer-home.htm pioneer home cinema 535] [http://davte.info/library/html/nepalesi-massacro.htm nepalesi massacro] [http://kinunia.cn/www-x.htm www x ho com] [http://ustall.org/web/scaricare-waves.htm scaricare waves of luv] [http://psisemiya.com/images/small/pettenasco/ pettenasco] [http://psisemiya.com/images/small/rutherfor/ rutherfor] [http://bloprofeldi.info/lib/trampolin.htm trampolin] [http://psisemiya.com/images/small/cielo-sopra/ cielo sopra berlino] [http://psisemiya.com/images/small/little-tailor/ little tailor] [http://davte.info/library/html/hub-combo.htm hub combo usb] [http://nobinters.org/sindicalizacion-en.htm sindicalizacion en panama] [http://kinunia.cn/thomson-dvd.htm thomson dvd recorder] [http://davte.info/library/html/doppio-sospetto.htm doppio sospetto] [http://nobinters.org/circo-massimo.htm circo massimo] [http://bloprofeldi.info/lib/la-boda.htm la boda de belen] [http://davte.info/library/html/aventura-obsession.htm aventura obsession] [http://bloprofeldi.info/lib/crazy-ball.htm crazy ball] [http://ustall.org/web/jeans-take.htm jeans take -two kimberly] [http://psisemiya.com/images/small/poppin-dem/ poppin dem thangs] [http://psisemiya.com/images/small/ridder/ ridder] [http://nobinters.org/multimedia-lcd.htm multimedia lcd] [http://nobinters.org/kiss.htm kiss 1500] [http://davte.info/library/html/oc-theme.htm oc theme california] [http://davte.info/library/html/loredana-cannata.htm loredana cannata video] [http://nobinters.org/packard-bell.htm packard bell spirit] [http://davte.info/library/html/cd-alan.htm cd alan parsons] [http://ustall.org/web/foto-fanni.htm foto fanni cadeo] [http://ustall.org/web/disco-di.htm disco di avvio xp] [http://davte.info/library/html/bilderdijk-willem.htm bilderdijk, willem] [http://davte.info/library/html/fotocamera-per.htm fotocamera per ipaq] [http://bloprofeldi.info/lib/www-simplyred.htm www simplyred com] [http://amohseni.info/img/styles/ragazzo-gorizia/ ragazzo gorizia] [http://ustall.org/web/www-uil.htm www uil scuola it] [http://davte.info/library/html/disco-zone.htm disco zone o zone] [http://amohseni.info/img/styles/sum/ sum] [http://ustall.org/web/ojoz.htm ojoz] [http://ustall.org/web/dow-chemical.htm dow chemical] [http://chaba.info/lavororoma/ lavororoma] [http://chaba.info/gif-natalizie/ gif natalizie] [http://nobinters.org/la-donna.htm la donna invisibile] [http://chaba.info/assicurazione-verona/ assicurazione verona] [http://chaba.info/negrette/ negrette] [http://helmed.info/topic/il-video/ il video di brytney toxic] [http://amohseni.info/img/styles/jump-for/ jump for joy] [http://amohseni.info/img/styles/simpol-main/ simpol main] [http://davte.info/library/html/morenas.htm morenas] [http://chaba.info/proiettore-per/ proiettore per diapositive] [http://helmed.info/topic/abbigliamento-piombo/ abbigliamento piombo] [http://ashythro.info/library/html/lizzie-bordon/ lizzie bordon] [http://helmed.info/topic/istituti-di/ istituti di vigilanza privata] [http://chaba.info/cinema-palermo/ cinema palermo] [http://helmed.info/topic/testi-canzoni/ testi canzoni mario winans] [http://chaba.info/keys-viacess/ keys viacess] [http://nobinters.org/video-stupidi.htm video stupidi] [http://bloprofeldi.info/lib/rex-frigorifero.htm rex frigorifero fi 22 10 fa] [http://psisemiya.com/images/small/lidiota/ lidiota] [http://kinunia.cn/gamebot.htm gamebot] [http://chaba.info/lancio-del/ lancio del ping] [http://davte.info/library/html/born-to.htm born to be alive patrick hernandez] [http://davte.info/library/html/la-pazzia.htm la pazzia di re giorgio] [http://davte.info/library/html/christmas-songs.htm christmas songs] [http://saibso.org/ma-che.htm ma che freddo] [http://amohseni.info/img/styles/nuova-fiat/ nuova fiat stilo benzina auto nuove] [http://amohseni.info/img/styles/radio-cassette/ radio cassette cd mp3] [http://psisemiya.com/images/small/yonu/ yonu] [http://saibso.org/le-bambole.htm le bambole del desiderio] [http://bloprofeldi.info/lib/bomb-jake.htm bomb jake] [http://psisemiya.com/images/small/navigon/ navigon 3] [http://psisemiya.com/images/small/un-sogno/ un sogno lungo un giorno] [http://saibso.org/hull-albert.htm hull, albert wallace] [http://chaba.info/foto-sorelle/ foto sorelle lecciso] [http://nobinters.org/scanner-epson.htm scanner epson 2480] [http://davte.info/library/html/civili-in.htm civili in ostaggio in iraq] [http://saibso.org/navika-mp.htm navika mp3] [http://amohseni.info/img/styles/try-it/ try it on my own] [http://saibso.org/coppie-valutano.htm coppie valutano singoli] [http://bloprofeldi.info/lib/vacanze-ungheria.htm vacanze ungheria] [http://helmed.info/topic/i-figli/ i figli di sanchez] [http://nobinters.org/adsl-pro.htm adsl pro] [http://chaba.info/chimene-badi/ chimene badi] [http://saibso.org/annunci-singole.htm annunci singole palermo] [http://chaba.info/fus/ fus] [http://davte.info/library/html/missione-caracas.htm missione caracas] [http://kinunia.cn/puta-con.htm puta con] [http://amohseni.info/img/styles/cd-e/ cd 224e] [http://amohseni.info/img/styles/annelise-van/ annelise van der pol] [http://davte.info/library/html/dior-mascara.htm dior mascara] [http://chaba.info/nardi-forni/ nardi forni] [http://ashythro.info/library/html/switch/ switch] [http://ustall.org/web/loa-ponce.htm loa ponce] [http://amohseni.info/img/styles/case-prefabricate/ case prefabricate in legno] [http://saibso.org/olimpiadi-programma.htm olimpiadi programma 15 08] [http://bloprofeldi.info/lib/don-dale.htm don dale] [http://nobinters.org/km-cherokee.htm km0 cherokee auto km 0] [http://bloprofeldi.info/lib/ritta.htm ritta] [http://ustall.org/web/sata-.htm sata 80 gb 2 5] [http://nobinters.org/fit-puglia.htm fit puglia] [http://helmed.info/topic/villaggio-vacanza/ villaggio vacanza basilicata] [http://ustall.org/web/nad-c.htm nad c272] [http://davte.info/library/html/ram-sdram.htm ram sdram 133 512mb] [http://helmed.info/topic/legge-/ legge 241 del 1990] [http://saibso.org/hard-disc.htm hard disc maxtor] [http://nobinters.org/doppio-cordless.htm doppio cordless] [http://psisemiya.com/images/small/joyce-kelvin/ joyce kelvin irish lottery] [http://amohseni.info/img/styles/foto-di/ foto di maria teresa ruta] [http://saibso.org/silvia-vada.htm silvia vada] [http://nobinters.org/chandrakanta.htm chandrakanta] [http://kinunia.cn/leatherman-juice.htm leatherman juice] [http://ustall.org/web/sony-cybershot.htm sony cybershot h1] [http://psisemiya.com/images/small/go-west/ go west young man] [http://kinunia.cn/scheda-audio.htm scheda audio sound blaster audigy x-fi] [http://nobinters.org/drin.htm drin] [http://chaba.info/claudio-grimm/ claudio grimm trieste] [http://kinunia.cn/www-atlasconcorde.htm www atlasconcorde it] [http://davte.info/library/html/screw-up.htm screw up] [http://bloprofeldi.info/lib/m-jakson.htm m jakson] [http://amohseni.info/img/styles/una-vita/ una vita in pericolo] [http://amohseni.info/img/styles/fare-pompino/ fare pompino] [http://kinunia.cn/sony-.htm sony - fotocamera digitale - dsc-t3] [http://davte.info/library/html/scarpette-puma.htm scarpette puma] [http://psisemiya.com/images/small/topolino-e/ topolino e la magia del natale] [http://bloprofeldi.info/lib/callan.htm callan] [http://saibso.org/incontro-crotone.htm incontro crotone] [http://saibso.org/joss-stone.htm joss stone mp3] [http://saibso.org/http-infor.htm http infor gruppo telecomitalia it] [http://chaba.info/punto-grande/ punto grande] [http://davte.info/library/html/asus-.htm asus - p4s800d] [http://psisemiya.com/images/small/tiepolo-praga/ tiepolo praga] [http://amohseni.info/img/styles/masterizzatore-dvd/ masterizzatore dvd samsung esterno] [http://davte.info/library/html/euro.htm euro 204] [http://bloprofeldi.info/lib/walter-piacesi.htm walter piacesi] [http://kinunia.cn/kurort-schmalkalden.htm kurort schmalkalden] [http://chaba.info/caricatore-cd/ caricatore cd autoradio] [http://saibso.org/televisore-lcd.htm televisore lcd 20 pollici] [http://saibso.org/candy-cbd.htm candy cbd 80 p] [http://amohseni.info/img/styles/batteria-a/ batteria a1000] [http://nobinters.org/arrivano-joe.htm arrivano joe e margherito] NFS kernel code work for IPv6 support in NFSv4 server
+
NFS kernel code work for IPv6 support in NFSv4 server
Description of possible implementation
Description of possible implementation

Latest revision as of 02:23, 19 August 2007

NFS kernel code work for IPv6 support in NFSv4 server Description of possible implementation

Contents

Possible methods of implementation

Solution 1

Each time an address (or a socket address) is used, a specific processing is performed according to the family of the address.

Solution 2

Another way is to use the IPv4-mapping addressing: with this method, recommended to migrate to IPv6, the IPv4 addresses are mapped into IPv6 addresses and then all the processings are done on IPv6 addresses. So it is no more useful to distinguish IPv4 / IPv6 addresses and the IP layer automatically map/unmap the IPv4 addresses when needed.

Solution 3

A third way is to use sets of functions specific to each protocol (TCP/IPv4, TCP/IPv6, ...) written to implement the parts of code depending on the address type. When a new client or server instance is created, the set of functions corresponding to the transport protocol is stored in the associated structure to be used when needed. This method is used by the transport switch implemented by Chuck Lever to allow new transports, such as RDMA, to be plugged and used instead of TCP or UDP.

Mapped addresses

Mapped addresses are a mechanism to « encapsulate » a 32 bit IPv4 address in a 128 bit IPv6 address. The IPv4 address is stored in less significant bits of IPv6 address and the 96 most significant bits are 0:0:0:0:FFFF

So the représentaion of A.B.C.D IP address is:

0 0 0 0 0 0 0 0 0 0 FF FF A B C D


The IN6_IS_ADDR_V4MAPPED() routine aims at determining if an inet6 address is a mapped address.

Solutions Analysis

Solution 1 adds a lot of tests in the code which increase the complexity of the code reading and maintainability.

Solution 2 has the advantage to simplify the code (only one format of addresses is handled) and preserves the performances. Drawbacks: it requires the kernel to be compiled with IPv6, even if no IPv6 addressing is used. Other OS (*nix, Windows, ...) provide the support of IPv6 in standard. Though the default Linux kernels provided by the major distributions (RedHat, FedoraCore, Suse, Debian, Mandrake, ...) are already compiled with IPv6 enabled, the IPv6 compilation flag is not set by default on the kernel.org delivery. Several reasons could explain the unwillingness to require the kernel built with IPv6: the IPv6 code seems not to be mature and tested enough for some people, and this requirement doesn't match with the Linux concept of global modularity (i.e. the possibility to have the wanted functions and only these ones). Keeping the possibility to compile the kernel without the support of IPv6 requires to keep the current processing and to add the new one with a compilation flag (CONFIG_IPV6). This makes the bug fixing more difficult especially because different code paths can be used according to whether the kernel has been built or not with IPv6 enabled.

Solution 3 is clean, it works even if the kernel is not compiled with IPv6. But since INET addresses are used in a lot of places (in nfs, nfsd, lockd, statd, rpc, ...), the access to the structure defining the set of functions to be used may be very difficult. Moreover, according to the granularity of these functions, a lot of code may be duplicated, decreasing the maintainability.

Proposed solution

3 for client and a mix of 1 and 2 for server On the client side, since Chuck Lever has already implemented the transport switch in the RPC kernel part, the third solution has been implemented by extending the use of this transport switch to the NFS part. Moreover, the mount command uses the TI-RPC library and has been been extended to be made transport independent. For further information see: http://nfsv4.bullopensource.org/doc/mini-howto.php

Client Ipv6 support should be integrated into Transport Switch and Trond's patchset soon. However, the Ipv6 patchset for the client is available here: http://nfsv4.bullopensource.org/patches/nfs_ipv6-5/index.php

On the server side, no work has been done yet, and is planned, to implement a framework to plug new transports. The current code allows the processing of tcp/ipv4 and udp/ipv4 transports by testing the used protocol when needed. In the same way, the tcp/ipv6 and udp/ipv6 will be added at the RPC level by using generic structures and adding tests of the used family (AF_INET or AF_INET6). INET and INET6 sockets will be used to communicate with clients. INET6 structures (sockaddr_in6 and in6_addr) are used to store both IPv4 and IPv6 addresses. The mapping mechanism is used to encapsulate IPv4 addresses in INET6 structures. In this way, we take advantage of IPv6 features, without needing the kernel to be compiled with IPv6 enabled. We will use IPv6 structure just as a container for both type of addresses. For the transmission we will use IPv6 socket only if adresses are IPv6 addresses. In case of IPv4 address, we will retrieve the IPv4 address from the INET6 structure, and then use IPv4 sockets. In this case, there is no need to have kernel IPv6 modules compiled to do IPv4 communications.

Personal tools