BGP-LS PCEP AS configuration by editing 41-bgp-example.xml


Angus Brandt
 

Hi,

 

Please help;

 

From: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

 

1. Adjust values for initial BGP Open message

<module>

    <type>prefix:rib-impl</type>

    <name>example-bgp-rib</name>

    <rib-id>example-bgp-rib</rib-id>

    <local-as>64496</local-as>         // Our AS number, we use this in best path selection

    <bgp-id>192.0.2.2</bgp-id>         // Our BGP identifier, we use this in best path selection

2. Specify IP address of your BGP speaker

<module>
    <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
    <name>example-bgp-peer</name>
    <host>192.0.2.1</host>                         // IP address or hostname of the speaker
    <holdtimer>180</holdtimer>

 

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare.  I want to configure one router (R1) with BGP to interface with the ODL controller.

 

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.  

In this scenario, is R1 the client and ODL the speaker?

How do I know which AS the ODL controller belongs to and the id. (I’m guessing it’s given an arbitrary AS and ID in the BGP Open message in step 1 above ..correct? )

 

A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.   

 

Kind regards

Angus

_____________________________________

Angus Brandt

 

Cape Peninsula University of Technology

Department Of Electrical, Electronic and Computer Engineering

 

first floor, room 0013, Bellville Campus

Office: 021 9596564     Cell: 082 3544 175

International: +27(number without leading 0)

 



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Giles Heron <giles.heron@...>
 

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

Hi,

Please help;

From: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

1. Adjust values for initial BGP Open message
<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>64496</local-as> // Our AS number, we use this in best path selection
<bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in best path selection
2. Specify IP address of your BGP speaker

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.0.2.1</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best path selection
<bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we use this in best path selection
...

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>
...

In this scenario, is R1 the client and ODL the speaker?
R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

How do I know which AS the ODL controller belongs to and the id. (I’m guessing it’s given an arbitrary AS and ID in the BGP Open message in step 1 above ..correct? )
The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).


A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255
!
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0
!
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state
!
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

Kind regards
Angus
_____________________________________
Angus Brandt

Cape Peninsula University of Technology
Department Of Electrical, Electronic and Computer Engineering

first floor, room 0013, Bellville Campus
Office: 021 9596564 Cell: 082 3544 175
International: +27(number without leading 0)



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce


Angus Brandt
 

Hi Giles,

Thank you so much for your response. I've implemented your suggested config but still have a problem.

BGP
ODL------->R1---R3
| _|
| |
R2-
My setup:
ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows command window for the host where ODL is running);
R1- MgmEth0/0/0/0 :192.168.0.101/24;
Connectivity between R1 MgmEtho/0/0/0 and ODL is confirmed with success ping.

When I do a 'show bgp neighbour 192.168.0.3' from R1
RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3
Tue Dec 2 15:09:17.657 UTC
% Neighbor not found

Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
Could you please assist me in finding the fault.



::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
RP/0/0/CPU0:XRv1#sh run
Tue Dec 2 15:08:08.482 UTC
Building configuration...
!! IOS XR Configuration 5.2.0
!! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta
!
hostname XRv1
interface Loopback0
ipv4 address 172.16.0.1 255.255.255.255
!
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.0.101 255.255.255.0
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.10.0.9 255.255.255.252
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.10.0.1 255.255.255.252
!
interface preconfigure GigabitEthernet0/0/0/2
ipv4 address 172.16.13.1 255.255.255.0
!
router ospf 100
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls ldp auto-config
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 100
bgp router-id 172.16.0.1
address-family link-state link-state
!
neighbor 192.168.0.100
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 100000
!
interface GigabitEthernet0/0/0/1
bandwidth 100000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!
mpls ldp
router-id 172.16.0.1
address-family ipv4
!
!
end



:::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.

This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html
-->
<snapshot>
<required-capabilities>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topology:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?module=netty&amp;revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:framework?module=protocol-framework&amp;revision=2014-03-13</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:topology?module=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
</required-capabilities>
<configuration>

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:timed-reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
<min-sleep>1000</min-sleep>
<max-sleep>180000</max-sleep>
<sleep-factor>2.00</sleep-factor>
<connect-time>5000</connect-time>
<timed-reconnect-executor>
<type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-event-executor</type>
<name>global-event-executor</name>
</timed-reconnect-executor>
</module>

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer-acceptor</type>
<name>bgp-peer-server</name>


<!--Default parameters>-->
<!--<binding-address>0.0.0.0</binding-address>-->

<!--Default binding-port 179>-->
<!--binding-port>1790</binding-port>-->

<accepting-bgp-dispatcher>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</accepting-bgp-dispatcher>
<accepting-peer-registry>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</accepting-peer-registry>

</module>

<!--
A single BGP peer. Note this section is deactivated because a misconfigured peer
tends to log rather nasty error messages.

For TCP-MD5 support, make sure the dispatcher associated with the rib has
"md5-channel-factory" attribute set and then add a "password" attribute here.
Note that the peer has to have the same password configured, otherwise the
connection will not be established.
-->
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.0.101</host>
<holdtimer>180</holdtimer>
<rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</rib>
<peer-registry>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</peer-registry>
<advertized-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</advertized-table>
<advertized-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</advertized-table>
<advertized-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>linkstate</name>
</advertized-table>
</module>


<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.100</bgp-rib-id>
<local-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</local-table>
<local-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</local-table>
<local-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>linkstate</name>
</local-table>
<extensions>
<type xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi">ribspi:extensions</type>
<name>global-rib-extensions</name>
</extensions>
<bgp-dispatcher>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</bgp-dispatcher>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<session-reconnect-strategy>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</session-reconnect-strategy>
<tcp-reconnect-strategy>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</tcp-reconnect-strategy>
</module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv4">prefix:bgp-reachability-ipv4</type>
<name>example-ipv4-topology</name>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv4-topology</topology-id>
</module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv6">prefix:bgp-reachability-ipv6</type>
<name>example-ipv6-topology</name>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv6-topology</topology-id>
</module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:topology:provider">prefix:bgp-linkstate-topology</type>
<name>example-linkstate-topology</name>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-linkstate-topology</topology-id>
</module>
</modules>

<services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:reconnect-strategy-factory</type>
<instance>
<name>example-reconnect-strategy-factory</name>
<provider>/config/modules/module[name='timed-reconnect-strategy-factory']/instance[name='example-reconnect-strategy-factory']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology">prefix:topology-reference</type>
<instance>
<name>example-ipv4-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv4']/instance[name='example-ipv4-topology']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='example-bgp-rib']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:rib-instance</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='example-bgp-rib']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology">prefix:topology-reference</type>
<instance>
<name>example-ipv6-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv6']/instance[name='example-ipv6-topology']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology">prefix:topology-reference</type>
<instance>
<name>example-linkstate-topology</name>
<provider>/config/modules/module[name='bgp-linkstate-topology']/instance[name='example-linkstate-topology']</provider>
</instance>
</service>
</services>
</data>

</configuration>
</snapshot>



Kind regards
Angus




-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 24 November 2014 07:33 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

> Hi,
>
> Please help;
>
> From: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide
>
> 1. Adjust values for initial BGP Open message <module>
> <type>prefix:rib-impl</type>
> <name>example-bgp-rib</name>
> <rib-id>example-bgp-rib</rib-id>
> <local-as>64496</local-as> // Our AS number, we use this in best path selection
> <bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in best path selection
> 2. Specify IP address of your BGP speaker
>
> <module>
> <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
> <name>example-bgp-peer</name>
> <host>192.0.2.1</host> // IP address or hostname of the speaker
> <holdtimer>180</holdtimer>
>
> I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.
>
> If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.

that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best path selection
<bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we use this in best path selection
...

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>
...

> In this scenario, is R1 the client and ODL the speaker?

R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

> How do I know which AS the ODL controller belongs to and the id. (I'm
> guessing it's given an arbitrary AS and ID in the BGP Open message in
> step 1 above ..correct? )

The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).

>
> A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
>

hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255
!
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0 !
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0 !
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state
!
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

> Kind regards
> Angus
> _____________________________________
> Angus Brandt
>
> Cape Peninsula University of Technology Department Of Electrical,
> Electronic and Computer Engineering
>
> first floor, room 0013, Bellville Campus
> Office: 021 9596564 Cell: 082 3544 175
> International: +27(number without leading 0)
>
>
>
> Disclaimer
>
> This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
>
> Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.
>
> _______________________________________________
> bgpcep-announce mailing list
> bgpcep-announce@...
> https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce


Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Giles Heron <giles.heron@...>
 

Hi Angus,

sorry for the slow reply.

the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.

So in the router BGP config you need:

neighbor 192.168.0.3
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state

and in the 41-bgp-example.xml file you need:

<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.3</bgp-rib-id>

Giles

On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:

Hi Giles,

Thank you so much for your response. I've implemented your suggested config but still have a problem.

BGP
ODL------->R1---R3
| _|
| |
R2-
My setup:
ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows command window for the host where ODL is running);
R1- MgmEth0/0/0/0 :192.168.0.101/24;
Connectivity between R1 MgmEtho/0/0/0 and ODL is confirmed with success ping.

When I do a 'show bgp neighbour 192.168.0.3' from R1
RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3
Tue Dec 2 15:09:17.657 UTC
% Neighbor not found

Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
Could you please assist me in finding the fault.



::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
RP/0/0/CPU0:XRv1#sh run
Tue Dec 2 15:08:08.482 UTC
Building configuration...
!! IOS XR Configuration 5.2.0
!! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta
!
hostname XRv1
interface Loopback0
ipv4 address 172.16.0.1 255.255.255.255
!
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.0.101 255.255.255.0
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.10.0.9 255.255.255.252
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.10.0.1 255.255.255.252
!
interface preconfigure GigabitEthernet0/0/0/2
ipv4 address 172.16.13.1 255.255.255.0
!
router ospf 100
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls ldp auto-config
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 100
bgp router-id 172.16.0.1
address-family link-state link-state
!
neighbor 192.168.0.100
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 100000
!
interface GigabitEthernet0/0/0/1
bandwidth 100000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!
mpls ldp
router-id 172.16.0.1
address-family ipv4
!
!
end



:::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.

This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html
-->
<snapshot>
<required-capabilities>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topology:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?module=netty&amp;revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:framework?module=protocol-framework&amp;revision=2014-03-13</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:topology?module=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
</required-capabilities>
<configuration>

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:timed-reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
<min-sleep>1000</min-sleep>
<max-sleep>180000</max-sleep>
<sleep-factor>2.00</sleep-factor>
<connect-time>5000</connect-time>
<timed-reconnect-executor>
<type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-event-executor</type>
<name>global-event-executor</name>
</timed-reconnect-executor>
</module>

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer-acceptor</type>
<name>bgp-peer-server</name>


<!--Default parameters>-->
<!--<binding-address>0.0.0.0</binding-address>-->

<!--Default binding-port 179>-->
<!--binding-port>1790</binding-port>-->

<accepting-bgp-dispatcher>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</accepting-bgp-dispatcher>
<accepting-peer-registry>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</accepting-peer-registry>

</module>

<!--
A single BGP peer. Note this section is deactivated because a misconfigured peer
tends to log rather nasty error messages.

For TCP-MD5 support, make sure the dispatcher associated with the rib has
"md5-channel-factory" attribute set and then add a "password" attribute here.
Note that the peer has to have the same password configured, otherwise the
connection will not be established.
-->
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.0.101</host>
<holdtimer>180</holdtimer>
<rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</rib>
<peer-registry>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</peer-registry>
<advertized-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</advertized-table>
<advertized-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</advertized-table>
<advertized-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>linkstate</name>
</advertized-table>
</module>


<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.100</bgp-rib-id>
<local-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</local-table>
<local-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</local-table>
<local-table>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-table-type</type>
<name>linkstate</name>
</local-table>
<extensions>
<type xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi">ribspi:extensions</type>
<name>global-rib-extensions</name>
</extensions>
<bgp-dispatcher>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</bgp-dispatcher>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<session-reconnect-strategy>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</session-reconnect-strategy>
<tcp-reconnect-strategy>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</tcp-reconnect-strategy>
</module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv4">prefix:bgp-reachability-ipv4</type>
<name>example-ipv4-topology</name>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv4-topology</topology-id>
</module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reachability:ipv6">prefix:bgp-reachability-ipv6</type>
<name>example-ipv6-topology</name>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv6-topology</topology-id>
</module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:topology:provider">prefix:bgp-linkstate-topology</type>
<name>example-linkstate-topology</name>
<data-provider>
<type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-linkstate-topology</topology-id>
</module>
</modules>

<services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:framework">prefix:reconnect-strategy-factory</type>
<instance>
<name>example-reconnect-strategy-factory</name>
<provider>/config/modules/module[name='timed-reconnect-strategy-factory']/instance[name='example-reconnect-strategy-factory']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology">prefix:topology-reference</type>
<instance>
<name>example-ipv4-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv4']/instance[name='example-ipv4-topology']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg">prefix:rib</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='example-bgp-rib']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:rib-instance</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='example-bgp-rib']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology">prefix:topology-reference</type>
<instance>
<name>example-ipv6-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv6']/instance[name='example-ipv6-topology']</provider>
</instance>
</service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology">prefix:topology-reference</type>
<instance>
<name>example-linkstate-topology</name>
<provider>/config/modules/module[name='bgp-linkstate-topology']/instance[name='example-linkstate-topology']</provider>
</instance>
</service>
</services>
</data>

</configuration>
</snapshot>



Kind regards
Angus




-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 24 November 2014 07:33 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

Hi,

Please help;

From: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

1. Adjust values for initial BGP Open message <module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>64496</local-as> // Our AS number, we use this in best path selection
<bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in best path selection
2. Specify IP address of your BGP speaker

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.0.2.1</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best path selection
<bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we use this in best path selection
...

<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>
...

In this scenario, is R1 the client and ODL the speaker?
R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

How do I know which AS the ODL controller belongs to and the id. (I'm
guessing it's given an arbitrary AS and ID in the BGP Open message in
step 1 above ..correct? )
The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).


A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255
!
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0 !
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0 !
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state
!
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

Kind regards
Angus
_____________________________________
Angus Brandt

Cape Peninsula University of Technology Department Of Electrical,
Electronic and Computer Engineering

first floor, room 0013, Bellville Campus
Office: 021 9596564 Cell: 082 3544 175
International: +27(number without leading 0)



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Angus Brandt
 

Hi Giles,
Thanks for your help. I now have a up and running BGP session with the ODL controller.

From a previous post from Dana some time ago (18 Sep 2014):
"In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."


So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 04 December 2014 05:53 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

sorry for the slow reply.

the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.

So in the router BGP config you need:

neighbor 192.168.0.3
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state

and in the 41-bgp-example.xml file you need:

<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.3</bgp-rib-id>

Giles

On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:

