Xrootd and IPv6

Dear Proofers,
xrootd ( 5.20.00) seems not to work with IPv6:
proof.conf:
worker lx64a68.cos.lrz-muenchen.de

The command:

gives:

lx64a68.cos.lrz-muenchen.de has address 10.156.70.68
lx64a68.cos.lrz-muenchen.de has IPv6 address 2001:4ca0:0:200::a9c:4644

In the xrd-log files one gets:

081023 11:21:55 001 xpd : XrdProofWorker::Reset: DNS could not resolve 'lx64a68.cos.lrz-muenchen.de'
Using directly the IP(v4) address: 10.156.70.68
works.
Is there anything one can do about this?
Cheers
Otto

Hi Otto,

can you try if for example:

TInetAddress a = gSystem->GetHostByName(" lx64a68.cos.lrz-muenchen.de")
a.Print()

I get:

lx64a68.cos.lrz-muenchen.de/10.156.70.68 (not connected)
Address: 10.156.70.68

do you see the same?

Cheers, Fons.

Hi Fons,
logged on e.g. lx64a66.cos.lrz-muenchen.de
I get the same answer:
TInetAddress a = gSystem->GetHostByName(“lx64a68.cos.lrz-muenchen.de”)
root [1] a.Print()
lx64a68.cos.lrz-muenchen.de/10.156.70.68 (not connected)
Address: 10.156.70.68

However I didnt manage in an interactive session
to issue the same command as in: XrdProofWorker.cxx:97
char *fullHostName = XrdNetDNS::getHostName(“lx64a68”,&err);
I tried things like:
gSystem->Load(“libXrdRootd.so”);
gSystem->Load(“libProofx.so”)

Our system is: Linux lx64a66 2.6.16.54-0.2.8-smp , x86_64
SUSE Linux Enterprise Server 10
Cheers
Otto

Dear Proofers,

In a interactive session I get:

root [0] TProof* p = TProof::Open("10.156.70.67");
090512 16:11:53 001 Xrd: Connect: can't open connection to [::2001:4ca0:0:200:100:400:1093]
090512 16:11:55 001 Xrd: Connect: can't open connection to [::2001:4ca0:b0f3:9c40:1093]
090512 16:11:57 001 Xrd: Connect: can't open connection to [::176.243.156.64:1093]

I guess somethings goes wrong with IP4 / 6 stuff again.
To debug I would like to do something like this:

   XrdClientDebug * cld = XrdClientDebug::Instance();
   cld->SetLevel(10);

but this does not work in an interactive session, since the XrdXXX is not accessible
from CINT.

Cheers
Otto

Hi,

to switch on the debug in the Xrootd client you don’t need to mess up with XrdClientDebug, You can just set the ROOT var XNet.Debug to a value >= 0, where

1->very low verbosity
2->high verbosity
3->trace everything in the data flows and the internal logic
4->like 3, and also dump the byte streams at low level

You can set it by editing your .rootrc file or by using gEnv->SetValue()

When you are able to see the log, please post it, since it is the first time I see such a behavior.
BTW, does it happen also when you just use TFile::Open towards your xrootd redirector?

Fabrizio

Hi,

I am working with the same setup as Otto. I have been able to instanciate a PROOF session by using a slightly customed version of ROOT, which I installed from source. I edited the file <root_sources>/net/xrootd/src/xrootd/src/XrdNet/XrdNetDNS.cc in order to force IPv4, using the following code:

myhints.ai_family = AF_INET;

I attached the modified XrdNetDNS.cc file to this post.

Regards,
Philippe
XrdNetDNS.cxx (22 KB)

Hi,

FYI, the change in XrdNetDNS.cc to force IPv4 is in the SVN trunk now.

Gerri