Какого-либо простого способа не видится. Демон работает в пространстве пользователя и вообще ничего не знает об отдельных пакетах, а читает уже декапсулированные данные из сокетного буфера. Более того, уже на программном уровне модуль HTTP оперирует L7-концепциями, отдельными HTTP запросами.
В man 7 socket упоминается опция SO_MARK, но я подозреваю, что getsockopt(SO_MARK) на соединении просто вернет ранее установленное через setsockopt(SO_MARK) значение. Возможно, что я ошибаюсь.
Что-то типа getsockopt(fd, SOL_SOCKET, SO_MARK, &mark, &len);
По примерам это похоже на точто нужно
Получается нужно “поднять” эту маркировку до контекст соединения angie по аналогии с remote_addr/remote_port/server_port
Я полагаю, что все же getsockopt(fd, SOL_SOCKET, SO_MARK, &mark, &len); не вернет то, что было прислано. Оно лишь вернет то значение, что могло быть ранее установлено через setsockopt() для этого дескриптора (т.е. никакого) и потому смысла не имеет.
Я рекомендую всё же проверить на простом тестовом примере, прежде чем пытаться что-то делать дальше.