如何过滤掉或停止获取 Opendaylight(氧气)BGP-LS 数据更改事件中的数据字段

Posted

技术标签:

【中文标题】如何过滤掉或停止获取 Opendaylight(氧气)BGP-LS 数据更改事件中的数据字段【英文标题】:How to filter out or stop getting data field within Opendaylight(Oxygen) BGP-LS data change event 【发布时间】:2018-04-30 16:16:00 【问题描述】:

以下是我用于 BGP-LS 更新的拓扑示例:


"topology": [

    "topology-id": "bgp-example-linkstate-topology",
    "link": [
        
            "link-id": "bgpls://IsisLevel2:0/type=link&local-as=65038&local- 
            router=0000.0000.0010.07&remote-as=65038&remote-router=0000.0000.0005",
            "source": 
                "source-tp": "bgpls://IsisLevel2:0/type=tp",
                "source-node": 
          "bgpls://IsisLevel2:0/type=node&as=65038&router=0000.0000.0010.07"
            ,
            "destination": 
                "dest-tp": "bgpls://IsisLevel2:0/type=tp",
                "dest-node": 
             "bgpls://IsisLevel2:0/type=node&as=65038&router=0000.0000.0005"
            ,
            "l3-unicast-igp-topology:igp-link-attributes": 
                "isis-topology:isis-link-attributes": 
                    "ted": 
                        "te-default-metric": 0
                    
                
            
        
    "topology-types": 
        "odl-bgp-topology-types:bgp-linkstate-topology": 
    ,
    "node": [
        
            "node-id": 
         "bgpls://IsisLevel2:0/type=node&as=65038&router=0000.0000.0008.03",
            "l3-unicast-igp-topology:igp-node-attributes": 
                "isis-topology:isis-node-attributes": 
                    "ted": ,
                    "iso": 
                        "iso-system-id": "0000.0000.0008",
                        "iso-pseudonode-id": "03"
                    
                
            ,
            "termination-point": [
                
                    "tp-id": "bgpls://IsisLevel2:0/type=tp"
                
            ]
    ,
    "node": [
        
            "node-id": 
         "bgpls://IsisLevel2:0/type=node&as=65038&router=0000.0000.0008.04",
            "l3-unicast-igp-topology:igp-node-attributes": 
                "isis-topology:isis-node-attributes": 
                    "ted": ,
                    "iso": 
                        "iso-system-id": "0000.0000.0008",
                        "iso-pseudonode-id": "03"
                    
                
            ,
            "termination-point": [
                
                    "tp-id": "bgpls://IsisLevel2:0/type=tp"
                
            ]

只要我在拓扑中进行任何更改。我在为此拓扑订阅的 websocket 中接收数据更改事件。下面给出了数据更改事件的示例:

<data-change-event>
        <path>/network-topology:network-topology/network-topology:topology[network-topology:topology-id='bgp-example-linkstate-topology']/network-topology:link[network-topology:link-id='bgpls://IsisLevel2:0/type=link&amp;local-as=65038&amp;local-router=0000.0000.0008.03&amp']</path>
        <operation>updated</operation>
        <data>
            <unreserved-bandwidth xmlns="urn:TBD:params:xml:ns:yang:network:isis-topology">
                <priority>4</priority>
                <bandwidth>12499999744</bandwidth>
            </unreserved-bandwidth>
        </data>
    </data-change-event>

由于一些延迟问题,我不需要数据字段并想将其删除。有什么办法可以从数据更改事件中过滤掉数据字段?或者如果我可以在数据更改订阅时进行任何更改以停止获取数据字段?

【问题讨论】:

【参考方案1】:

目前没有过滤掉字段的机制。看起来很有用的功能 - 也许您愿意贡献它?

【讨论】:

是的,可能需要深入研究代码。虽然会分享我想出的任何解决方案。

以上是关于如何过滤掉或停止获取 Opendaylight(氧气)BGP-LS 数据更改事件中的数据字段的主要内容,如果未能解决你的问题,请参考以下文章

如何快速从 HealthKit 中获取氧饱和度?

在 Opendaylight 中修改配置

如何停止循环以仅获取第一个数组的内容?

数据更改时如何刷新氧图

OpenDayLight——HelloWorld

opendaylight:不一致的 api 响应