У меня проблемы с поиском ответа на этот вопрос:
Когда ядро получает пакет и обрабатывает его, как оно узнает, какие сокеты доступны? Я видел, что существует какая-то очередь сокетов, но я пытаюсь углубиться в детали.
Есть ли очередь для каждого типа семейства (SOCK_RAW, SOCK_DGRAM, et c) и соответствующий обработчик протокола проверяет, есть ли в его очереди соответствующие сокеты или есть одна объединенная очередь? А может я ошибаюсь и бывает совсем по-другому ...