+
+//michaelc
+int br_addstaticmac_fdb(char *brname, char *ifname, char *macp)
+{
+#define BRCTL_ADD_STATIC_MAC 19
+ char *mac[6];
+ int index, ret, addResult;
+ memcpy(mac,macp,6);
+
+ if ( (index = get_portno(brname, ifname)) < 0)
+ ret = index;
+ else {
+ struct ifreq ifr;
+ unsigned long args[4] = { BRCTL_ADD_STATIC_MAC, index, mac, 0 };
+ strncpy(ifr.ifr_name, brname, IFNAMSIZ);
+ ifr.ifr_data = (char *) &args;
+ ret = ioctl(br_socket_fd, SIOCDEVPRIVATE, &ifr);
+ }
+
+ return ret < 0 ? errno : 0;
+}
+
+