Завдяки наявності функціонального рівня драйвера драйвери протоколів і драйвери мережевих карт є незалежними один від одного, що значно спрощує складність додавання мережевих пристроїв і розширення мережевих компонентів. Стек мережевих протоколів переважно підтримує розширені драйвери мережевих пристроїв.
Завантаження програми драйвера пристрою END
Завантаження драйверів пристроїв END в основному передбачає з’єднання між драйвером пристрою END і абстрактним рівнем функцій драйвера, що дозволяє стеку мережевих протоколів контролювати пристрій END. Конкретний процес включає: ініціалізацію мережевої карти та пристрою PHY, налаштування параметрів зв’язку мережевої карти та пристрою PHY тощо; Виділіть простір для структури керування мережевою картою та ініціалізуйте структуру END-OBJ, яка в основному включає структуру керування мережевою картою та інформацію про параметри, пов’язану зі стеком мережевих протоколів; Проаналізувати та обробити рядок параметрів, що відповідає драйверу мережевої карти; Виділіть місце для отримання даних, щоб забезпечити зберігання отриманих даних; Реалізуйте зв’язок між драйвером мережевої карти та стеком мережевих протоколів, налаштувавши параметр NET-FUNCS у структурі END-OBJ
Запустіть пристрій END
Процес запуску пристроїв END в основному включає підключення програм обробки переривань і ввімкнення переривань мережевої карти. Для пристроїв мережевих карт методи обробки даних у них можна розділити на два режими роботи: переривання та опитування. Під час процесу запуску пристрою END для отримання та надсилання даних встановлюється режим переривання, а також додаються програми обробки переривань для отримання та надсилання даних. Нарешті, увімкнення переривань мережевої карти, отримання та надсилання переривань може завершити запуск пристрою END
Отримання мережевих пакетів
Для отримання мережевих пакетів стеку мережевих протоколів операційної системи не потрібні драйвери мережевої карти для обробки мережевих пакетів. Коли пристрій мережевої карти отримує дані, він генерує переривання отримання. У програмі обробки переривання прийому програма викличе функцію netJobAdd, щоб запустити програму завдання, яка передає дані, отримані пристроєм мережевої карти, на рівень абстракції функції драйвера. Стек мережевого протоколу отримує пакет мережевих даних через функцію прийому рівня абстракції функції драйвера та виконує відповідну обробку даних. Використання функції netJobAdd тут може зменшити час обробки отримання переривань і покращити можливості прийому даних мережі.
Надсилання мережевих пакетів
Для надсилання мережевих пакетів, коли стек мережевих протоколів надсилає дані, він поміщає дані в буфер і надсилає дані з буфера на пристрій мережевої карти, викликаючи функцію надсилання рівня абстракції драйвера. Після отримання даних пристрій мережевої карти поміщає їх у буфер надсилання для очікування надсилання даних.
Драйвер мережевої карти
Feb 09, 2024
Залишити повідомлення