> Hi Giles,
>
> Thank you so much for your response. I've implemented your suggested config but still have a problem.
>
> BGP
> ODL------->R1---R3
> | _|
> | |
> R2-
> My setup:
> ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
> command window for the host where ODL is running);
> R1- MgmEth0/0/0/0 :192.168.0.101/24;
> Connectivity between R1 MgmEtho/0/0/0 and ODL is confirmed with success ping.
>
> When I do a 'show bgp neighbour 192.168.0.3' from R1
> RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2 15:09:17.657
> UTC % Neighbor not found
>
> Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
> Could you please assist me in finding the fault.
>
>
>
> ::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
> RP/0/0/CPU0:XRv1#sh run
> Tue Dec 2 15:08:08.482 UTC
> Building configuration...
> !! IOS XR Configuration 5.2.0
> !! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
> hostname XRv1
> interface Loopback0
> ipv4 address 172.16.0.1 255.255.255.255 !
> interface MgmtEth0/0/CPU0/0
> ipv4 address 192.168.0.101 255.255.255.0 !
> interface GigabitEthernet0/0/0/0
> ipv4 address 10.10.0.9 255.255.255.252 !
> interface GigabitEthernet0/0/0/1
> ipv4 address 10.10.0.1 255.255.255.252 !
> interface preconfigure GigabitEthernet0/0/0/2
> ipv4 address 172.16.13.1 255.255.255.0 !
> router ospf 100
> distribute bgp-ls
> address-family ipv4 unicast
> area 0
> mpls ldp auto-config
> mpls traffic-eng
> interface Loopback0
> cost 1
> passive enable
> !
> interface GigabitEthernet0/0/0/0
> cost 10
> network point-to-point
> !
> interface GigabitEthernet0/0/0/1
> cost 10
> network point-to-point
> !
> !
> mpls traffic-eng router-id Loopback0
> !
> router bgp 100
> bgp router-id 172.16.0.1
> address-family link-state link-state
> !
> neighbor 192.168.0.100
> remote-as 100
> update-source MgmtEth0/0/CPU0/0
> address-family link-state link-state
> !
> !
> !
> rsvp
> interface GigabitEthernet0/0/0/0
> bandwidth 100000
> !
> interface GigabitEthernet0/0/0/1
> bandwidth 100000
> !
> !
> mpls traffic-eng
> interface GigabitEthernet0/0/0/0
> !
> interface GigabitEthernet0/0/0/1
> !
> !
> mpls ldp
> router-id 172.16.0.1
> address-family ipv4
> !
> !
> end
>
>
>
> :::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- vi: set et smarttab sw=4 tabstop=4: -->
> <!--
> Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
>
> This program and the accompanying materials are made available under
> the terms of the Eclipse Public License v1.0 which accompanies this
> distribution, and is available at
> http://www.eclipse.org/legal/epl-v10.html
> -->
> <snapshot>
> <required-capabilities>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg
> ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi
> ?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:imp
> l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topolog
> y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11-1
> 5</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachab
> ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-11-
> 15</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachab
> ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-11-
> 15</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:bind
> ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capabi
> lity>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:netty?modul
> e=netty&amp;revision=2013-11-19</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:fr
> amework?module=protocol-framework&amp;revision=2014-03-13</capability>
> <capability>urn:opendaylight:params:xml:ns:yang:controller:topology?mo
> dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
> </required-capabilities>
> <configuration>
>
> <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
> <modules
> xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> framework">prefix:timed-reconnect-strategy-factory</type>
> <name>example-reconnect-strategy-factory</name>
> <min-sleep>1000</min-sleep>
> <max-sleep>180000</max-sleep>
> <sleep-factor>2.00</sleep-factor>
> <connect-time>5000</connect-time>
> <timed-reconnect-executor>
> <type
> xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">net
> ty:netty-event-executor</type>
> <name>global-event-executor</name>
> </timed-reconnect-executor>
> </module>
>
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-peer-acceptor</type>
> <name>bgp-peer-server</name>
>
>
> <!--Default parameters>-->
> <!--<binding-address>0.0.0.0</binding-address>-->
>
> <!--Default binding-port 179>-->
> <!--binding-port>1790</binding-port>-->
>
> <accepting-bgp-dispatcher>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-dispatcher</type>
> <name>global-bgp-dispatcher</name>
> </accepting-bgp-dispatcher>
> <accepting-peer-registry>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-peer-registry</type>
> <name>global-bgp-peer-registry</name>
> </accepting-peer-registry>
>
> </module>
>
> <!--
> A single BGP peer. Note this section is deactivated because a
> misconfigured peer tends to log rather nasty error messages.
>
> For TCP-MD5 support, make sure the dispatcher associated with the rib
> has "md5-channel-factory" attribute set and then add a "password" attribute here.
> Note that the peer has to have the same password configured, otherwise
> the connection will not be established.
> -->
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-peer</type>
> <name>example-bgp-peer</name>
> <host>192.168.0.101</host>
> <holdtimer>180</holdtimer>
> <rib>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
> fg">prefix:rib</type>
> <name>example-bgp-rib</name>
> </rib>
> <peer-registry>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-peer-registry</type>
> <name>global-bgp-peer-registry</name>
> </peer-registry>
> <advertized-table>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-table-type</type>
> <name>ipv4-unicast</name>
> </advertized-table>
> <advertized-table>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-table-type</type>
> <name>ipv6-unicast</name>
> </advertized-table>
> <advertized-table>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-table-type</type>
> <name>linkstate</name>
> </advertized-table>
> </module>
>
>
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:rib-impl</type>
> <name>example-bgp-rib</name>
> <rib-id>example-bgp-rib</rib-id>
> <local-as>100</local-as>
> <bgp-rib-id>192.168.0.100</bgp-rib-id>
> <local-table>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-table-type</type>
> <name>ipv4-unicast</name>
> </local-table>
> <local-table>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-table-type</type>
> <name>ipv6-unicast</name>
> </local-table>
> <local-table>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-table-type</type>
> <name>linkstate</name>
> </local-table>
> <extensions>
> <type
> xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:s
> pi">ribspi:extensions</type>
> <name>global-rib-extensions</name>
> </extensions>
> <bgp-dispatcher>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-dispatcher</type>
> <name>global-bgp-dispatcher</name>
> </bgp-dispatcher>
> <data-provider>
> <type
> xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
> inding">binding:binding-async-data-broker</type>
> <name>binding-data-broker</name>
> </data-provider>
> <session-reconnect-strategy>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> framework">prefix:reconnect-strategy-factory</type>
> <name>example-reconnect-strategy-factory</name>
> </session-reconnect-strategy>
> <tcp-reconnect-strategy>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> framework">prefix:reconnect-strategy-factory</type>
> <name>example-reconnect-strategy-factory</name>
> </tcp-reconnect-strategy>
> </module>
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
> ability:ipv4">prefix:bgp-reachability-ipv4</type>
> <name>example-ipv4-topology</name>
> <data-provider>
> <type
> xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
> inding">binding:binding-async-data-broker</type>
> <name>binding-data-broker</name>
> </data-provider>
> <local-rib>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
> fg">prefix:rib</type>
> <name>example-bgp-rib</name>
> </local-rib>
> <topology-id>example-ipv4-topology</topology-id>
> </module>
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
> ability:ipv6">prefix:bgp-reachability-ipv6</type>
> <name>example-ipv6-topology</name>
> <data-provider>
> <type
> xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
> inding">binding:binding-async-data-broker</type>
> <name>binding-data-broker</name>
> </data-provider>
> <local-rib>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
> fg">prefix:rib</type>
> <name>example-bgp-rib</name>
> </local-rib>
> <topology-id>example-ipv6-topology</topology-id>
> </module>
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:topol
> ogy:provider">prefix:bgp-linkstate-topology</type>
> <name>example-linkstate-topology</name>
> <data-provider>
> <type
> xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
> inding">binding:binding-async-data-broker</type>
> <name>binding-data-broker</name>
> </data-provider>
> <local-rib>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
> fg">prefix:rib</type>
> <name>example-bgp-rib</name>
> </local-rib>
> <topology-id>example-linkstate-topology</topology-id>
> </module>
> </modules>
>
> <services
> xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> <service>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> framework">prefix:reconnect-strategy-factory</type>
> <instance>
> <name>example-reconnect-strategy-factory</name>
> <provider>/config/modules/module[name='timed-reconnect-strategy-factor
> y']/instance[name='example-reconnect-strategy-factory']</provider>
> </instance>
> </service>
> <service>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> >prefix:topology-reference</type>
> <instance>
> <name>example-ipv4-topology</name>
> <provider>/config/modules/module[name='bgp-reachability-ipv4']/instanc
> e[name='example-ipv4-topology']</provider>
> </instance>
> </service>
> <service>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
> fg">prefix:rib</type>
> <instance>
> <name>example-bgp-rib</name>
> <provider>/config/modules/module[name='rib-impl']/instance[name='examp
> le-bgp-rib']</provider>
> </instance>
> </service>
> <service>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:rib-instance</type>
> <instance>
> <name>example-bgp-rib</name>
> <provider>/config/modules/module[name='rib-impl']/instance[name='examp
> le-bgp-rib']</provider>
> </instance>
> </service>
> <service>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> >prefix:topology-reference</type>
> <instance>
> <name>example-ipv6-topology</name>
> <provider>/config/modules/module[name='bgp-reachability-ipv6']/instanc
> e[name='example-ipv6-topology']</provider>
> </instance>
> </service>
> <service>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> >prefix:topology-reference</type>
> <instance>
> <name>example-linkstate-topology</name>
> <provider>/config/modules/module[name='bgp-linkstate-topology']/instan
> ce[name='example-linkstate-topology']</provider>
> </instance>
> </service>
> </services>
> </data>
>
> </configuration>
> </snapshot>
>
>
>
> Kind regards
> Angus
>
>
>
>
> -----Original Message-----
> From: Giles Heron [mailto:giles.heron@...]
> Sent: 24 November 2014 07:33 PM
> To: Angus Brandt
> Cc: bgpcep-announce@...
> Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
> 41-bgp-example.xml
>
> Hi Angus,
>
> On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:
>
> > Hi,
> >
> > Please help;
> >
> > From:
> > https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide
> >
> > 1. Adjust values for initial BGP Open message <module>
> > <type>prefix:rib-impl</type> <name>example-bgp-rib</name>
> > <rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> // Our
> > AS number, we use this in best path selection
> > <bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
> > best path selection 2. Specify IP address of your BGP speaker
> >
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :impl">prefix:bgp-peer</type>
> > <name>example-bgp-peer</name>
> > <host>192.0.2.1</host> // IP address or hostname of the speaker
> > <holdtimer>180</holdtimer>
> >
> > I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.
> >
> > If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
>
> that'd be under "example-bgp-peer".
>
> though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).
>
> So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:
>
> <module>
> <type>prefix:rib-impl</type>
> <name>example-bgp-rib</name>
> <rib-id>example-bgp-rib</rib-id>
> <local-as>101</local-as> // Our AS number, we use this in best path
> selection <bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we use
> this in best path selection ...
>
> <module>
> <type
> xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> mpl">prefix:bgp-peer</type>
> <name>example-bgp-peer</name>
> <host>192.168.1.101</host> // IP address or hostname of the speaker
> <holdtimer>180</holdtimer> ...
>
> > In this scenario, is R1 the client and ODL the speaker?
>
> R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).
>
> > How do I know which AS the ODL controller belongs to and the id.
> > (I'm guessing it's given an arbitrary AS and ID in the BGP Open
> > message in step 1 above ..correct? )
>
> The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).
>
> >
> > A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
> >
>
> hmmm:
>
> So it's something like:
>
> BGP
> ODL------->R1---R3
> | _|
> | |
> R2-
>
> Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.
>
> So your R1 config might look something like this:
>
> interface loopback0
> ipv4 address 1.1.1.1 255.255.255.255
> !
> interface MgmtEth0/0/CPU0/0
> ipv4 address 192.168.1.101 255.255.255.0
>
> interface GigabitEthernet0/0/0/0
> ipv4 address 192.168.101.1 255.255.255.0 !
> interface GigabitEthernet0/0/0/1
> ipv4 address 192.168.102.1 255.255.255.0 !
> router ospf foo
> distribute bgp-ls
> address-family ipv4 unicast
> area 0
> mpls traffic-eng
> interface Loopback0
> cost 1
> passive enable
> !
> interface GigabitEthernet0/0/0/0
> cost 10
> network point-to-point
> !
> interface GigabitEthernet0/0/0/1
> cost 10
> network point-to-point
> !
> !
> mpls traffic-eng router-id Loopback0
> !
> router bgp 101
> bgp router-id 1.1.1.1
> !
> address-family link-state link-state
> !
> neighbor 192.168.1.100
> remote-as 101
> update-source MgmtEth0/0/CPU0/0
> address-family link-state link-state
> !
> !
> rsvp
> interface GigabitEthernet0/0/0/0
> bandwidth 1000000
> !
> interface GigabitEthernet0/0/0/1
> bandwidth 1000000
> !
> !
> mpls traffic-eng
> interface GigabitEthernet0/0/0/0
> !
> interface GigabitEthernet0/0/0/1
> !
> !
>
> does that make sense?
>
> Giles
>
> > Kind regards
> > Angus
> > _____________________________________
> > Angus Brandt
> >
> > Cape Peninsula University of Technology Department Of Electrical,
> > Electronic and Computer Engineering
> >
> > first floor, room 0013, Bellville Campus
> > Office: 021 9596564 Cell: 082 3544 175
> > International: +27(number without leading 0)
> >
> >
> >
> > Disclaimer
> >
> > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> >
> > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.
> >
> > _______________________________________________
> > bgpcep-announce mailing list
> > bgpcep-announce@...
> > https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce
>
>
> Disclaimer
>
> This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
>
> Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
>


Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Giles Heron <giles.heron@...>
 

Hi Angus,

yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.

the router config needs a couple of additions:

1) at the global level add:

ipv4 unnumbered mpls traffic-eng Loopback0

2) under mpls traffic-eng add:

pce
peer ipv4 192.168.0.3
!
stateful-client
instantiation
!
!
auto-tunnel pcc
tunnel-id min 1 max 99
!
reoptimize timers delay installation 0

once you've got that you should be able to set up tunnels using the instructions in the Wiki:

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide

hope that helps.

Giles

On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
Thanks for your help. I now have a up and running BGP session with the ODL controller.

From a previous post from Dana some time ago (18 Sep 2014):
"In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."


So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 04 December 2014 05:53 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

sorry for the slow reply.

the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.

So in the router BGP config you need:

neighbor 192.168.0.3
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state

and in the 41-bgp-example.xml file you need:

<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.3</bgp-rib-id>

Giles

On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:

Hi Giles,

Thank you so much for your response. I've implemented your suggested config but still have a problem.

