引言
在 InfiniBand 网络中,IPoIB(IP over InfiniBand)是一种允许传统 IP 应用程序在 InfiniBand 网络上运行的协议。ipoib_vlan.c
是 Linux 内核中 IPoIB 驱动的一部分,主要负责处理 VLAN(虚拟局域网)相关的功能。本文将详细解析该文件的功能、关键函数及其实现逻辑。
文件概述
ipoib_vlan.c
文件主要实现了以下功能:
-
VLAN 接口的创建和删除:通过
ipoib_vlan_add
和ipoib_vlan_delete
函数,可以创建和删除基于 P_Key(Partition Key)的 VLAN 接口。 -
VLAN 接口的唯一性检查:通过
is_child_unique
函数,确保创建的 VLAN 接口在同一个父接口下是唯一的。 -
VLAN 接口的注册和注销:通过
__ipoib_vlan_add
和ipoib_vlan_delete_task
函数,处理 VLAN 接口的