首页 文章

Opendaylight openflow插件:交换机上有多个通知

提问于
浏览
0

我从openflow示例(学习开关)复制了一些代码,以便在交换机连接时收到通知,但现在,我收到很多通知 . 这是我注册监听器的代码:

WakeupOnNode wakeupListener = new WakeupOnNode(s);


    final InstanceIdentifier<Table> instanceIdentifier = InstanceIdentifier.builder(Nodes.class).child(Node.class).
        augmentation(FlowCapableNode.class).child(Table.class).build();


    final DataTreeIdentifier<Table> dataTreeIdentifier = 
            new DataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, instanceIdentifier);

    this.dataTreeChangeListenerRegistration = this.dataBroker.registerDataTreeChangeListener(dataTreeIdentifier, wakeupListener);

我在监听器中看到多个通知 . 不知道为什么会这样 . 也许我需要听一些其他标识符(?)

在此先感谢您的帮助 .

朗高

1 回答

  • 0

    您正在侦听OpenFlow表更新,每次openflow事件影响交换机上的表时,都会通知您 . 所以你不是在听正确的课程 .

    如果您已经停在 InstanceIdentifier.builder(Nodes.class).child(Node.class) ,则每次更新,添加或删除交换机时都会收到通知 . 这听起来像是您正在寻找的通知 . 就个人而言,这是我用来监听拓扑上的新节点的类 .

    但请注意,您仍会收到很多通知 .

    由于此通知( Node.class )更通用,您可能不得不忽略大量'Update'通知;这是正常的,因为这将包括您当前正在侦听的类的所有'Update'通知(表包含在Node中) .

相关问题