Я пытаюсь запустить сеанс BGP (семейство состояний каналов, если это имеет значение). Следуя этому руководству https://github.com/opendaylight/docs/blob/master/docs/user-guide/bgpcep-guide/bgp/bgp-user-guide-linkstate-family.rst
Когда я делаю запрос, используя в качестве URL-адреса /restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols
и в качестве тела
<protocol xmlns="http://openconfig.net/yang/network-instance">
<name>nl-ams02c-ispbgp01</name>
<identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
<bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
<global>
<config>
<router-id>10.20.14.1</router-id>
<as>xxx</as>
</config>
<afi-safis>
<afi-safi>
<afi-safi-name>LINKSTATE</afi-safi-name>
</afi-safi>
</afi-safis>
</global>
</bgp>
</protocol>
Кажется, семейство добавилось в динамик BGP, я проверяю это с помощью
In [5]: url = "/restconf/operational/bgp-rib:bgp-rib"
In [6]: requests.get('http://{}:{}{}'.format(odl['api']['ipaddr'],odl['api']['port'],url), auth=auth).json()
Out[6]:
{'bgp-rib': {'rib': [{'id': 'nl-ams02c-ispbgp01',
'loc-rib': {'tables': [{'afi': 'bgp-linkstate:linkstate-address-family',
'safi': 'bgp-linkstate:linkstate-subsequent-address-family',
'bgp-linkstate:linkstate-routes': {},
'attributes': {'uptodate': True}}, ...
Вопрос #1 Я не знаю, как проверить и где я должен увидеть локальный IP-адрес (10.20.14.1 в приведенном выше примере), который используется для этого сеанса BGP. Каким будет запрос HTTP GET для этого?
Затем, когда я пытаюсь настроить узел BGP, используя URL-адрес /restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/nl-ams02c-ispbgp01/bgp/neighbors
и тело
<neighbor xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
<neighbor-address>10.20.14.0</neighbor-address>
<afi-safis>
<afi-safi>
<afi-safi-name>LINKSTATE</afi-safi-name>
</afi-safi>
</afi-safis>
</neighbor>
Я получаю следующую ошибку:
{'errors': {'error': [{'error-type': 'protocol',
'error-tag': 'malformed-message',
'error-message': 'Error parsing input: Child "protocol" was not found in parent schema node "(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2017-12-07)neighbors"',
'error-info': 'Child "protocol" was not found in parent schema node "(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2017-12-07)neighbors"'}]}}
Вопрос № 2 Не могли бы вы помочь мне и посоветовать правильный HTTP-вызов для настройки узла BGP?
PS. Я использую OpenDaylight Oxygen-SR2.
ОБНОВЛЕНИЕ: я узнал, что RESTCONF API Explorer помогает, все еще просматривая его.