网络董事长 2025-07-02 10:28 采纳率: 66.7%
浏览 7
已结题

SDN流表下发日志提示

img

为什么下发流表日志提示这 个,怎么不支持dl_valn字段,但网上又说是正常,使用的是openflow1.3版本

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-07-02 10:33
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    SDN流表下发日志提示

    你遇到了一个问题:在使用 OpenFlow 1.3 版本的 SDN 流表下发日志时,提示不支持 dl_valn 字段,但网上又说这是正常的行为。

    解决方案:

    1. 问题的原因是 dl_valn 字段在 OpenFlow 1.3 版本中已经被弃用了。OpenFlow 1.3 版本中引入了 dl_vlan 字段来取代 dl_valn
    2. 解决方法是,在你的 Java 代码中使用 dl_vlan 字段代替 dl_valn 字段。

    例如,在使用 OpenFlow 1.3 版本的 Java 代码中,你可以使用以下代码来下发流表:

    OpenFlowFlowMod flowMod = new OpenFlowFlowMod();
    flowMod.setTableId(0);
    flowMod.setMatch(new OpenFlowMatch());
    flowMod.getMatch().setEthernetType(0x0800); // IP协议
    flowMod.getMatch().setEthernetSrc("00:11:22:33:44:55");
    flowMod.getMatch().setEthernetDst("00:11:22:33:44:66");
    flowMod.getMatch().setVlanId(100); // 使用dl_vlan字段
    flowMod.setInstructions(new OpenFlowInstructions());
    flowMod.getInstructions().add(new OpenFlowInstructionApplyActions());
    flowMod.getInstructions().get(0).getActions().add(new OpenFlowActionOutput(1));
    

    在上面的代码中,我们使用 dl_vlan 字段来指定 VLAN ID,而不是 dl_valn 字段。

    希望这解决了你的问题!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 7月10日
  • 已采纳回答 7月2日
  • 创建了问题 7月2日