У меня есть TCP-сервер, который прослушивает только определенный интерфейс. Я хочу, чтобы после вызова accept()
, если входящее соединение было из подсети xxx.xxx.xxx.0
, данные должны проходить через intf1, в противном случае данные должны отправляться через intf2, где мой сервер прослушивает.
Оба интерфейса имеют одинаковые настройки маршрута и приоритет. Все сети доступны с обоих интерфейсов.
Одним из выходов может быть добавление нового маршрута через intf1 с более высоким приоритетом, но я хочу, чтобы это было решение на основе кода.
Код написан на чистом C и написан на Linux.