BGP
ODL------->R1---R3
| _|
| |
R2-
My setup:
ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
command window for the host where ODL is running);
R1- MgmEth0/0/0/0 :192.168.0.101/24;
Connectivity between R1 MgmEtho/0/0/0 and ODL is confirmed with success ping.

When I do a 'show bgp neighbour 192.168.0.3' from R1
RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2 15:09:17.657
UTC % Neighbor not found

Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
Could you please assist me in finding the fault.



::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
RP/0/0/CPU0:XRv1#sh run
Tue Dec 2 15:08:08.482 UTC
Building configuration...
!! IOS XR Configuration 5.2.0
!! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
hostname XRv1
interface Loopback0
ipv4 address 172.16.0.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.0.101 255.255.255.0 !
interface GigabitEthernet0/0/0/0
ipv4 address 10.10.0.9 255.255.255.252 !
interface GigabitEthernet0/0/0/1
ipv4 address 10.10.0.1 255.255.255.252 !
interface preconfigure GigabitEthernet0/0/0/2
ipv4 address 172.16.13.1 255.255.255.0 !
router ospf 100
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls ldp auto-config
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 100
bgp router-id 172.16.0.1
address-family link-state link-state
!
neighbor 192.168.0.100
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 100000
!
interface GigabitEthernet0/0/0/1
bandwidth 100000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!
mpls ldp
router-id 172.16.0.1
address-family ipv4
!
!
end



:::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.

This program and the accompanying materials are made available under
the terms of the Eclipse Public License v1.0 which accompanies this
distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
-->
<snapshot>
<required-capabilities>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:cfg
?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi
?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:imp
l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topolog
y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11-1
5</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachab
ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-11-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reachab
ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-11-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:bind
ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capabi
lity>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?modul
e=netty&amp;revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:fr
amework?module=protocol-framework&amp;revision=2014-03-13</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:topology?mo
dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
</required-capabilities>
<configuration>

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:timed-reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
<min-sleep>1000</min-sleep>
<max-sleep>180000</max-sleep>
<sleep-factor>2.00</sleep-factor>
<connect-time>5000</connect-time>
<timed-reconnect-executor>
<type
xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">net
ty:netty-event-executor</type>
<name>global-event-executor</name>
</timed-reconnect-executor>
</module>

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-peer-acceptor</type>
<name>bgp-peer-server</name>


<!--Default parameters>-->
<!--<binding-address>0.0.0.0</binding-address>-->

<!--Default binding-port 179>-->
<!--binding-port>1790</binding-port>-->

<accepting-bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</accepting-bgp-dispatcher>
<accepting-peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</accepting-peer-registry>

</module>

<!--
A single BGP peer. Note this section is deactivated because a
misconfigured peer tends to log rather nasty error messages.

For TCP-MD5 support, make sure the dispatcher associated with the rib
has "md5-channel-factory" attribute set and then add a "password" attribute here.
Note that the peer has to have the same password configured, otherwise
the connection will not be established.
-->
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.0.101</host>
<holdtimer>180</holdtimer>
<rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</rib>
<peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</peer-registry>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</advertized-table>
</module>


<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.100</bgp-rib-id>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</local-table>
<extensions>
<type
xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:s
pi">ribspi:extensions</type>
<name>global-rib-extensions</name>
</extensions>
<bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</bgp-dispatcher>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<session-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</session-reconnect-strategy>
<tcp-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</tcp-reconnect-strategy>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
ability:ipv4">prefix:bgp-reachability-ipv4</type>
<name>example-ipv4-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv4-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
ability:ipv6">prefix:bgp-reachability-ipv6</type>
<name>example-ipv6-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv6-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:topol
ogy:provider">prefix:bgp-linkstate-topology</type>
<name>example-linkstate-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:b
inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-linkstate-topology</topology-id>
</module>
</modules>

<services
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<instance>
<name>example-reconnect-strategy-factory</name>
<provider>/config/modules/module[name='timed-reconnect-strategy-factor
y']/instance[name='example-reconnect-strategy-factory']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv4-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv4']/instanc
e[name='example-ipv4-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg">prefix:rib</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='examp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:rib-instance</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='examp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv6-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv6']/instanc
e[name='example-ipv6-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-linkstate-topology</name>
<provider>/config/modules/module[name='bgp-linkstate-topology']/instan
ce[name='example-linkstate-topology']</provider>
</instance>
</service>
</services>
</data>

</configuration>
</snapshot>



Kind regards
Angus




-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 24 November 2014 07:33 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
41-bgp-example.xml

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

Hi,

Please help;

From:
https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

1. Adjust values for initial BGP Open message <module>
<type>prefix:rib-impl</type> <name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> // Our
AS number, we use this in best path selection
<bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
best path selection 2. Specify IP address of your BGP speaker

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.0.2.1</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best path
selection <bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we use
this in best path selection ...

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer> ...

In this scenario, is R1 the client and ODL the speaker?
R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

How do I know which AS the ODL controller belongs to and the id.
(I'm guessing it's given an arbitrary AS and ID in the BGP Open
message in step 1 above ..correct? )
The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).


A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255
!
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0 !
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0 !
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0
!
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state
!
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

Kind regards
Angus
_____________________________________
Angus Brandt

Cape Peninsula University of Technology Department Of Electrical,
Electronic and Computer Engineering

first floor, room 0013, Bellville Campus
Office: 021 9596564 Cell: 082 3544 175
International: +27(number without leading 0)



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Angus Brandt
 

Hi Giles,
I have one problem implementing the config and need some advice please.

I cannot commit the lines:
stateful-client
instantiation

I get the following error:
!!% The requested operation is not supported: Stateful PCE client cannot be configured when PCE server is enabled

All the other lines have been committed.

I've upgrade for IOS-XRv5.2.0 to IOS-XRV5.2.2 and it gives me the same problem. Is it a IOS problem or something else.

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 11 December 2014 10:40 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.

the router config needs a couple of additions:

1) at the global level add:

ipv4 unnumbered mpls traffic-eng Loopback0

2) under mpls traffic-eng add:

pce
peer ipv4 192.168.0.3
!
stateful-client
instantiation
!
!
auto-tunnel pcc
tunnel-id min 1 max 99
!
reoptimize timers delay installation 0

once you've got that you should be able to set up tunnels using the instructions in the Wiki:

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide

hope that helps.

Giles

On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:

> Hi Giles,
> Thanks for your help. I now have a up and running BGP session with the ODL controller.
>
> From a previous post from Dana some time ago (18 Sep 2014):
> "In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."
>
>
> So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?
>
> Regards
> Angus
>
>
>
> -----Original Message-----
> From: Giles Heron [mailto:giles.heron@...]
> Sent: 04 December 2014 05:53 PM
> To: Angus Brandt
> Cc: bgpcep-announce@...
> Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
> 41-bgp-example.xml
>
> Hi Angus,
>
> sorry for the slow reply.
>
> the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.
>
> So in the router BGP config you need:
>
> neighbor 192.168.0.3
> remote-as 100
> update-source MgmtEth0/0/CPU0/0
> address-family link-state link-state
>
> and in the 41-bgp-example.xml file you need:
>
> <rib-id>example-bgp-rib</rib-id>
> <local-as>100</local-as>
> <bgp-rib-id>192.168.0.3</bgp-rib-id>
>
> Giles
>
> On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:
>
> > Hi Giles,
> >
> > Thank you so much for your response. I've implemented your suggested config but still have a problem.
> >
> > BGP
> > ODL------->R1---R3
> > | _|
> > | |
> > R2-
> > My setup:
> > ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
> > command window for the host where ODL is running);
> > R1- MgmEth0/0/0/0 :192.168.0.101/24; Connectivity between R1
> > MgmEtho/0/0/0 and ODL is confirmed with success ping.
> >
> > When I do a 'show bgp neighbour 192.168.0.3' from R1
> > RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2
> > 15:09:17.657 UTC % Neighbor not found
> >
> > Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
> > Could you please assist me in finding the fault.
> >
> >
> >
> > ::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
> > RP/0/0/CPU0:XRv1#sh run
> > Tue Dec 2 15:08:08.482 UTC
> > Building configuration...
> > !! IOS XR Configuration 5.2.0
> > !! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
> > hostname XRv1
> > interface Loopback0
> > ipv4 address 172.16.0.1 255.255.255.255 !
> > interface MgmtEth0/0/CPU0/0
> > ipv4 address 192.168.0.101 255.255.255.0 !
> > interface GigabitEthernet0/0/0/0
> > ipv4 address 10.10.0.9 255.255.255.252 !
> > interface GigabitEthernet0/0/0/1
> > ipv4 address 10.10.0.1 255.255.255.252 !
> > interface preconfigure GigabitEthernet0/0/0/2
> > ipv4 address 172.16.13.1 255.255.255.0 !
> > router ospf 100
> > distribute bgp-ls
> > address-family ipv4 unicast
> > area 0
> > mpls ldp auto-config
> > mpls traffic-eng
> > interface Loopback0
> > cost 1
> > passive enable
> > !
> > interface GigabitEthernet0/0/0/0
> > cost 10
> > network point-to-point
> > !
> > interface GigabitEthernet0/0/0/1
> > cost 10
> > network point-to-point
> > !
> > !
> > mpls traffic-eng router-id Loopback0 !
> > router bgp 100
> > bgp router-id 172.16.0.1
> > address-family link-state link-state !
> > neighbor 192.168.0.100
> > remote-as 100
> > update-source MgmtEth0/0/CPU0/0
> > address-family link-state link-state !
> > !
> > !
> > rsvp
> > interface GigabitEthernet0/0/0/0
> > bandwidth 100000
> > !
> > interface GigabitEthernet0/0/0/1
> > bandwidth 100000
> > !
> > !
> > mpls traffic-eng
> > interface GigabitEthernet0/0/0/0
> > !
> > interface GigabitEthernet0/0/0/1
> > !
> > !
> > mpls ldp
> > router-id 172.16.0.1
> > address-family ipv4
> > !
> > !
> > end
> >
> >
> >
> > :::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!-- vi: set et smarttab sw=4 tabstop=4: -->
> > <!--
> > Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
> >
> > This program and the accompanying materials are made available under
> > the terms of the Eclipse Public License v1.0 which accompanies this
> > distribution, and is available at
> > http://www.eclipse.org/legal/epl-v10.html
> > -->
> > <snapshot>
> > <required-capabilities>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
> > fg ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:s
> > pi ?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
> > mp
> > l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topol
> > og
> > y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11
> > -1
> > 5</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
> > ab
> > ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-1
> > 1-
> > 15</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
> > ab
> > ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-1
> > 1-
> > 15</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:bi
> > nd
> > ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capa
> > bi
> > lity>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:netty?mod
> > ul e=netty&amp;revision=2013-11-19</capability>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > fr
> > amework?module=protocol-framework&amp;revision=2014-03-13</capabilit
> > y>
> > <capability>urn:opendaylight:params:xml:ns:yang:controller:topology?
> > mo dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
> > </required-capabilities>
> > <configuration>
> >
> > <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
> > <modules
> > xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > framework">prefix:timed-reconnect-strategy-factory</type>
> > <name>example-reconnect-strategy-factory</name>
> > <min-sleep>1000</min-sleep>
> > <max-sleep>180000</max-sleep>
> > <sleep-factor>2.00</sleep-factor>
> > <connect-time>5000</connect-time>
> > <timed-reconnect-executor>
> > <type
> > xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">n
> > et
> > ty:netty-event-executor</type>
> > <name>global-event-executor</name>
> > </timed-reconnect-executor>
> > </module>
> >
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i mpl">prefix:bgp-peer-acceptor</type>
> > <name>bgp-peer-server</name>
> >
> >
> > <!--Default parameters>-->
> > <!--<binding-address>0.0.0.0</binding-address>-->
> >
> > <!--Default binding-port 179>-->
> > <!--binding-port>1790</binding-port>-->
> >
> > <accepting-bgp-dispatcher>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-dispatcher</type>
> > <name>global-bgp-dispatcher</name>
> > </accepting-bgp-dispatcher>
> > <accepting-peer-registry>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i mpl">prefix:bgp-peer-registry</type>
> > <name>global-bgp-peer-registry</name>
> > </accepting-peer-registry>
> >
> > </module>
> >
> > <!--
> > A single BGP peer. Note this section is deactivated because a
> > misconfigured peer tends to log rather nasty error messages.
> >
> > For TCP-MD5 support, make sure the dispatcher associated with the
> > rib has "md5-channel-factory" attribute set and then add a "password" attribute here.
> > Note that the peer has to have the same password configured,
> > otherwise the connection will not be established.
> > -->
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-peer</type>
> > <name>example-bgp-peer</name>
> > <host>192.168.0.101</host>
> > <holdtimer>180</holdtimer>
> > <rib>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :c
> > fg">prefix:rib</type>
> > <name>example-bgp-rib</name>
> > </rib>
> > <peer-registry>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i mpl">prefix:bgp-peer-registry</type>
> > <name>global-bgp-peer-registry</name>
> > </peer-registry>
> > <advertized-table>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-table-type</type>
> > <name>ipv4-unicast</name>
> > </advertized-table>
> > <advertized-table>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-table-type</type>
> > <name>ipv6-unicast</name>
> > </advertized-table>
> > <advertized-table>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-table-type</type>
> > <name>linkstate</name>
> > </advertized-table>
> > </module>
> >
> >
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:rib-impl</type>
> > <name>example-bgp-rib</name>
> > <rib-id>example-bgp-rib</rib-id>
> > <local-as>100</local-as>
> > <bgp-rib-id>192.168.0.100</bgp-rib-id>
> > <local-table>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-table-type</type>
> > <name>ipv4-unicast</name>
> > </local-table>
> > <local-table>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-table-type</type>
> > <name>ipv6-unicast</name>
> > </local-table>
> > <local-table>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-table-type</type>
> > <name>linkstate</name>
> > </local-table>
> > <extensions>
> > <type
> > xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :s
> > pi">ribspi:extensions</type>
> > <name>global-rib-extensions</name>
> > </extensions>
> > <bgp-dispatcher>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-dispatcher</type>
> > <name>global-bgp-dispatcher</name>
> > </bgp-dispatcher>
> > <data-provider>
> > <type
> > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
> > :b inding">binding:binding-async-data-broker</type>
> > <name>binding-data-broker</name>
> > </data-provider>
> > <session-reconnect-strategy>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > framework">prefix:reconnect-strategy-factory</type>
> > <name>example-reconnect-strategy-factory</name>
> > </session-reconnect-strategy>
> > <tcp-reconnect-strategy>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > framework">prefix:reconnect-strategy-factory</type>
> > <name>example-reconnect-strategy-factory</name>
> > </tcp-reconnect-strategy>
> > </module>
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
> > ch ability:ipv4">prefix:bgp-reachability-ipv4</type>
> > <name>example-ipv4-topology</name>
> > <data-provider>
> > <type
> > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
> > :b inding">binding:binding-async-data-broker</type>
> > <name>binding-data-broker</name>
> > </data-provider>
> > <local-rib>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :c
> > fg">prefix:rib</type>
> > <name>example-bgp-rib</name>
> > </local-rib>
> > <topology-id>example-ipv4-topology</topology-id>
> > </module>
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
> > ch ability:ipv6">prefix:bgp-reachability-ipv6</type>
> > <name>example-ipv6-topology</name>
> > <data-provider>
> > <type
> > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
> > :b inding">binding:binding-async-data-broker</type>
> > <name>binding-data-broker</name>
> > </data-provider>
> > <local-rib>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :c
> > fg">prefix:rib</type>
> > <name>example-bgp-rib</name>
> > </local-rib>
> > <topology-id>example-ipv6-topology</topology-id>
> > </module>
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:top
> > ol ogy:provider">prefix:bgp-linkstate-topology</type>
> > <name>example-linkstate-topology</name>
> > <data-provider>
> > <type
> > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
> > :b inding">binding:binding-async-data-broker</type>
> > <name>binding-data-broker</name>
> > </data-provider>
> > <local-rib>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :c
> > fg">prefix:rib</type>
> > <name>example-bgp-rib</name>
> > </local-rib>
> > <topology-id>example-linkstate-topology</topology-id>
> > </module>
> > </modules>
> >
> > <services
> > xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> > <service>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > framework">prefix:reconnect-strategy-factory</type>
> > <instance>
> > <name>example-reconnect-strategy-factory</name>
> > <provider>/config/modules/module[name='timed-reconnect-strategy-fact
> > or
> > y']/instance[name='example-reconnect-strategy-factory']</provider>
> > </instance>
> > </service>
> > <service>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > >prefix:topology-reference</type>
> > <instance>
> > <name>example-ipv4-topology</name>
> > <provider>/config/modules/module[name='bgp-reachability-ipv4']/insta
> > nc e[name='example-ipv4-topology']</provider>
> > </instance>
> > </service>
> > <service>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :c
> > fg">prefix:rib</type>
> > <instance>
> > <name>example-bgp-rib</name>
> > <provider>/config/modules/module[name='rib-impl']/instance[name='exa
> > mp
> > le-bgp-rib']</provider>
> > </instance>
> > </service>
> > <service>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:rib-instance</type>
> > <instance>
> > <name>example-bgp-rib</name>
> > <provider>/config/modules/module[name='rib-impl']/instance[name='exa
> > mp
> > le-bgp-rib']</provider>
> > </instance>
> > </service>
> > <service>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > >prefix:topology-reference</type>
> > <instance>
> > <name>example-ipv6-topology</name>
> > <provider>/config/modules/module[name='bgp-reachability-ipv6']/insta
> > nc e[name='example-ipv6-topology']</provider>
> > </instance>
> > </service>
> > <service>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > >prefix:topology-reference</type>
> > <instance>
> > <name>example-linkstate-topology</name>
> > <provider>/config/modules/module[name='bgp-linkstate-topology']/inst
> > an ce[name='example-linkstate-topology']</provider>
> > </instance>
> > </service>
> > </services>
> > </data>
> >
> > </configuration>
> > </snapshot>
> >
> >
> >
> > Kind regards
> > Angus
> >
> >
> >
> >
> > -----Original Message-----
> > From: Giles Heron [mailto:giles.heron@...]
> > Sent: 24 November 2014 07:33 PM
> > To: Angus Brandt
> > Cc: bgpcep-announce@...
> > Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
> > editing 41-bgp-example.xml
> >
> > Hi Angus,
> >
> > On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:
> >
> > > Hi,
> > >
> > > Please help;
> > >
> > > From:
> > > https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide
> > >
> > > 1. Adjust values for initial BGP Open message <module>
> > > <type>prefix:rib-impl</type> <name>example-bgp-rib</name>
> > > <rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> // Our
> > > AS number, we use this in best path selection
> > > <bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
> > > best path selection 2. Specify IP address of your BGP speaker
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :impl">prefix:bgp-peer</type>
> > > <name>example-bgp-peer</name>
> > > <host>192.0.2.1</host> // IP address or hostname of the speaker
> > > <holdtimer>180</holdtimer>
> > >
> > > I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.
> > >
> > > If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
> >
> > that'd be under "example-bgp-peer".
> >
> > though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).
> >
> > So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:
> >
> > <module>
> > <type>prefix:rib-impl</type>
> > <name>example-bgp-rib</name>
> > <rib-id>example-bgp-rib</rib-id>
> > <local-as>101</local-as> // Our AS number, we use this in best path
> > selection <bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we
> > use this in best path selection ...
> >
> > <module>
> > <type
> > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > :i
> > mpl">prefix:bgp-peer</type>
> > <name>example-bgp-peer</name>
> > <host>192.168.1.101</host> // IP address or hostname of the speaker
> > <holdtimer>180</holdtimer> ...
> >
> > > In this scenario, is R1 the client and ODL the speaker?
> >
> > R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).
> >
> > > How do I know which AS the ODL controller belongs to and the id.
> > > (I'm guessing it's given an arbitrary AS and ID in the BGP Open
> > > message in step 1 above ..correct? )
> >
> > The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).
> >
> > >
> > > A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
> > >
> >
> > hmmm:
> >
> > So it's something like:
> >
> > BGP
> > ODL------->R1---R3
> > | _|
> > | |
> > R2-
> >
> > Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.
> >
> > So your R1 config might look something like this:
> >
> > interface loopback0
> > ipv4 address 1.1.1.1 255.255.255.255 !
> > interface MgmtEth0/0/CPU0/0
> > ipv4 address 192.168.1.101 255.255.255.0
> >
> > interface GigabitEthernet0/0/0/0
> > ipv4 address 192.168.101.1 255.255.255.0 !
> > interface GigabitEthernet0/0/0/1
> > ipv4 address 192.168.102.1 255.255.255.0 !
> > router ospf foo
> > distribute bgp-ls
> > address-family ipv4 unicast
> > area 0
> > mpls traffic-eng
> > interface Loopback0
> > cost 1
> > passive enable
> > !
> > interface GigabitEthernet0/0/0/0
> > cost 10
> > network point-to-point
> > !
> > interface GigabitEthernet0/0/0/1
> > cost 10
> > network point-to-point
> > !
> > !
> > mpls traffic-eng router-id Loopback0 !
> > router bgp 101
> > bgp router-id 1.1.1.1
> > !
> > address-family link-state link-state !
> > neighbor 192.168.1.100
> > remote-as 101
> > update-source MgmtEth0/0/CPU0/0
> > address-family link-state link-state !
> > !
> > rsvp
> > interface GigabitEthernet0/0/0/0
> > bandwidth 1000000
> > !
> > interface GigabitEthernet0/0/0/1
> > bandwidth 1000000
> > !
> > !
> > mpls traffic-eng
> > interface GigabitEthernet0/0/0/0
> > !
> > interface GigabitEthernet0/0/0/1
> > !
> > !
> >
> > does that make sense?
> >
> > Giles
> >
> > > Kind regards
> > > Angus
> > > _____________________________________
> > > Angus Brandt
> > >
> > > Cape Peninsula University of Technology Department Of Electrical,
> > > Electronic and Computer Engineering
> > >
> > > first floor, room 0013, Bellville Campus
> > > Office: 021 9596564 Cell: 082 3544 175
> > > International: +27(number without leading 0)
> > >
> > >
> > >
> > > Disclaimer
> > >
> > > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> > >
> > > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.
> > >
> > > _______________________________________________
> > > bgpcep-announce mailing list
> > > bgpcep-announce@...
> > > https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce
> >
> >
> > Disclaimer
> >
> > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> >
> > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
> >
>
>
> Disclaimer
>
> This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
>
> Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
>


Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Giles Heron <giles.heron@...>
 

