Auto set route on macos

This commit is contained in:
2025-12-31 21:12:23 +01:00
parent 37ddb82d9a
commit 3dc5c04bf1
2 changed files with 14 additions and 1 deletions

View File

@@ -326,6 +326,13 @@ namespace ColumnLynx::Net {
mIfName.c_str() mIfName.c_str()
); );
system(cmd); system(cmd);
// Wipe old routes
//snprintf(cmd, sizeof(cmd),
// "route -n delete -net %s",
// mIfName.c_str()
//);
//system(cmd);
#elif defined(_WIN32) #elif defined(_WIN32)
char cmd[512]; char cmd[512];
// Remove any persistent routes associated with this interface // Remove any persistent routes associated with this interface
@@ -406,6 +413,12 @@ namespace ColumnLynx::Net {
mIfName.c_str(), ipStr.c_str(), peerStr.c_str(), mtu, prefixStr.c_str()); mIfName.c_str(), ipStr.c_str(), peerStr.c_str(), mtu, prefixStr.c_str());
system(cmd); system(cmd);
// Host bits are auto-normalized by the kernel on macOS, so we don't need to worry about them not being zeroed out.
snprintf(cmd, sizeof(cmd),
"route -n add -net %s/%d -interface %s",
ipStr.c_str(), prefixLen, mIfName.c_str());
system(cmd);
Utils::log("Executed command: " + std::string(cmd)); Utils::log("Executed command: " + std::string(cmd));
return true; return true;