--- /dev/null
+--- a/ibss.c
++++ b/ibss.c
+@@ -83,6 +83,20 @@ static int join_ibss(struct nl80211_stat
+ argc--;
+ }
+
++ /* multicast rate */
++ if (argc > 1 && strcmp(argv[0], "mcast-rate") == 0) {
++ argv++;
++ argc--;
++
++ rate = strtod(argv[0], &end);
++ if (*end != '\0')
++ return 1;
++
++ NLA_PUT_U32(msg, NL80211_ATTR_MCAST_RATE, (int) rate * 10);
++ argv++;
++ argc--;
++ }
++
+ if (!argc)
+ return 0;
+
+@@ -109,7 +123,7 @@ COMMAND(ibss, leave, NULL,
+ "Leave the current IBSS cell.");
+ COMMAND(ibss, join,
+ "<SSID> <freq in MHz> [fixed-freq] [<fixed bssid>] "
+- "[basic-rates <rate in Mbps,rate2,...>] [key d:0:abcde]",
++ "[basic-rates <rate in Mbps,rate2,...>] [mcast-rate <rate in Mbps>] [key d:0:abcde]",
+ NL80211_CMD_JOIN_IBSS, 0, CIB_NETDEV, join_ibss,
+ "Join the IBSS cell with the given SSID, if it doesn't exist create\n"
+ "it on the given frequency. When fixed frequency is requested, don't\n"