В тех случаях, когда вы отключаете поле в заголовке протокола, чтобы направить вас к следующему этапу обработки для этого протокола, могут использоваться массивы указателей на функции. Значение из заголовка протокола используется для индексации в массиве и вызова функции для этого протокола.
Вы должны обрабатывать все возможные значения в этом массиве, даже те, которые недопустимы. В конце концов вы получите пакет, содержащий недопустимое значение, либо потому, что кто-то пытается атаковать, либо потому, что будущая версия протокола добавляет новые значения.