是否可以在与外界有真实 PHY 连接的以太网端口上配置 Ethertype DSA VLAN 标记?

是否可以在与外界有真实 PHY 连接的以太网端口上配置 Ethertype DSA VLAN 标记?

我正在开发一个嵌入式系统,该系统将使用基于端口的 Ethertype DSA (Marvell) 帧标记协议通过“管道”以太网链路(例如 eth0)将运行 Linux 的处理器连接到以太网交换机,以便 Linux 内核呈现用户空间为交换机的每个用户端口(例如lan1、lan2、lan3)提供单独的以太网链路。

据我了解,这通常是通过固定的无 phy 管道(例如 xMII)以及处理器和交换机之间的 MDIO 链路来完成的,以便处理器可以配置和控制物理用户端口。

我想在接收硬件之前进行一些软件开发,因此我想“伪造”MDIO 链路,或者以其他方式配置内核,以便它在普通(配备 PHY 的网络)上使用基于端口的 EDSA 帧标记) 以太网端口,导致帧布局如下:

         7   6   5   4   3   2   1   0  
       .   .   .   .   .   .   .   .   .
     0 +---+---+---+---+---+---+---+---+
       |   Ether Destination Address   |
    +6 +---+---+---+---+---+---+---+---+
       |     Ether Source Address      |
    +6 +---+---+---+---+---+---+---+---+  --
       |  Prog. DSA Ether Type [15:8]  |  |
    +1 +---+---+---+---+---+---+---+---+  |
       |  Prog. DSA Ether Type [7:0]   |  | EDSA tag
    +1 +---+---+---+---+---+---+---+---+  |
       |     Reserved (0x00 0x00)      |  |
    +2 +---+---+---+---+---+---+---+---+  |  --
       | Mode  |b29|   Switch Device   |  |  |
    +1 +---+---+---+---+---+---+---+---+  |  |
       |    Switch Port    |b18|b17|b16|  |  |
    +1 +---+---+---+---+---+---+---+---+  |  | DSA tag
       | PRI [2:0] |b12|  VID [11:8]   |  |  |
    +1 +---+---+---+---+---+---+---+---+  |  |
       |           VID [7:0]           |  |  |
    +1 +---+---+---+---+---+---+---+---+  -- --
       |       Ether Length/Type       |
    +2 +---+---+---+---+---+---+---+---+
       .   .   .   .   .   .   .   .   .

...其中Switch Port对应于交换机的用户端口号。

内核模块的文档dsa_loopdsa_loop_bdinfo暗示这些可能是合适的,并且源代码似乎链接.netdev = "eth0"到一些用户端口("lan1".."lan4"),但即使我可以modprobe dsa_loop进入我的内核,我也没有看到内核创建的任何虚拟端口设备(我是用于ifconfig -a显示网络设备)。

    ~# lsmod
    Module                  Size  Used by
    dsa_loop               16384  0
    dsa_core              118784  1 dsa_loop

执行此操作时,modprobe dsa_loop我看到对 的调用dsa_loop_init,但没有对 的调用dsa_loop_drv_probe

所以我想我有几个问题:

  • dsa_loop和模块是否dsa_loop_init旨在允许在“正常”以太网链路上执行 EDSA 标记?
  • 这些模块打算如何使用?
  • 是否有其他方法可以配置 Linux 来执行此操作而无需访问交换机 MDIO?

相关内容