Hi Angus

yeah - could be a version issue.

ping me off-list at giheron@... and I'll track it down for you.

Giles

On 19 Dec 2014, at 08:07, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
I have one problem implementing the config and need some advice please.

I cannot commit the lines:
stateful-client
instantiation

I get the following error:
!!% The requested operation is not supported: Stateful PCE client cannot be configured when PCE server is enabled

All the other lines have been committed.

I've upgrade for IOS-XRv5.2.0 to IOS-XRV5.2.2 and it gives me the same problem. Is it a IOS problem or something else.

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 11 December 2014 10:40 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.

the router config needs a couple of additions:

1) at the global level add:

ipv4 unnumbered mpls traffic-eng Loopback0

2) under mpls traffic-eng add:

pce
peer ipv4 192.168.0.3
!
stateful-client
instantiation
!
!
auto-tunnel pcc
tunnel-id min 1 max 99
!
reoptimize timers delay installation 0

once you've got that you should be able to set up tunnels using the instructions in the Wiki:

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide

hope that helps.

Giles

On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
Thanks for your help. I now have a up and running BGP session with the ODL controller.

From a previous post from Dana some time ago (18 Sep 2014):
"In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."


So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 04 December 2014 05:53 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
41-bgp-example.xml

Hi Angus,

sorry for the slow reply.

the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.

So in the router BGP config you need:

neighbor 192.168.0.3
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state

and in the 41-bgp-example.xml file you need:

<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.3</bgp-rib-id>

Giles

On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:

Hi Giles,

Thank you so much for your response. I've implemented your suggested config but still have a problem.

BGP
ODL------->R1---R3
| _|
| |
R2-
My setup:
ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
command window for the host where ODL is running);
R1- MgmEth0/0/0/0 :192.168.0.101/24; Connectivity between R1
MgmEtho/0/0/0 and ODL is confirmed with success ping.

When I do a 'show bgp neighbour 192.168.0.3' from R1
RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2
15:09:17.657 UTC % Neighbor not found

Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
Could you please assist me in finding the fault.



::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
RP/0/0/CPU0:XRv1#sh run
Tue Dec 2 15:08:08.482 UTC
Building configuration...
!! IOS XR Configuration 5.2.0
!! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
hostname XRv1
interface Loopback0
ipv4 address 172.16.0.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.0.101 255.255.255.0 !
interface GigabitEthernet0/0/0/0
ipv4 address 10.10.0.9 255.255.255.252 !
interface GigabitEthernet0/0/0/1
ipv4 address 10.10.0.1 255.255.255.252 !
interface preconfigure GigabitEthernet0/0/0/2
ipv4 address 172.16.13.1 255.255.255.0 !
router ospf 100
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls ldp auto-config
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0 !
router bgp 100
bgp router-id 172.16.0.1
address-family link-state link-state !
neighbor 192.168.0.100
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state !
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 100000
!
interface GigabitEthernet0/0/0/1
bandwidth 100000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!
mpls ldp
router-id 172.16.0.1
address-family ipv4
!
!
end



:::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.

This program and the accompanying materials are made available under
the terms of the Eclipse Public License v1.0 which accompanies this
distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
-->
<snapshot>
<required-capabilities>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:s
pi ?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mp
l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topol
og
y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11
-1
5</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
ab
ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-1
1-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
ab
ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-1
1-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:bi
nd
ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capa
bi
lity>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?mod
ul e=netty&amp;revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:
fr
amework?module=protocol-framework&amp;revision=2014-03-13</capabilit
y>
<capability>urn:opendaylight:params:xml:ns:yang:controller:topology?
mo dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
</required-capabilities>
<configuration>

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:timed-reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
<min-sleep>1000</min-sleep>
<max-sleep>180000</max-sleep>
<sleep-factor>2.00</sleep-factor>
<connect-time>5000</connect-time>
<timed-reconnect-executor>
<type
xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">n
et
ty:netty-event-executor</type>
<name>global-event-executor</name>
</timed-reconnect-executor>
</module>

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i mpl">prefix:bgp-peer-acceptor</type>
<name>bgp-peer-server</name>


<!--Default parameters>-->
<!--<binding-address>0.0.0.0</binding-address>-->

<!--Default binding-port 179>-->
<!--binding-port>1790</binding-port>-->

<accepting-bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</accepting-bgp-dispatcher>
<accepting-peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</accepting-peer-registry>

</module>

<!--
A single BGP peer. Note this section is deactivated because a
misconfigured peer tends to log rather nasty error messages.

For TCP-MD5 support, make sure the dispatcher associated with the
rib has "md5-channel-factory" attribute set and then add a "password" attribute here.
Note that the peer has to have the same password configured,
otherwise the connection will not be established.
-->
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.0.101</host>
<holdtimer>180</holdtimer>
<rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</rib>
<peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</peer-registry>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</advertized-table>
</module>


<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.100</bgp-rib-id>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</local-table>
<extensions>
<type
xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:s
pi">ribspi:extensions</type>
<name>global-rib-extensions</name>
</extensions>
<bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</bgp-dispatcher>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<session-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</session-reconnect-strategy>
<tcp-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</tcp-reconnect-strategy>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
ch ability:ipv4">prefix:bgp-reachability-ipv4</type>
<name>example-ipv4-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv4-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
ch ability:ipv6">prefix:bgp-reachability-ipv6</type>
<name>example-ipv6-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv6-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:top
ol ogy:provider">prefix:bgp-linkstate-topology</type>
<name>example-linkstate-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-linkstate-topology</topology-id>
</module>
</modules>

<services
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<instance>
<name>example-reconnect-strategy-factory</name>
<provider>/config/modules/module[name='timed-reconnect-strategy-fact
or
y']/instance[name='example-reconnect-strategy-factory']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv4-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv4']/insta
nc e[name='example-ipv4-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='exa
mp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:rib-instance</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='exa
mp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv6-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv6']/insta
nc e[name='example-ipv6-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-linkstate-topology</name>
<provider>/config/modules/module[name='bgp-linkstate-topology']/inst
an ce[name='example-linkstate-topology']</provider>
</instance>
</service>
</services>
</data>

</configuration>
</snapshot>



Kind regards
Angus




-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 24 November 2014 07:33 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
editing 41-bgp-example.xml

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

Hi,

Please help;

From:
https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

1. Adjust values for initial BGP Open message <module>
<type>prefix:rib-impl</type> <name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> // Our
AS number, we use this in best path selection
<bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
best path selection 2. Specify IP address of your BGP speaker

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.0.2.1</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best path
selection <bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we
use this in best path selection ...

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer> ...

In this scenario, is R1 the client and ODL the speaker?
R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

How do I know which AS the ODL controller belongs to and the id.
(I'm guessing it's given an arbitrary AS and ID in the BGP Open
message in step 1 above ..correct? )
The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).


A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0 !
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0 !
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0 !
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state !
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state !
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

Kind regards
Angus
_____________________________________
Angus Brandt

Cape Peninsula University of Technology Department Of Electrical,
Electronic and Computer Engineering

first floor, room 0013, Bellville Campus
Office: 021 9596564 Cell: 082 3544 175
International: +27(number without leading 0)



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Mikkel Troest
 

Giles, Angus

I'm seeing the same issue on XR 5.2.X - worked fine in 5.1.3.

Venlig hilsen / Best regards

Conscia A/S

Mikkel Troest
Network System Engineer, CCIE #22656, CCDE #20140046

Kirkebjerg Parkvej 9, 2. sal
2605 Brøndby

Tlf.: +45 7020 7780
Mobil.: +45 2516 2117
Mail.: mt@...
http://www.conscia.dk

________________________________________
From: bgpcep-announce-bounces@... <bgpcep-announce-bounces@...> on behalf of Giles Heron <giles.heron@...>
Sent: Friday, December 19, 2014 13:41
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus

yeah - could be a version issue.

ping me off-list at giheron@... and I'll track it down for you.

Giles

On 19 Dec 2014, at 08:07, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
I have one problem implementing the config and need some advice please.

I cannot commit the lines:
stateful-client
instantiation

I get the following error:
!!% The requested operation is not supported: Stateful PCE client cannot be configured when PCE server is enabled

All the other lines have been committed.

I've upgrade for IOS-XRv5.2.0 to IOS-XRV5.2.2 and it gives me the same problem. Is it a IOS problem or something else.

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 11 December 2014 10:40 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus,

yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.

the router config needs a couple of additions:

1) at the global level add:

