list_for_each_rcu(lh, &br->mc_list) {
dst = (struct net_bridge_mc_fdb_entry *) list_entry(lh, struct net_bridge_mc_fdb_entry, list);
printk("%s %s ", br->dev->name, dst->dst->dev->name);
- addr_debug(&dst->addr);
+ addr_debug((unsigned char *) &dst->addr);
printk(" ");
- addr_debug(&dst->host);
- printk(" %d\n", (dst->tstamp - jiffies)/HZ);
+ addr_debug((unsigned char *) &dst->host);
+ printk(" %d\n", (int) (dst->tstamp - jiffies)/HZ);
}
}
return NULL;
}
-mac_addr upnp_addr = {0x01, 0x00, 0x5e, 0x7f, 0xff, 0xfa};
+extern mac_addr upnp_addr;
-br_mc_fdb_add(struct net_bridge *br, struct net_bridge_port *prt, unsigned char *dest, unsigned char *host)
+int br_mc_fdb_add(struct net_bridge *br, struct net_bridge_port *prt, unsigned char *dest, unsigned char *host)
{
struct net_bridge_mc_fdb_entry *mc_fdb;
init_timer(&br->igmp_timer);
br->igmp_timer.expires = jiffies + TIMER_CHECK_TIMEOUT*HZ;
br->igmp_timer.function = query_timeout;
- br->igmp_timer.data = br;
+ br->igmp_timer.data = (unsigned long) br;
add_timer(&br->igmp_timer);
br->start_timer = 1;
}
return 1;
}
-br_mc_fdb_cleanup(struct net_bridge *br)
+void br_mc_fdb_cleanup(struct net_bridge *br)
{
struct net_bridge_mc_fdb_entry *dst;
struct list_head *lh;
spin_unlock_bh(&br->mcl_lock);
}
-br_mc_fdb_remove_grp(struct net_bridge *br, struct net_bridge_port *prt, unsigned char *dest)
+void br_mc_fdb_remove_grp(struct net_bridge *br, struct net_bridge_port *prt, unsigned char *dest)
{
struct net_bridge_mc_fdb_entry *dst;
struct list_head *lh;
spin_unlock_bh(&br->mcl_lock);
}
-br_mc_fdb_remove(struct net_bridge *br, struct net_bridge_port *prt, unsigned char *dest, unsigned char *host)
+int br_mc_fdb_remove(struct net_bridge *br, struct net_bridge_port *prt, unsigned char *dest, unsigned char *host)
{
struct net_bridge_mc_fdb_entry *mc_fdb;
//printk("--- remove mc entry ---\n");
- if (mc_fdb = br_mc_fdb_get(br, prt, dest, host)) {
+ if ((mc_fdb = br_mc_fdb_get(br, prt, dest, host))) {
spin_lock_bh(&br->mcl_lock);
list_del_rcu(&mc_fdb->list);
kfree(mc_fdb);