It does not matter, this is already abstracted per platform<span></span><br><br>On Thursday, June 5, 2014, Bryan Crotaz <<a href="mailto:bryan.crotaz@silvercurve.co.uk">bryan.crotaz@silvercurve.co.uk</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto"><div>Does it work on Linux and windows? Or does it fall back to the old behaviour? Or does it throw nasty errors?<br><br>
Bryan Crotaz<div>Silver Curve</div></div><div><br>On 5 Jun 2014, at 11:41, "Hüning, Christian" <<a>Christian.Huening@haw-hamburg.de</a>> wrote:<br><br></div><blockquote type="cite">
<div>


<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">Hi everybody,</div><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><br></div><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">

I just ran into a problem regarding the usage of System.Net.NetworkInformation.NetworkInterface.cs on OSX. Especially the Properties „SupportsMulticast“ and „OperationalStatus“ were not implemented properly (always returning false / unknown). So I just fixed that. </div>

<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><br></div><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">On <a href="http://mono-project.com/Contributing#Ways_to_Contribute" target="_blank">http://mono-project.com/Contributing#Ways_to_Contribute</a> it’s written to post patches to this mailing list, so I do :)</div>

<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><br></div><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">My solution basically works by extracting the ifa_flags via getifaddrs and storing the flags in the MacOsNetworkInterface class inside of NetworkInterface.cs. I can then implement the two properties like so:</div>

<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><br></div><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><font face="Menlo"><span style="color:#009695"><span style="white-space:pre-wrap">        </span>public</span><span style="color:#333333"> </span><span style="color:#009695">override</span><span style="color:#333333"> OperationalStatus OperationalStatus </span><span style="color:#333333">{</span><br>


<span style="color:#333333">            </span><span style="color:#009695">get</span><span style="color:#333333"> </span><span style="color:#333333">{</span><br>
<span style="color:#333333">                </span><span style="color:#009695">if</span><span style="color:#333333">(((</span><span style="color:#333333">MacOsInterfaceFlags</span><span style="color:#333333">)</span><span style="color:#333333">_ifa_flags </span><span style="color:#333333">&</span><span style="color:#333333"> MacOsInterfaceFlags</span><span style="color:#333333">.</span><span style="color:#333333">IFF_UP</span><span style="color:#333333">)</span><span style="color:#333333"> </span><span style="color:#333333">==</span><span style="color:#333333"> MacOsInterfaceFlags</span><span style="color:#333333">.</span><span style="color:#333333">IFF_UP</span><span style="color:#333333">){</span><br>


<span style="color:#333333">                    </span><span style="color:#009695">return</span><span style="color:#333333"> OperationalStatus</span><span style="color:#333333">.</span><span style="color:#333333">Up</span><span style="color:#333333">;</span><br>


<span style="color:#333333">                </span><span style="color:#333333">}</span><br>
<span style="color:#333333">                </span><span style="color:#009695">return</span><span style="color:#333333"> OperationalStatus</span><span style="color:#333333">.</span><span style="color:#333333">Unknown</span><span style="color:#333333">;</span><br>


<span style="color:#333333">            </span><span style="color:#333333">}</span><br>
<span style="color:#333333">        </span><span style="color:#333333">}</span><br>
<br>
<span style="color:#333333">        </span><span style="color:#009695">public</span><span style="color:#333333"> </span><span style="color:#009695">override</span><span style="color:#333333"> </span><span style="color:#009695">bool</span><span style="color:#333333"> SupportsMulticast </span><span style="color:#333333">{</span><br>


<span style="color:#333333">            </span><span style="color:#009695">get</span><span style="color:#333333"> </span><span style="color:#333333">{</span><br>
<span style="color:#333333">                </span><span style="color:#009695">return</span><span style="color:#333333"> </span><span style="color:#333333">((</span><span style="color:#333333">MacOsInterfaceFlags</span><span style="color:#333333">)</span><span style="color:#333333">_ifa_flags </span><span style="color:#333333">&</span><span style="color:#333333"> MacOsInterfaceFlags</span><span style="color:#333333">.</span><span style="color:#333333">IFF_MULTICAST</span><span style="color:#333333">)</span><span style="color:#333333"> </span><span style="color:#333333">==</span><span style="color:#333333"> MacOsInterfaceFlags</span><span style="color:#333333">.</span><span style="color:#333333">IFF_MULTICAST</span><span style="color:#333333">;</span><br>


<span style="color:#333333">            </span><span style="color:#333333">}</span></font></div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Mono-devel-list mailing list</span><br>
<span><a href="javascript:_e(%7B%7D,'cvml','Mono-devel-list@lists.ximian.com');" target="_blank">Mono-devel-list@lists.ximian.com</a></span><br>
<span><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a></span><br></div></blockquote></div>
</blockquote>