ipv4 unnumbered mpls traffic-eng Loopback0

2) under mpls traffic-eng add:

pce
peer ipv4 192.168.0.3
!
stateful-client
instantiation
!
!
auto-tunnel pcc
tunnel-id min 1 max 99
!
reoptimize timers delay installation 0

once you've got that you should be able to set up tunnels using the instructions in the Wiki:

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide

hope that helps.

Giles

On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
Thanks for your help. I now have a up and running BGP session with the ODL controller.

From a previous post from Dana some time ago (18 Sep 2014):
"In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."


So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 04 December 2014 05:53 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
41-bgp-example.xml

Hi Angus,

sorry for the slow reply.

the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.

So in the router BGP config you need:

neighbor 192.168.0.3
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state

and in the 41-bgp-example.xml file you need:

<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.3</bgp-rib-id>

Giles

On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:

Hi Giles,

Thank you so much for your response. I've implemented your suggested config but still have a problem.

BGP
ODL------->R1---R3
| _|
| |
R2-
My setup:
ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
command window for the host where ODL is running);
R1- MgmEth0/0/0/0 :192.168.0.101/24; Connectivity between R1
MgmEtho/0/0/0 and ODL is confirmed with success ping.

When I do a 'show bgp neighbour 192.168.0.3' from R1
RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2
15:09:17.657 UTC % Neighbor not found

Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
Could you please assist me in finding the fault.



::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
RP/0/0/CPU0:XRv1#sh run
Tue Dec 2 15:08:08.482 UTC
Building configuration...
!! IOS XR Configuration 5.2.0
!! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
hostname XRv1
interface Loopback0
ipv4 address 172.16.0.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.0.101 255.255.255.0 !
interface GigabitEthernet0/0/0/0
ipv4 address 10.10.0.9 255.255.255.252 !
interface GigabitEthernet0/0/0/1
ipv4 address 10.10.0.1 255.255.255.252 !
interface preconfigure GigabitEthernet0/0/0/2
ipv4 address 172.16.13.1 255.255.255.0 !
router ospf 100
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls ldp auto-config
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0 !
router bgp 100
bgp router-id 172.16.0.1
address-family link-state link-state !
neighbor 192.168.0.100
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state !
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 100000
!
interface GigabitEthernet0/0/0/1
bandwidth 100000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!
mpls ldp
router-id 172.16.0.1
address-family ipv4
!
!
end



:::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.

This program and the accompanying materials are made available under
the terms of the Eclipse Public License v1.0 which accompanies this
distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
-->
<snapshot>
<required-capabilities>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:c
fg ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:s
pi ?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:i
mp
l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:topol
og
y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-11
-1
5</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
ab
ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013-1
1-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:reach
ab
ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013-1
1-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:bi
nd
ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capa
bi
lity>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?mod
ul e=netty&amp;revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:
fr
amework?module=protocol-framework&amp;revision=2014-03-13</capabilit
y>
<capability>urn:opendaylight:params:xml:ns:yang:controller:topology?
mo dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
</required-capabilities>
<configuration>

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:timed-reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
<min-sleep>1000</min-sleep>
<max-sleep>180000</max-sleep>
<sleep-factor>2.00</sleep-factor>
<connect-time>5000</connect-time>
<timed-reconnect-executor>
<type
xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">n
et
ty:netty-event-executor</type>
<name>global-event-executor</name>
</timed-reconnect-executor>
</module>

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i mpl">prefix:bgp-peer-acceptor</type>
<name>bgp-peer-server</name>


<!--Default parameters>-->
<!--<binding-address>0.0.0.0</binding-address>-->

<!--Default binding-port 179>-->
<!--binding-port>1790</binding-port>-->

<accepting-bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</accepting-bgp-dispatcher>
<accepting-peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</accepting-peer-registry>

</module>

<!--
A single BGP peer. Note this section is deactivated because a
misconfigured peer tends to log rather nasty error messages.

For TCP-MD5 support, make sure the dispatcher associated with the
rib has "md5-channel-factory" attribute set and then add a "password" attribute here.
Note that the peer has to have the same password configured,
otherwise the connection will not be established.
-->
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.0.101</host>
<holdtimer>180</holdtimer>
<rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</rib>
<peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</peer-registry>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</advertized-table>
</module>


<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.100</bgp-rib-id>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</local-table>
<extensions>
<type
xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:s
pi">ribspi:extensions</type>
<name>global-rib-extensions</name>
</extensions>
<bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</bgp-dispatcher>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<session-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</session-reconnect-strategy>
<tcp-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</tcp-reconnect-strategy>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
ch ability:ipv4">prefix:bgp-reachability-ipv4</type>
<name>example-ipv4-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv4-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
ch ability:ipv6">prefix:bgp-reachability-ipv6</type>
<name>example-ipv6-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv6-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:top
ol ogy:provider">prefix:bgp-linkstate-topology</type>
<name>example-linkstate-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal
:b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-linkstate-topology</topology-id>
</module>
</modules>

