$OpenBSD: patch-base_slp_py,v 1.4 2013/01/26 19:38:00 ajacoutot Exp $

XXX Unable to setup multicast socket... [Errno 22] Invalid argument

--- base/slp.py.orig	Tue Nov 20 10:55:15 2012
+++ base/slp.py	Sat Jan 26 19:13:18 2013
@@ -69,9 +69,9 @@ def detectNetworkDevices(ttl=4, timeout=10): #, xid=No
         pass
 
     try:
-        s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, ttl)
-        s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf) + socket.inet_aton('0.0.0.0'))
-        s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP ,1)
+        s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, ttl)
+        s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf))
+        s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, struct.pack('B', 1))
     except Exception, e:
         log.error("Unable to setup multicast socket for SLP: %s" % e)
         return {}
