diff --git a/src/net_setup.c b/src/net_setup.c index 867fef945..70291bffe 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -360,11 +360,11 @@ bool setup_myself(void) { if(get_config_string(lookup_config(config_tree, "Forwarding"), &mode)) { if(!strcasecmp(mode, "off")) - routing_mode = FMODE_OFF; + forwarding_mode = FMODE_OFF; else if(!strcasecmp(mode, "internal")) - routing_mode = FMODE_INTERNAL; + forwarding_mode = FMODE_INTERNAL; else if(!strcasecmp(mode, "kernel")) - routing_mode = FMODE_KERNEL; + forwarding_mode = FMODE_KERNEL; else { logger(LOG_ERR, "Invalid forwarding mode!"); return false; diff --git a/src/route.c b/src/route.c index 4e7f7e585..853b7f5b1 100644 --- a/src/route.c +++ b/src/route.c @@ -844,7 +844,7 @@ static void route_mac(node_t *source, vpn_packet_t *packet) { } void route(node_t *source, vpn_packet_t *packet) { - if(forwarding_mode == FMODE_KERNEL) { + if(forwarding_mode == FMODE_KERNEL && source != myself) { send_packet(myself, packet); return; }