<services
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<instance>
<name>example-reconnect-strategy-factory</name>
<provider>/config/modules/module[name='timed-reconnect-strategy-fact
or
y']/instance[name='example-reconnect-strategy-factory']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv4-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv4']/insta
nc e[name='example-ipv4-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c
fg">prefix:rib</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='exa
mp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:rib-instance</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='exa
mp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv6-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv6']/insta
nc e[name='example-ipv6-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-linkstate-topology</name>
<provider>/config/modules/module[name='bgp-linkstate-topology']/inst
an ce[name='example-linkstate-topology']</provider>
</instance>
</service>
</services>
</data>

</configuration>
</snapshot>



Kind regards
Angus




-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 24 November 2014 07:33 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
editing 41-bgp-example.xml

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

Hi,

Please help;

From:
https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

1. Adjust values for initial BGP Open message <module>
<type>prefix:rib-impl</type> <name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> // Our
AS number, we use this in best path selection
<bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
best path selection 2. Specify IP address of your BGP speaker

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.0.2.1</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best path
selection <bgp-id>192.168.1.100</bgp-id> // Our BGP identifier, we
use this in best path selection ...

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer> ...

In this scenario, is R1 the client and ODL the speaker?
R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

How do I know which AS the ODL controller belongs to and the id.
(I'm guessing it's given an arbitrary AS and ID in the BGP Open
message in step 1 above ..correct? )
The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).


A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0 !
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0 !
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0 !
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state !
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state !
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

Kind regards
Angus
_____________________________________
Angus Brandt

Cape Peninsula University of Technology Department Of Electrical,
Electronic and Computer Engineering

first floor, room 0013, Bellville Campus
Office: 021 9596564 Cell: 082 3544 175
International: +27(number without leading 0)



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce


Angus Brandt
 

Mikkel,

I just checked and 5.1.3 works fine for those configs. XR 5.2.x does not.

Thanks
Angus



-----Original Message-----
From: Mikkel Troest [mailto:mt@...]
Sent: 19 December 2014 02:52 PM
To: Giles Heron; Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Giles, Angus

I'm seeing the same issue on XR 5.2.X - worked fine in 5.1.3.

Venlig hilsen / Best regards

Conscia A/S

Mikkel Troest
Network System Engineer, CCIE #22656, CCDE #20140046

Kirkebjerg Parkvej 9, 2. sal
2605 Brøndby

Tlf.: +45 7020 7780
Mobil.: +45 2516 2117
Mail.: mt@...
http://www.conscia.dk

________________________________________
From: bgpcep-announce-bounces@... <bgpcep-announce-bounces@...> on behalf of Giles Heron <giles.heron@...>
Sent: Friday, December 19, 2014 13:41
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus

yeah - could be a version issue.

ping me off-list at giheron@... and I'll track it down for you.

Giles

On 19 Dec 2014, at 08:07, Angus Brandt <BrandtA@...> wrote:

> Hi Giles,
> I have one problem implementing the config and need some advice please.
>
> I cannot commit the lines:
> stateful-client
> instantiation
>
> I get the following error:
> !!% The requested operation is not supported: Stateful PCE client
> cannot be configured when PCE server is enabled
>
> All the other lines have been committed.
>
> I've upgrade for IOS-XRv5.2.0 to IOS-XRV5.2.2 and it gives me the same problem. Is it a IOS problem or something else.
>
> Regards
> Angus
>
>
>
> -----Original Message-----
> From: Giles Heron [mailto:giles.heron@...]
> Sent: 11 December 2014 10:40 PM
> To: Angus Brandt
> Cc: bgpcep-announce@...
> Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
> 41-bgp-example.xml
>
> Hi Angus,
>
> yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.
>
> the router config needs a couple of additions:
>
> 1) at the global level add:
>
> ipv4 unnumbered mpls traffic-eng Loopback0
>
> 2) under mpls traffic-eng add:
>
> pce
> peer ipv4 192.168.0.3
> !
> stateful-client
> instantiation
> !
> !
> auto-tunnel pcc
> tunnel-id min 1 max 99
> !
> reoptimize timers delay installation 0
>
> once you've got that you should be able to set up tunnels using the instructions in the Wiki:
>
> https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide
>
> hope that helps.
>
> Giles
>
> On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:
>
> > Hi Giles,
> > Thanks for your help. I now have a up and running BGP session with the ODL controller.
> >
> > From a previous post from Dana some time ago (18 Sep 2014):
> > "In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."
> >
> >
> > So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?
> >
> > Regards
> > Angus
> >
> >
> >
> > -----Original Message-----
> > From: Giles Heron [mailto:giles.heron@...]
> > Sent: 04 December 2014 05:53 PM
> > To: Angus Brandt
> > Cc: bgpcep-announce@...
> > Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
> > editing 41-bgp-example.xml
> >
> > Hi Angus,
> >
> > sorry for the slow reply.
> >
> > the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.
> >
> > So in the router BGP config you need:
> >
> > neighbor 192.168.0.3
> > remote-as 100
> > update-source MgmtEth0/0/CPU0/0
> > address-family link-state link-state
> >
> > and in the 41-bgp-example.xml file you need:
> >
> > <rib-id>example-bgp-rib</rib-id>
> > <local-as>100</local-as>
> > <bgp-rib-id>192.168.0.3</bgp-rib-id>
> >
> > Giles
> >
> > On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:
> >
> > > Hi Giles,
> > >
> > > Thank you so much for your response. I've implemented your suggested config but still have a problem.
> > >
> > > BGP
> > > ODL------->R1---R3
> > > | _|
> > > | |
> > > R2-
> > > My setup:
> > > ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
> > > command window for the host where ODL is running);
> > > R1- MgmEth0/0/0/0 :192.168.0.101/24; Connectivity between R1
> > > MgmEtho/0/0/0 and ODL is confirmed with success ping.
> > >
> > > When I do a 'show bgp neighbour 192.168.0.3' from R1
> > > RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2
> > > 15:09:17.657 UTC % Neighbor not found
> > >
> > > Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
> > > Could you please assist me in finding the fault.
> > >
> > >
> > >
> > > ::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
> > > RP/0/0/CPU0:XRv1#sh run
> > > Tue Dec 2 15:08:08.482 UTC
> > > Building configuration...
> > > !! IOS XR Configuration 5.2.0
> > > !! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
> > > hostname XRv1
> > > interface Loopback0
> > > ipv4 address 172.16.0.1 255.255.255.255 !
> > > interface MgmtEth0/0/CPU0/0
> > > ipv4 address 192.168.0.101 255.255.255.0 !
> > > interface GigabitEthernet0/0/0/0
> > > ipv4 address 10.10.0.9 255.255.255.252 !
> > > interface GigabitEthernet0/0/0/1
> > > ipv4 address 10.10.0.1 255.255.255.252 !
> > > interface preconfigure GigabitEthernet0/0/0/2
> > > ipv4 address 172.16.13.1 255.255.255.0 !
> > > router ospf 100
> > > distribute bgp-ls
> > > address-family ipv4 unicast
> > > area 0
> > > mpls ldp auto-config
> > > mpls traffic-eng
> > > interface Loopback0
> > > cost 1
> > > passive enable
> > > !
> > > interface GigabitEthernet0/0/0/0
> > > cost 10
> > > network point-to-point
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > cost 10
> > > network point-to-point
> > > !
> > > !
> > > mpls traffic-eng router-id Loopback0 !
> > > router bgp 100
> > > bgp router-id 172.16.0.1
> > > address-family link-state link-state !
> > > neighbor 192.168.0.100
> > > remote-as 100
> > > update-source MgmtEth0/0/CPU0/0
> > > address-family link-state link-state !
> > > !
> > > !
> > > rsvp
> > > interface GigabitEthernet0/0/0/0
> > > bandwidth 100000
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > bandwidth 100000
> > > !
> > > !
> > > mpls traffic-eng
> > > interface GigabitEthernet0/0/0/0
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > !
> > > !
> > > mpls ldp
> > > router-id 172.16.0.1
> > > address-family ipv4
> > > !
> > > !
> > > end
> > >
> > >
> > >
> > > :::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!-- vi: set et smarttab sw=4 tabstop=4: -->
> > > <!--
> > > Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
> > >
> > > This program and the accompanying materials are made available
> > > under the terms of the Eclipse Public License v1.0 which
> > > accompanies this distribution, and is available at
> > > http://www.eclipse.org/legal/epl-v10.html
> > > -->
> > > <snapshot>
> > > <required-capabilities>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > > :c fg ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > > :s pi
> > > ?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > > :i
> > > mp
> > > l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:top
> > > ol
> > > og
> > > y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-
> > > 11
> > > -1
> > > 5</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
> > > ch
> > > ab
> > > ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013
> > > -1
> > > 1-
> > > 15</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
> > > ch
> > > ab
> > > ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013
> > > -1
> > > 1-
> > > 15</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:
> > > bi
> > > nd
> > > ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</ca
> > > pa
> > > bi
> > > lity>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:netty?m
> > > od ul e=netty&amp;revision=2013-11-19</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > fr
> > > amework?module=protocol-framework&amp;revision=2014-03-13</capabil
> > > it
> > > y>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:topology?
> > > mo dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
> > > </required-capabilities>
> > > <configuration>
> > >
> > > <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
> > > <modules
> > > xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:timed-reconnect-strategy-factory</type>
> > > <name>example-reconnect-strategy-factory</name>
> > > <min-sleep>1000</min-sleep>
> > > <max-sleep>180000</max-sleep>
> > > <sleep-factor>2.00</sleep-factor>
> > > <connect-time>5000</connect-time>
> > > <timed-reconnect-executor>
> > > <type
> > > xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty"
> > > >n
> > > et
> > > ty:netty-event-executor</type>
> > > <name>global-event-executor</name>
> > > </timed-reconnect-executor>
> > > </module>
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib :i mpl">prefix:bgp-peer-acceptor</type>
> > > <name>bgp-peer-server</name>
> > >
> > >
> > > <!--Default parameters>-->
> > > <!--<binding-address>0.0.0.0</binding-address>-->
> > >
> > > <!--Default binding-port 179>-->
> > > <!--binding-port>1790</binding-port>-->
> > >
> > > <accepting-bgp-dispatcher>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-dispatcher</type>
> > > <name>global-bgp-dispatcher</name>
> > > </accepting-bgp-dispatcher>
> > > <accepting-peer-registry>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib :i mpl">prefix:bgp-peer-registry</type>
> > > <name>global-bgp-peer-registry</name>
> > > </accepting-peer-registry>
> > >
> > > </module>
> > >
> > > <!--
> > > A single BGP peer. Note this section is deactivated because a
> > > misconfigured peer tends to log rather nasty error messages.
> > >
> > > For TCP-MD5 support, make sure the dispatcher associated with the
> > > rib has "md5-channel-factory" attribute set and then add a "password" attribute here.
> > > Note that the peer has to have the same password configured,
> > > otherwise the connection will not be established.
> > > -->
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-peer</type>
> > > <name>example-bgp-peer</name>
> > > <host>192.168.0.101</host>
> > > <holdtimer>180</holdtimer>
> > > <rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </rib>
> > > <peer-registry>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib :i mpl">prefix:bgp-peer-registry</type>
> > > <name>global-bgp-peer-registry</name>
> > > </peer-registry>
> > > <advertized-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv4-unicast</name>
> > > </advertized-table>
> > > <advertized-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv6-unicast</name>
> > > </advertized-table>
> > > <advertized-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>linkstate</name>
> > > </advertized-table>
> > > </module>
> > >
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:rib-impl</type>
> > > <name>example-bgp-rib</name>
> > > <rib-id>example-bgp-rib</rib-id>
> > > <local-as>100</local-as>
> > > <bgp-rib-id>192.168.0.100</bgp-rib-id>
> > > <local-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv4-unicast</name>
> > > </local-table>
> > > <local-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv6-unicast</name>
> > > </local-table>
> > > <local-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>linkstate</name>
> > > </local-table>
> > > <extensions>
> > > <type
> > > xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :s
> > > pi">ribspi:extensions</type>
> > > <name>global-rib-extensions</name>
> > > </extensions>
> > > <bgp-dispatcher>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-dispatcher</type>
> > > <name>global-bgp-dispatcher</name>
> > > </bgp-dispatcher>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <session-reconnect-strategy>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:reconnect-strategy-factory</type>
> > > <name>example-reconnect-strategy-factory</name>
> > > </session-reconnect-strategy>
> > > <tcp-reconnect-strategy>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:reconnect-strategy-factory</type>
> > > <name>example-reconnect-strategy-factory</name>
> > > </tcp-reconnect-strategy>
> > > </module>
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ea ch ability:ipv4">prefix:bgp-reachability-ipv4</type>
> > > <name>example-ipv4-topology</name>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <local-rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </local-rib>
> > > <topology-id>example-ipv4-topology</topology-id>
> > > </module>
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ea ch ability:ipv6">prefix:bgp-reachability-ipv6</type>
> > > <name>example-ipv6-topology</name>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <local-rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </local-rib>
> > > <topology-id>example-ipv6-topology</topology-id>
> > > </module>
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:t
> > > op ol ogy:provider">prefix:bgp-linkstate-topology</type>
> > > <name>example-linkstate-topology</name>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <local-rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </local-rib>
> > > <topology-id>example-linkstate-topology</topology-id>
> > > </module>
> > > </modules>
> > >
> > > <services
> > > xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:reconnect-strategy-factory</type>
> > > <instance>
> > > <name>example-reconnect-strategy-factory</name>
> > > <provider>/config/modules/module[name='timed-reconnect-strategy-fa
> > > ct
> > > or
> > > y']/instance[name='example-reconnect-strategy-factory']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > > >prefix:topology-reference</type>
> > > <instance>
> > > <name>example-ipv4-topology</name>
> > > <provider>/config/modules/module[name='bgp-reachability-ipv4']/ins
> > > ta nc e[name='example-ipv4-topology']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <instance>
> > > <name>example-bgp-rib</name>
> > > <provider>/config/modules/module[name='rib-impl']/instance[name='e
> > > xa
> > > mp
> > > le-bgp-rib']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:rib-instance</type>
> > > <instance>
> > > <name>example-bgp-rib</name>
> > > <provider>/config/modules/module[name='rib-impl']/instance[name='e
> > > xa
> > > mp
> > > le-bgp-rib']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > > >prefix:topology-reference</type>
> > > <instance>
> > > <name>example-ipv6-topology</name>
> > > <provider>/config/modules/module[name='bgp-reachability-ipv6']/ins
> > > ta nc e[name='example-ipv6-topology']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > > >prefix:topology-reference</type>
> > > <instance>
> > > <name>example-linkstate-topology</name>
> > > <provider>/config/modules/module[name='bgp-linkstate-topology']/in
> > > st an ce[name='example-linkstate-topology']</provider>
> > > </instance>
> > > </service>
> > > </services>
> > > </data>
> > >
> > > </configuration>
> > > </snapshot>
> > >
> > >
> > >
> > > Kind regards
> > > Angus
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Giles Heron [mailto:giles.heron@...]
> > > Sent: 24 November 2014 07:33 PM
> > > To: Angus Brandt
> > > Cc: bgpcep-announce@...
> > > Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
> > > editing 41-bgp-example.xml
> > >
> > > Hi Angus,
> > >
> > > On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:
> > >
> > > > Hi,
> > > >
> > > > Please help;
> > > >
> > > > From:
> > > > https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide
> > > >
> > > > 1. Adjust values for initial BGP Open message <module>
> > > > <type>prefix:rib-impl</type> <name>example-bgp-rib</name>
> > > > <rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> //
> > > > Our AS number, we use this in best path selection
> > > > <bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
> > > > best path selection 2. Specify IP address of your BGP speaker
> > > >
> > > > <module>
> > > > <type
> > > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp
> > > > :r
> > > > ib
> > > > :impl">prefix:bgp-peer</type>
> > > > <name>example-bgp-peer</name>
> > > > <host>192.0.2.1</host> // IP address or hostname of the speaker
> > > > <holdtimer>180</holdtimer>
> > > >
> > > > I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.
> > > >
> > > > If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
> > >
> > > that'd be under "example-bgp-peer".
> > >
> > > though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).
> > >
> > > So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:
> > >
> > > <module>
> > > <type>prefix:rib-impl</type>
> > > <name>example-bgp-rib</name>
> > > <rib-id>example-bgp-rib</rib-id>
> > > <local-as>101</local-as> // Our AS number, we use this in best
> > > path selection <bgp-id>192.168.1.100</bgp-id> // Our BGP
> > > identifier, we use this in best path selection ...
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-peer</type>
> > > <name>example-bgp-peer</name>
> > > <host>192.168.1.101</host> // IP address or hostname of the
> > > speaker <holdtimer>180</holdtimer> ...
> > >
> > > > In this scenario, is R1 the client and ODL the speaker?
> > >
> > > R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).
> > >
> > > > How do I know which AS the ODL controller belongs to and the id.
> > > > (I'm guessing it's given an arbitrary AS and ID in the BGP Open
> > > > message in step 1 above ..correct? )
> > >
> > > The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).
> > >
> > > >
> > > > A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
> > > >
> > >
> > > hmmm:
> > >
> > > So it's something like:
> > >
> > > BGP
> > > ODL------->R1---R3
> > > | _|
> > > | |
> > > R2-
> > >
> > > Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.
> > >
> > > So your R1 config might look something like this:
> > >
> > > interface loopback0
> > > ipv4 address 1.1.1.1 255.255.255.255 !
> > > interface MgmtEth0/0/CPU0/0
> > > ipv4 address 192.168.1.101 255.255.255.0
> > >
> > > interface GigabitEthernet0/0/0/0
> > > ipv4 address 192.168.101.1 255.255.255.0 !
> > > interface GigabitEthernet0/0/0/1
> > > ipv4 address 192.168.102.1 255.255.255.0 !
> > > router ospf foo
> > > distribute bgp-ls
> > > address-family ipv4 unicast
> > > area 0
> > > mpls traffic-eng
> > > interface Loopback0
> > > cost 1
> > > passive enable
> > > !
> > > interface GigabitEthernet0/0/0/0
> > > cost 10
> > > network point-to-point
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > cost 10
> > > network point-to-point
> > > !
> > > !
> > > mpls traffic-eng router-id Loopback0 !
> > > router bgp 101
> > > bgp router-id 1.1.1.1
> > > !
> > > address-family link-state link-state !
> > > neighbor 192.168.1.100
> > > remote-as 101
> > > update-source MgmtEth0/0/CPU0/0
> > > address-family link-state link-state !
> > > !
> > > rsvp
> > > interface GigabitEthernet0/0/0/0
> > > bandwidth 1000000
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > bandwidth 1000000
> > > !
> > > !
> > > mpls traffic-eng
> > > interface GigabitEthernet0/0/0/0
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > !
> > > !
> > >
> > > does that make sense?
> > >
> > > Giles
> > >
> > > > Kind regards
> > > > Angus
> > > > _____________________________________
> > > > Angus Brandt
> > > >
> > > > Cape Peninsula University of Technology Department Of
> > > > Electrical, Electronic and Computer Engineering
> > > >
> > > > first floor, room 0013, Bellville Campus
> > > > Office: 021 9596564 Cell: 082 3544 175
> > > > International: +27(number without leading 0)
> > > >
> > > >
> > > >
> > > > Disclaimer
> > > >
> > > > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> > > >
> > > > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.
> > > >
> > > > _______________________________________________
> > > > bgpcep-announce mailing list
> > > > bgpcep-announce@...
> > > > https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce
> > >
> > >
> > > Disclaimer
> > >
> > > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> > >
> > > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
> > >
> >
> >
> > Disclaimer
> >
> > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> >
> > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
> >
>
>
> Disclaimer
>
> This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
>
> Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
>

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce


Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Angus Brandt
 

Hi Giles,
I went back to version XRv 5.1.3 and it takes the config. So for now while I'm not sure about XRv 5.2.2, I'll continue with XRv 5.1.3

When I browse to http://localhost:8181/dlux/index.html#/topology
I only see one host and one switch. But my network is made of 3 routers. Why would the others not show.

Regards
Angus


-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 19 December 2014 02:41 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus

yeah - could be a version issue.

ping me off-list at giheron@... and I'll track it down for you.

Giles

On 19 Dec 2014, at 08:07, Angus Brandt <BrandtA@...> wrote:

