Use link-local multicast on other BSDs too.
diff --git a/asio/src/tests/unit/ip/multicast.cpp b/asio/src/tests/unit/ip/multicast.cpp
index 8a62d3f..e4f031e 100644
--- a/asio/src/tests/unit/ip/multicast.cpp
+++ b/asio/src/tests/unit/ip/multicast.cpp
@@ -145,13 +145,22 @@
 #endif // defined(ASIO_WINDOWS) && defined(UNDER_CE)
   ASIO_CHECK(!have_v4 || !ec);
 
-#if defined(__APPLE__)
+#if (defined(__MACH__) && defined(__APPLE__)) \
+  || defined(__FreeBSD__) \
+  || defined(__NetBSD__) \
+  || defined(__OpenBSD__)
   const ip::address multicast_address_v6 =
     ip::address::from_string("ff02::1%lo0", ec);
-#else // defined(__APPLE__)
+#else // (defined(__MACH__) && defined(__APPLE__))
+      //   || defined(__FreeBSD__)
+      //   || defined(__NetBSD__)
+      //   || defined(__OpenBSD__)
   const ip::address multicast_address_v6 =
     ip::address::from_string("ff01::1", ec);
-#endif // defined(__APPLE__)
+#endif // (defined(__MACH__) && defined(__APPLE__))
+       //   || defined(__FreeBSD__)
+       //   || defined(__NetBSD__)
+       //   || defined(__OpenBSD__)
   ASIO_CHECK(!have_v6 || !ec);
 
   // join_group class.