Зарегистрируйте новый тип XFRMLinux

Ответить
Anonymous
 Зарегистрируйте новый тип XFRM

Сообщение Anonymous »


Я работаю над реализацией RFC. Короче говоря, этот RFC предлагает решение для сжатия заголовков внутри полезной нагрузки пакета IPsec ESP.

Я собирался разработать модуль ядра Linux. Однако это невозможно из-за ограничения номеров протоколов в коде ядра Linux, см.: https://github.com/torvalds/linux/blob/ ... ate.c#L260

Мой RFC использует собственный протокол номер 142, где ESP использует 50, а IPcomp — 106. Если мы не можем зарегистрировать собственный тип xfrm, каково будет решение?

Принято ли делать «сырой» патч?

Если у вас есть ответ, мне интересно! Заранее спасибо!

Изменить: пример xml_register_type с пользовательским номером протокола

​ #include #include #include #include #include #include #define MY_CUSTOM_PROTOCOL 142 статическая константная структура xfrm_type my_custom_xfrm_type = { .владелец = ЭТОТ_МОДУЛЬ, .proto = МОЙ_ПОЛЬЗОВАТЕЛЬСКИЙ_ПРОТОКОЛ, }; статический int __init my_custom_module_init (void) { int err = xfrm_register_type(&my_custom_xfrm_type, AF_INET); если (ошибка < 0) { printk(KERN_INFO "Невозможно добавить тип"); } еще { printk(KERN_INFO "Добавленный тип"); } вернуть ошибку; } static void __exit my_custom_module_exit (void) { xfrm_unregister_type(&my_custom_xfrm_type, AF_INET); } Module_init (my_custom_module_init); module_exit (my_custom_module_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Ваше имя"); MODULE_DESCRIPTION("Пользовательский модуль XFRM"); Выход:

​ insmod: ОШИБКА: не удалось вставить модуль ./custom_type.ko: Протокол не поддерживается
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»