> Hi Giles,
> I have one problem implementing the config and need some advice please.
>
> I cannot commit the lines:
> stateful-client
> instantiation
>
> I get the following error:
> !!% The requested operation is not supported: Stateful PCE client
> cannot be configured when PCE server is enabled
>
> All the other lines have been committed.
>
> I've upgrade for IOS-XRv5.2.0 to IOS-XRV5.2.2 and it gives me the same problem. Is it a IOS problem or something else.
>
> Regards
> Angus
>
>
>
> -----Original Message-----
> From: Giles Heron [mailto:giles.heron@...]
> Sent: 11 December 2014 10:40 PM
> To: Angus Brandt
> Cc: bgpcep-announce@...
> Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
> 41-bgp-example.xml
>
> Hi Angus,
>
> yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.
>
> the router config needs a couple of additions:
>
> 1) at the global level add:
>
> ipv4 unnumbered mpls traffic-eng Loopback0
>
> 2) under mpls traffic-eng add:
>
> pce
> peer ipv4 192.168.0.3
> !
> stateful-client
> instantiation
> !
> !
> auto-tunnel pcc
> tunnel-id min 1 max 99
> !
> reoptimize timers delay installation 0
>
> once you've got that you should be able to set up tunnels using the instructions in the Wiki:
>
> https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide
>
> hope that helps.
>
> Giles
>
> On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:
>
> > Hi Giles,
> > Thanks for your help. I now have a up and running BGP session with the ODL controller.
> >
> > From a previous post from Dana some time ago (18 Sep 2014):
> > "In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."
> >
> >
> > So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?
> >
> > Regards
> > Angus
> >
> >
> >
> > -----Original Message-----
> > From: Giles Heron [mailto:giles.heron@...]
> > Sent: 04 December 2014 05:53 PM
> > To: Angus Brandt
> > Cc: bgpcep-announce@...
> > Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
> > editing 41-bgp-example.xml
> >
> > Hi Angus,
> >
> > sorry for the slow reply.
> >
> > the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.
> >
> > So in the router BGP config you need:
> >
> > neighbor 192.168.0.3
> > remote-as 100
> > update-source MgmtEth0/0/CPU0/0
> > address-family link-state link-state
> >
> > and in the 41-bgp-example.xml file you need:
> >
> > <rib-id>example-bgp-rib</rib-id>
> > <local-as>100</local-as>
> > <bgp-rib-id>192.168.0.3</bgp-rib-id>
> >
> > Giles
> >
> > On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:
> >
> > > Hi Giles,
> > >
> > > Thank you so much for your response. I've implemented your suggested config but still have a problem.
> > >
> > > BGP
> > > ODL------->R1---R3
> > > | _|
> > > | |
> > > R2-
> > > My setup:
> > > ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
> > > command window for the host where ODL is running);
> > > R1- MgmEth0/0/0/0 :192.168.0.101/24; Connectivity between R1
> > > MgmEtho/0/0/0 and ODL is confirmed with success ping.
> > >
> > > When I do a 'show bgp neighbour 192.168.0.3' from R1
> > > RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2
> > > 15:09:17.657 UTC % Neighbor not found
> > >
> > > Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
> > > Could you please assist me in finding the fault.
> > >
> > >
> > >
> > > ::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
> > > RP/0/0/CPU0:XRv1#sh run
> > > Tue Dec 2 15:08:08.482 UTC
> > > Building configuration...
> > > !! IOS XR Configuration 5.2.0
> > > !! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
> > > hostname XRv1
> > > interface Loopback0
> > > ipv4 address 172.16.0.1 255.255.255.255 !
> > > interface MgmtEth0/0/CPU0/0
> > > ipv4 address 192.168.0.101 255.255.255.0 !
> > > interface GigabitEthernet0/0/0/0
> > > ipv4 address 10.10.0.9 255.255.255.252 !
> > > interface GigabitEthernet0/0/0/1
> > > ipv4 address 10.10.0.1 255.255.255.252 !
> > > interface preconfigure GigabitEthernet0/0/0/2
> > > ipv4 address 172.16.13.1 255.255.255.0 !
> > > router ospf 100
> > > distribute bgp-ls
> > > address-family ipv4 unicast
> > > area 0
> > > mpls ldp auto-config
> > > mpls traffic-eng
> > > interface Loopback0
> > > cost 1
> > > passive enable
> > > !
> > > interface GigabitEthernet0/0/0/0
> > > cost 10
> > > network point-to-point
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > cost 10
> > > network point-to-point
> > > !
> > > !
> > > mpls traffic-eng router-id Loopback0 !
> > > router bgp 100
> > > bgp router-id 172.16.0.1
> > > address-family link-state link-state !
> > > neighbor 192.168.0.100
> > > remote-as 100
> > > update-source MgmtEth0/0/CPU0/0
> > > address-family link-state link-state !
> > > !
> > > !
> > > rsvp
> > > interface GigabitEthernet0/0/0/0
> > > bandwidth 100000
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > bandwidth 100000
> > > !
> > > !
> > > mpls traffic-eng
> > > interface GigabitEthernet0/0/0/0
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > !
> > > !
> > > mpls ldp
> > > router-id 172.16.0.1
> > > address-family ipv4
> > > !
> > > !
> > > end
> > >
> > >
> > >
> > > :::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!-- vi: set et smarttab sw=4 tabstop=4: -->
> > > <!--
> > > Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
> > >
> > > This program and the accompanying materials are made available
> > > under the terms of the Eclipse Public License v1.0 which
> > > accompanies this distribution, and is available at
> > > http://www.eclipse.org/legal/epl-v10.html
> > > -->
> > > <snapshot>
> > > <required-capabilities>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > > :c fg ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > > :s pi
> > > ?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
> > > :i
> > > mp
> > > l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:top
> > > ol
> > > og
> > > y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-
> > > 11
> > > -1
> > > 5</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
> > > ch
> > > ab
> > > ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013
> > > -1
> > > 1-
> > > 15</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
> > > ch
> > > ab
> > > ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013
> > > -1
> > > 1-
> > > 15</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:
> > > bi
> > > nd
> > > ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</ca
> > > pa
> > > bi
> > > lity>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:netty?m
> > > od ul e=netty&amp;revision=2013-11-19</capability>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > fr
> > > amework?module=protocol-framework&amp;revision=2014-03-13</capabil
> > > it
> > > y>
> > > <capability>urn:opendaylight:params:xml:ns:yang:controller:topology?
> > > mo dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
> > > </required-capabilities>
> > > <configuration>
> > >
> > > <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
> > > <modules
> > > xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:timed-reconnect-strategy-factory</type>
> > > <name>example-reconnect-strategy-factory</name>
> > > <min-sleep>1000</min-sleep>
> > > <max-sleep>180000</max-sleep>
> > > <sleep-factor>2.00</sleep-factor>
> > > <connect-time>5000</connect-time>
> > > <timed-reconnect-executor>
> > > <type
> > > xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty"
> > > >n
> > > et
> > > ty:netty-event-executor</type>
> > > <name>global-event-executor</name>
> > > </timed-reconnect-executor>
> > > </module>
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib :i mpl">prefix:bgp-peer-acceptor</type>
> > > <name>bgp-peer-server</name>
> > >
> > >
> > > <!--Default parameters>-->
> > > <!--<binding-address>0.0.0.0</binding-address>-->
> > >
> > > <!--Default binding-port 179>-->
> > > <!--binding-port>1790</binding-port>-->
> > >
> > > <accepting-bgp-dispatcher>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-dispatcher</type>
> > > <name>global-bgp-dispatcher</name>
> > > </accepting-bgp-dispatcher>
> > > <accepting-peer-registry>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib :i mpl">prefix:bgp-peer-registry</type>
> > > <name>global-bgp-peer-registry</name>
> > > </accepting-peer-registry>
> > >
> > > </module>
> > >
> > > <!--
> > > A single BGP peer. Note this section is deactivated because a
> > > misconfigured peer tends to log rather nasty error messages.
> > >
> > > For TCP-MD5 support, make sure the dispatcher associated with the
> > > rib has "md5-channel-factory" attribute set and then add a "password" attribute here.
> > > Note that the peer has to have the same password configured,
> > > otherwise the connection will not be established.
> > > -->
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-peer</type>
> > > <name>example-bgp-peer</name>
> > > <host>192.168.0.101</host>
> > > <holdtimer>180</holdtimer>
> > > <rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </rib>
> > > <peer-registry>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib :i mpl">prefix:bgp-peer-registry</type>
> > > <name>global-bgp-peer-registry</name>
> > > </peer-registry>
> > > <advertized-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv4-unicast</name>
> > > </advertized-table>
> > > <advertized-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv6-unicast</name>
> > > </advertized-table>
> > > <advertized-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>linkstate</name>
> > > </advertized-table>
> > > </module>
> > >
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:rib-impl</type>
> > > <name>example-bgp-rib</name>
> > > <rib-id>example-bgp-rib</rib-id>
> > > <local-as>100</local-as>
> > > <bgp-rib-id>192.168.0.100</bgp-rib-id>
> > > <local-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv4-unicast</name>
> > > </local-table>
> > > <local-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>ipv6-unicast</name>
> > > </local-table>
> > > <local-table>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-table-type</type>
> > > <name>linkstate</name>
> > > </local-table>
> > > <extensions>
> > > <type
> > > xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :s
> > > pi">ribspi:extensions</type>
> > > <name>global-rib-extensions</name>
> > > </extensions>
> > > <bgp-dispatcher>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-dispatcher</type>
> > > <name>global-bgp-dispatcher</name>
> > > </bgp-dispatcher>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <session-reconnect-strategy>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:reconnect-strategy-factory</type>
> > > <name>example-reconnect-strategy-factory</name>
> > > </session-reconnect-strategy>
> > > <tcp-reconnect-strategy>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:reconnect-strategy-factory</type>
> > > <name>example-reconnect-strategy-factory</name>
> > > </tcp-reconnect-strategy>
> > > </module>
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ea ch ability:ipv4">prefix:bgp-reachability-ipv4</type>
> > > <name>example-ipv4-topology</name>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <local-rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </local-rib>
> > > <topology-id>example-ipv4-topology</topology-id>
> > > </module>
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ea ch ability:ipv6">prefix:bgp-reachability-ipv6</type>
> > > <name>example-ipv6-topology</name>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <local-rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </local-rib>
> > > <topology-id>example-ipv6-topology</topology-id>
> > > </module>
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:t
> > > op ol ogy:provider">prefix:bgp-linkstate-topology</type>
> > > <name>example-linkstate-topology</name>
> > > <data-provider>
> > > <type
> > > xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
> > > al :b inding">binding:binding-async-data-broker</type>
> > > <name>binding-data-broker</name>
> > > </data-provider>
> > > <local-rib>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <name>example-bgp-rib</name>
> > > </local-rib>
> > > <topology-id>example-linkstate-topology</topology-id>
> > > </module>
> > > </modules>
> > >
> > > <services
> > > xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
> > > framework">prefix:reconnect-strategy-factory</type>
> > > <instance>
> > > <name>example-reconnect-strategy-factory</name>
> > > <provider>/config/modules/module[name='timed-reconnect-strategy-fa
> > > ct
> > > or
> > > y']/instance[name='example-reconnect-strategy-factory']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > > >prefix:topology-reference</type>
> > > <instance>
> > > <name>example-ipv4-topology</name>
> > > <provider>/config/modules/module[name='bgp-reachability-ipv4']/ins
> > > ta nc e[name='example-ipv4-topology']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :c
> > > fg">prefix:rib</type>
> > > <instance>
> > > <name>example-bgp-rib</name>
> > > <provider>/config/modules/module[name='rib-impl']/instance[name='e
> > > xa
> > > mp
> > > le-bgp-rib']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:rib-instance</type>
> > > <instance>
> > > <name>example-bgp-rib</name>
> > > <provider>/config/modules/module[name='rib-impl']/instance[name='e
> > > xa
> > > mp
> > > le-bgp-rib']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > > >prefix:topology-reference</type>
> > > <instance>
> > > <name>example-ipv6-topology</name>
> > > <provider>/config/modules/module[name='bgp-reachability-ipv6']/ins
> > > ta nc e[name='example-ipv6-topology']</provider>
> > > </instance>
> > > </service>
> > > <service>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
> > > >prefix:topology-reference</type>
> > > <instance>
> > > <name>example-linkstate-topology</name>
> > > <provider>/config/modules/module[name='bgp-linkstate-topology']/in
> > > st an ce[name='example-linkstate-topology']</provider>
> > > </instance>
> > > </service>
> > > </services>
> > > </data>
> > >
> > > </configuration>
> > > </snapshot>
> > >
> > >
> > >
> > > Kind regards
> > > Angus
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Giles Heron [mailto:giles.heron@...]
> > > Sent: 24 November 2014 07:33 PM
> > > To: Angus Brandt
> > > Cc: bgpcep-announce@...
> > > Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
> > > editing 41-bgp-example.xml
> > >
> > > Hi Angus,
> > >
> > > On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:
> > >
> > > > Hi,
> > > >
> > > > Please help;
> > > >
> > > > From:
> > > > https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide
> > > >
> > > > 1. Adjust values for initial BGP Open message <module>
> > > > <type>prefix:rib-impl</type> <name>example-bgp-rib</name>
> > > > <rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> //
> > > > Our AS number, we use this in best path selection
> > > > <bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
> > > > best path selection 2. Specify IP address of your BGP speaker
> > > >
> > > > <module>
> > > > <type
> > > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp
> > > > :r
> > > > ib
> > > > :impl">prefix:bgp-peer</type>
> > > > <name>example-bgp-peer</name>
> > > > <host>192.0.2.1</host> // IP address or hostname of the speaker
> > > > <holdtimer>180</holdtimer>
> > > >
> > > > I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.
> > > >
> > > > If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
> > >
> > > that'd be under "example-bgp-peer".
> > >
> > > though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).
> > >
> > > So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:
> > >
> > > <module>
> > > <type>prefix:rib-impl</type>
> > > <name>example-bgp-rib</name>
> > > <rib-id>example-bgp-rib</rib-id>
> > > <local-as>101</local-as> // Our AS number, we use this in best
> > > path selection <bgp-id>192.168.1.100</bgp-id> // Our BGP
> > > identifier, we use this in best path selection ...
> > >
> > > <module>
> > > <type
> > > xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
> > > ib
> > > :i
> > > mpl">prefix:bgp-peer</type>
> > > <name>example-bgp-peer</name>
> > > <host>192.168.1.101</host> // IP address or hostname of the
> > > speaker <holdtimer>180</holdtimer> ...
> > >
> > > > In this scenario, is R1 the client and ODL the speaker?
> > >
> > > R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).
> > >
> > > > How do I know which AS the ODL controller belongs to and the id.
> > > > (I'm guessing it's given an arbitrary AS and ID in the BGP Open
> > > > message in step 1 above ..correct? )
> > >
> > > The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).
> > >
> > > >
> > > > A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
> > > >
> > >
> > > hmmm:
> > >
> > > So it's something like:
> > >
> > > BGP
> > > ODL------->R1---R3
> > > | _|
> > > | |
> > > R2-
> > >
> > > Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.
> > >
> > > So your R1 config might look something like this:
> > >
> > > interface loopback0
> > > ipv4 address 1.1.1.1 255.255.255.255 !
> > > interface MgmtEth0/0/CPU0/0
> > > ipv4 address 192.168.1.101 255.255.255.0
> > >
> > > interface GigabitEthernet0/0/0/0
> > > ipv4 address 192.168.101.1 255.255.255.0 !
> > > interface GigabitEthernet0/0/0/1
> > > ipv4 address 192.168.102.1 255.255.255.0 !
> > > router ospf foo
> > > distribute bgp-ls
> > > address-family ipv4 unicast
> > > area 0
> > > mpls traffic-eng
> > > interface Loopback0
> > > cost 1
> > > passive enable
> > > !
> > > interface GigabitEthernet0/0/0/0
> > > cost 10
> > > network point-to-point
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > cost 10
> > > network point-to-point
> > > !
> > > !
> > > mpls traffic-eng router-id Loopback0 !
> > > router bgp 101
> > > bgp router-id 1.1.1.1
> > > !
> > > address-family link-state link-state !
> > > neighbor 192.168.1.100
> > > remote-as 101
> > > update-source MgmtEth0/0/CPU0/0
> > > address-family link-state link-state !
> > > !
> > > rsvp
> > > interface GigabitEthernet0/0/0/0
> > > bandwidth 1000000
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > bandwidth 1000000
> > > !
> > > !
> > > mpls traffic-eng
> > > interface GigabitEthernet0/0/0/0
> > > !
> > > interface GigabitEthernet0/0/0/1
> > > !
> > > !
> > >
> > > does that make sense?
> > >
> > > Giles
> > >
> > > > Kind regards
> > > > Angus
> > > > _____________________________________
> > > > Angus Brandt
> > > >
> > > > Cape Peninsula University of Technology Department Of
> > > > Electrical, Electronic and Computer Engineering
> > > >
> > > > first floor, room 0013, Bellville Campus
> > > > Office: 021 9596564 Cell: 082 3544 175
> > > > International: +27(number without leading 0)
> > > >
> > > >
> > > >
> > > > Disclaimer
> > > >
> > > > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> > > >
> > > > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.
> > > >
> > > > _______________________________________________
> > > > bgpcep-announce mailing list
> > > > bgpcep-announce@...
> > > > https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce
> > >
> > >
> > > Disclaimer
> > >
> > > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> > >
> > > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
> > >
> >
> >
> > Disclaimer
> >
> > This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
> >
> > Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
> >
>
>
> Disclaimer
>
> This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.
>
> Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.
>


Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.


Giles Heron <giles.heron@...>
 

ah, ok. So the dlux topology is the OpenFlow one.

you need to go to http://localhost:8181/restconf/operational/network-topology:network-topology to see the topologies learned from BGP-LS and PCE-P.

I don't know of an open-source app for visualising those :(

Giles

On 13 Jan 2015, at 09:13, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
I went back to version XRv 5.1.3 and it takes the config. So for now while I'm not sure about XRv 5.2.2, I'll continue with XRv 5.1.3

When I browse to http://localhost:8181/dlux/index.html#/topology
I only see one host and one switch. But my network is made of 3 routers. Why would the others not show.

