[zeromq-dev] 0MQ/2.0-beta1 on OSX

Asko Kauppi askok at dnainternet.net
Sun Jan 17 21:06:09 CET 2010


Martin Sustrik kirjoitti 17.1.2010 kello 20:48:

> Hi Asko,
>
>> I had a look at this OS X PowerPC "issue" today, and it's not  
>> really  an issue at all.
>> I was using "en0" blindly, without realizing it is wired Ethernet  
>> that  I don't have hooked up on this laptop. Using "en1" (wlan  
>> interface)  works.
>
> Good to know it's not a bug!
>
>> The trouble I see from your (ZeroMQ's) side is keeping first time   
>> evaluators on a smooth run. Error messages for not getting the  
>> right  interface would work here - to make it look less like a  
>> bug / crash /  whatever. Something like:
>> 	"Interface 'en0' is not currently available"
>> And of course the mention you were placing on "eth0" vs. "en0" (on  
>> the  website) should cover "eth1" and "en1". At least.
>
> This may be tricky. Interface name resolving is done in different  
> ways on different OS platforms. On each platform you may get  
> different set of errors. Still, we have to ensure that on 0MQ level  
> the sematics of the error(s) are consistent across the platforms.

I'd see this being a matter of the sample programs (perf/*). They  
currently do heavy asserts and stuff instead of providing meaningful  
analysis of the fault. No ZMQ API needs changing to make the life of  
newcomers easier.

Maybe perf are not to be used as samples, but heck - at least to me  
they were plenty good for that. And they are mentioned on the website,  
so.... they are indeed samples.

>
> The quick hack would be to choose a single error code and document  
> is as "error when resolving interface name". Any error encountered  
> when resolving the name of the interface would then be converted  
> into this error.
>
> Would you like to have a look at this?
>
> As for the text in HOWTO section on the website, it's planned to  
> make it more detailed in the future. Discussion of interface naming  
> on different platforms should certainly be included.
>
>> *** Local looping on OS X:
>> This is to clarify you how local looping works on OS X. Don't know  
>> if  this is important (maybe for initial evaluators it is):
>> With "en0" or "en1" I must use the actual IP number. "localhost"  
>> or  127.0.0.1 won't work.
>> For local looping there's a completely separate interface, "lo0":
>
> Hm. Interesting. What's the IP of lo0 then? Maybe 127.0.0.0?

$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	inet 127.0.0.1 netmask 0xff000000
	inet6 ::1 prefixlen 128

Don't know more about it.

-asko

>
> Martin




More information about the zeromq-dev mailing list