X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Froute.c;h=3c0cf5b5b3a0d7aedc02807da006d46f26dbcc1a;hb=d6c50eb73ad49bd2eac67214995dff76b7a20661;hp=fd0c697d77b8d57d9603efd291f45f2072603ac7;hpb=7ea85043ac1fb2096baea44f6b0af27ac0d0b2cf;p=tinc diff --git a/src/route.c b/src/route.c index fd0c697d..3c0cf5b5 100644 --- a/src/route.c +++ b/src/route.c @@ -136,13 +136,12 @@ static void age_subnets(int fd, short events, void *data) { event_add(&age_subnets_event, &(struct timeval){10, 0}); } -static void learn_mac(mac_t *address) -{ +static void learn_mac(mac_t *address) { subnet_t *subnet; splay_node_t *node; connection_t *c; - subnet = lookup_subnet_mac(address); + subnet = lookup_subnet_mac(myself, address); /* If we don't know this MAC address yet, store it */ @@ -155,6 +154,7 @@ static void learn_mac(mac_t *address) subnet->type = SUBNET_MAC; subnet->expires = time(NULL) + macexpire; subnet->net.mac.address = *address; + subnet->weight = 10; subnet_add(myself, subnet); /* And tell all other tinc daemons it's our MAC */ @@ -720,7 +720,7 @@ static void route_mac(node_t *source, vpn_packet_t *packet) { /* Lookup destination address */ memcpy(&dest, &packet->data[0], sizeof dest); - subnet = lookup_subnet_mac(&dest); + subnet = lookup_subnet_mac(NULL, &dest); if(!subnet) { broadcast_packet(source, packet);