Regards
Angus


-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 19 December 2014 02:41 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing 41-bgp-example.xml

Hi Angus

yeah - could be a version issue.

ping me off-list at giheron@... and I'll track it down for you.

Giles

On 19 Dec 2014, at 08:07, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
I have one problem implementing the config and need some advice please.

I cannot commit the lines:
stateful-client
instantiation

I get the following error:
!!% The requested operation is not supported: Stateful PCE client
cannot be configured when PCE server is enabled

All the other lines have been committed.

I've upgrade for IOS-XRv5.2.0 to IOS-XRV5.2.2 and it gives me the same problem. Is it a IOS problem or something else.

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 11 December 2014 10:40 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by editing
41-bgp-example.xml

Hi Angus,

yes - as long as the routers support stateful-07 (needs to be a newish release) then that ought to work. I've got it up and running here.

the router config needs a couple of additions:

1) at the global level add:

ipv4 unnumbered mpls traffic-eng Loopback0

2) under mpls traffic-eng add:

pce
peer ipv4 192.168.0.3
!
stateful-client
instantiation
!
!
auto-tunnel pcc
tunnel-id min 1 max 99
!
reoptimize timers delay installation 0

once you've got that you should be able to set up tunnels using the instructions in the Wiki:

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide

hope that helps.

Giles

On 9 Dec 2014, at 13:31, Angus Brandt <BrandtA@...> wrote:

Hi Giles,
Thanks for your help. I now have a up and running BGP session with the ODL controller.

From a previous post from Dana some time ago (18 Sep 2014):
"In ODL we only support PCE server. It's binding address is 0.0.0.0:4189, which means, that ODL listens to all interfaces on PCEP port 4189. If you run ODL without any change in configuration, it will create stateful07 PCE server on that address and wait for incoming connections from PCC."


So as it stands(unmodified) ODL controller has stateful07 PCE server running. All I now have to do is configure PCC on the IOS-XRv router. From there I should be able to setup LSP's between my IOS-XRv routers. Does that sound right?

Regards
Angus



-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 04 December 2014 05:53 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
editing 41-bgp-example.xml

Hi Angus,

sorry for the slow reply.

the issue is that both the XR node BGP config and the 41-bgp-example.xml file you've configured ODL as 192.168.0.100 when it should be 192.168.0.3.

So in the router BGP config you need:

neighbor 192.168.0.3
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state

and in the 41-bgp-example.xml file you need:

<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.3</bgp-rib-id>

Giles

On 2 Dec 2014, at 14:42, Angus Brandt <BrandtA@...> wrote:

Hi Giles,

Thank you so much for your response. I've implemented your suggested config but still have a problem.

BGP
ODL------->R1---R3
| _|
| |
R2-
My setup:
ODL(karaf): 192.168.0.3/24 (I get this using ipconfig in windows
command window for the host where ODL is running);
R1- MgmEth0/0/0/0 :192.168.0.101/24; Connectivity between R1
MgmEtho/0/0/0 and ODL is confirmed with success ping.

When I do a 'show bgp neighbour 192.168.0.3' from R1
RP/0/0/CPU0:XRv1#show bgp neighbor 192.168.0.3 Tue Dec 2
15:09:17.657 UTC % Neighbor not found

Is there a problem with my configs? Below is my R1 config as well as 41-bgp-example.xml.
Could you please assist me in finding the fault.



::::::::::::::::::::::::::::::::::::::::::My router config:::::::::::::::::::::::::::::::::::::::::::::::
RP/0/0/CPU0:XRv1#sh run
Tue Dec 2 15:08:08.482 UTC
Building configuration...
!! IOS XR Configuration 5.2.0
!! Last configuration change at Tue Dec 2 14:11:19 2014 by brandta !
hostname XRv1
interface Loopback0
ipv4 address 172.16.0.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.0.101 255.255.255.0 !
interface GigabitEthernet0/0/0/0
ipv4 address 10.10.0.9 255.255.255.252 !
interface GigabitEthernet0/0/0/1
ipv4 address 10.10.0.1 255.255.255.252 !
interface preconfigure GigabitEthernet0/0/0/2
ipv4 address 172.16.13.1 255.255.255.0 !
router ospf 100
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls ldp auto-config
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0 !
router bgp 100
bgp router-id 172.16.0.1
address-family link-state link-state !
neighbor 192.168.0.100
remote-as 100
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state !
!
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 100000
!
interface GigabitEthernet0/0/0/1
bandwidth 100000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!
mpls ldp
router-id 172.16.0.1
address-family ipv4
!
!
end



:::::::::::::::::::::::::::41-bgp-examle.xml output:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.

This program and the accompanying materials are made available
under the terms of the Eclipse Public License v1.0 which
accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
-->
<snapshot>
<required-capabilities>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:c fg ?module=odl-bgp-rib-cfg&amp;revision=2013-07-01</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:s pi
?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib
:i
mp
l?module=odl-bgp-rib-impl-cfg&amp;revision=2013-04-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:top
ol
og
y:provider?module=odl-bgp-topology-provider-cfg&amp;revision=2013-
11
-1
5</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
ch
ab
ility:ipv6?module=odl-bgp-treachability-ipv6-cfg&amp;revision=2013
-1
1-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rea
ch
ab
ility:ipv4?module=odl-bgp-treachability-ipv4-cfg&amp;revision=2013
-1
1-
15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:
bi
nd
ing?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</ca
pa
bi
lity>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?m
od ul e=netty&amp;revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:
fr
amework?module=protocol-framework&amp;revision=2014-03-13</capabil
it
y>
<capability>urn:opendaylight:params:xml:ns:yang:controller:topology?
mo dule=odl-topology-api-cfg&amp;revision=2013-11-15</capability>
</required-capabilities>
<configuration>

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:timed-reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
<min-sleep>1000</min-sleep>
<max-sleep>180000</max-sleep>
<sleep-factor>2.00</sleep-factor>
<connect-time>5000</connect-time>
<timed-reconnect-executor>
<type
xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty"
n
et
ty:netty-event-executor</type>
<name>global-event-executor</name>
</timed-reconnect-executor>
</module>

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib :i mpl">prefix:bgp-peer-acceptor</type>
<name>bgp-peer-server</name>


<!--Default parameters>-->
<!--<binding-address>0.0.0.0</binding-address>-->

<!--Default binding-port 179>-->
<!--binding-port>1790</binding-port>-->

<accepting-bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</accepting-bgp-dispatcher>
<accepting-peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib :i mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</accepting-peer-registry>

</module>

<!--
A single BGP peer. Note this section is deactivated because a
misconfigured peer tends to log rather nasty error messages.

For TCP-MD5 support, make sure the dispatcher associated with the
rib has "md5-channel-factory" attribute set and then add a "password" attribute here.
Note that the peer has to have the same password configured,
otherwise the connection will not be established.
-->
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.0.101</host>
<holdtimer>180</holdtimer>
<rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</rib>
<peer-registry>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib :i mpl">prefix:bgp-peer-registry</type>
<name>global-bgp-peer-registry</name>
</peer-registry>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</advertized-table>
<advertized-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</advertized-table>
</module>


<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>100</local-as>
<bgp-rib-id>192.168.0.100</bgp-rib-id>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv4-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-table-type</type>
<name>ipv6-unicast</name>
</local-table>
<local-table>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-table-type</type>
<name>linkstate</name>
</local-table>
<extensions>
<type
xmlns:ribspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:s
pi">ribspi:extensions</type>
<name>global-rib-extensions</name>
</extensions>
<bgp-dispatcher>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-dispatcher</type>
<name>global-bgp-dispatcher</name>
</bgp-dispatcher>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
al :b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<session-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</session-reconnect-strategy>
<tcp-reconnect-strategy>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<name>example-reconnect-strategy-factory</name>
</tcp-reconnect-strategy>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ea ch ability:ipv4">prefix:bgp-reachability-ipv4</type>
<name>example-ipv4-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
al :b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv4-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ea ch ability:ipv6">prefix:bgp-reachability-ipv6</type>
<name>example-ipv6-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
al :b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-ipv6-topology</topology-id>
</module>
<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:t
op ol ogy:provider">prefix:bgp-linkstate-topology</type>
<name>example-linkstate-topology</name>
<data-provider>
<type
xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:s
al :b inding">binding:binding-async-data-broker</type>
<name>binding-data-broker</name>
</data-provider>
<local-rib>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:c
fg">prefix:rib</type>
<name>example-bgp-rib</name>
</local-rib>
<topology-id>example-linkstate-topology</topology-id>
</module>
</modules>

<services
xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:protocol:
framework">prefix:reconnect-strategy-factory</type>
<instance>
<name>example-reconnect-strategy-factory</name>
<provider>/config/modules/module[name='timed-reconnect-strategy-fa
ct
or
y']/instance[name='example-reconnect-strategy-factory']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv4-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv4']/ins
ta nc e[name='example-ipv4-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:c
fg">prefix:rib</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='e
xa
mp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:rib-instance</type>
<instance>
<name>example-bgp-rib</name>
<provider>/config/modules/module[name='rib-impl']/instance[name='e
xa
mp
le-bgp-rib']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-ipv6-topology</name>
<provider>/config/modules/module[name='bgp-reachability-ipv6']/ins
ta nc e[name='example-ipv6-topology']</provider>
</instance>
</service>
<service>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:topology"
prefix:topology-reference</type>
<instance>
<name>example-linkstate-topology</name>
<provider>/config/modules/module[name='bgp-linkstate-topology']/in
st an ce[name='example-linkstate-topology']</provider>
</instance>
</service>
</services>
</data>

</configuration>
</snapshot>



Kind regards
Angus




-----Original Message-----
From: Giles Heron [mailto:giles.heron@...]
Sent: 24 November 2014 07:33 PM
To: Angus Brandt
Cc: bgpcep-announce@...
Subject: Re: [bgpcep-announce] BGP-LS PCEP AS configuration by
editing 41-bgp-example.xml

Hi Angus,

On 24 Nov 2014, at 12:58, Angus Brandt <BrandtA@...> wrote:

Hi,

Please help;

From:
https://wiki.opendaylight.org/view/BGP_LS_PCEP:Helium_User_Guide

1. Adjust values for initial BGP Open message <module>
<type>prefix:rib-impl</type> <name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id> <local-as>64496</local-as> //
Our AS number, we use this in best path selection
<bgp-id>192.0.2.2</bgp-id> // Our BGP identifier, we use this in
best path selection 2. Specify IP address of your BGP speaker

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp
:r
ib
:impl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.0.2.1</host> // IP address or hostname of the speaker
<holdtimer>180</holdtimer>

I have a virtual IOS-XRv network made up of three routers running OSPF (R1-R2-R3) all built on VMWare. I want to configure one router (R1) with BGP to interface with the ODL controller.

If R1 has AS=101, router-id=1.1.1.1 where do I configure this in the 41-bgp-example.xml file.
that'd be under "example-bgp-peer".

though if 1.1.1.1 is the loopback0 interface on the XRv node you'd need to have a static route on the ODL host pointing at that. It might be easier to bind BGP to R1's mgmt ethernet interface (assuming it's on the same subnet as ODL).

So for example if ODL is 192.168.1.100 and the routers' mgmt interfaces are 192.168.1.101, .102, .103 then you'd configure ODL as:

<module>
<type>prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>101</local-as> // Our AS number, we use this in best
path selection <bgp-id>192.168.1.100</bgp-id> // Our BGP
identifier, we use this in best path selection ...

<module>
<type
xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:r
ib
:i
mpl">prefix:bgp-peer</type>
<name>example-bgp-peer</name>
<host>192.168.1.101</host> // IP address or hostname of the
speaker <holdtimer>180</holdtimer> ...

In this scenario, is R1 the client and ODL the speaker?
R1 is the BGP speaker. ODL itself is configured under "example-bgp-rib". So put the AS and the IP address of ODL there (as I've shown above).

How do I know which AS the ODL controller belongs to and the id.
(I'm guessing it's given an arbitrary AS and ID in the BGP Open
message in step 1 above ..correct? )
The AS is the one configured above. It's probably easiest to configure the same ASN on ODL and R1 (AS101 in your example).


A network drawing example in the guide would really clear up the confusion I have with the setting up of BGP in the 41-bgp-example.xml file.
hmmm:

So it's something like:

BGP
ODL------->R1---R3
| _|
| |
R2-

Note that ODL will initiate the connection to R1. Of course ODL needs to be able to reach R1 and vice-versa, and on R1 you need to bind the BGP session to ODL to the interface that ODL will use to reach R1. By default ODL listens on port 1790 but initiates connections on port 179 (as expected by routers). If you want to listen on port 179 you need to run ODL as root.

So your R1 config might look something like this:

interface loopback0
ipv4 address 1.1.1.1 255.255.255.255 !
interface MgmtEth0/0/CPU0/0
ipv4 address 192.168.1.101 255.255.255.0

interface GigabitEthernet0/0/0/0
ipv4 address 192.168.101.1 255.255.255.0 !
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.102.1 255.255.255.0 !
router ospf foo
distribute bgp-ls
address-family ipv4 unicast
area 0
mpls traffic-eng
interface Loopback0
cost 1
passive enable
!
interface GigabitEthernet0/0/0/0
cost 10
network point-to-point
!
interface GigabitEthernet0/0/0/1
cost 10
network point-to-point
!
!
mpls traffic-eng router-id Loopback0 !
router bgp 101
bgp router-id 1.1.1.1
!
address-family link-state link-state !
neighbor 192.168.1.100
remote-as 101
update-source MgmtEth0/0/CPU0/0
address-family link-state link-state !
!
rsvp
interface GigabitEthernet0/0/0/0
bandwidth 1000000
!
interface GigabitEthernet0/0/0/1
bandwidth 1000000
!
!
mpls traffic-eng
interface GigabitEthernet0/0/0/0
!
interface GigabitEthernet0/0/0/1
!
!

does that make sense?

Giles

Kind regards
Angus
_____________________________________
Angus Brandt

Cape Peninsula University of Technology Department Of
Electrical, Electronic and Computer Engineering

first floor, room 0013, Bellville Campus
Office: 021 9596564 Cell: 082 3544 175
International: +27(number without leading 0)



Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimeror call +27 (0)21 460 3911.

_______________________________________________
bgpcep-announce mailing list
bgpcep-announce@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-announce

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.

Disclaimer

This e-mail transmission contains confidential information, which is the property of the sender. The information in this e-mail or attachments thereto is intended for the attention and use only of the addressee. Should you have received this email in error, please delete and destroy it and any attachments thereto immediately.

Under no circumstances will the Cape Peninsula University of Technology or the sender of this email be liable to any party for any direct, indirect, special or other consequential damages for any use of this e-mail. For the detailed e-mail disclaimer please refer to , CPUT Disclaimer or call +27 (0)21 460 3911.