ODL PCEP with Junos


adam
 

Hi folks,

Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones.
I'm using Boron-SR4 and 15.1F6-S5.6
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs
Not I changed the setup to loopbacks and I'm not able to get PCEP into "PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW".
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think).

Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks

adam


Olivier Dugeon
 

Hello Adam,

We, have a running configuration with Juniper router and ODL since version Berylium and JunOS 14.x. Currently I'm using Boron and Carbon for ODL and JunOS 15.1F6.9 on M7i and JunOS 17.3R1.10 on MX960 without any problem.

To be able to collect and enforce LSP through PCEP, you must check that JUNOS SDN Software Suite is install (sh version) or check that /usr/sbin/pccd binary is correctly install (just perform a 'start shell' at the JunOS CLI prompt and then 'ls -l /usr/sbin/pccd' at % prompt). You could also check that the pccd daemon is up and running (once shell started on the router)

% ps axu | grep pccd
root 91513  0.0  0.8  9356  5908  ??  S    16Sep16  54:12.80 /usr/sbin/pccd -N

Then, PCCD must be activate at mpls level:

protocol {
    mpls {
        lsp-external-controller pccd;
    }
}

Then, you must configure the PCC to be able to connect to ODL:

protocol {
    pce {
        pce odl {
            local-address <Loopback IP>;
            destination-ipv4-address <ODL IP>;
            destination-port 4189;
            pce-type active stateful;
            lsp-provisioning;
        }
    }
}

I'm using the Loopback IP address for the Junos Router and the IP address of ODL which is of course routable.

To verify, check first that the router is able to join the ODL:

lab@M7i>ping <ODL IP> source <Loopback IP>

And then the PCEP session

lab@M7i>show path-computation-client status
lab@M7i>show path-computation-client active-pce

From ODL side, nothing to do a part if you would also collect the network topology through BGP-LS.

You could performed some debugging by activate trace for PCE on JunOS with :

set protocol pcep pce odl traceoptions flag pcep

Can you send me your configuration ?

Regards

Olivier

Le 17/11/2017 à 13:23, adamv0025@... a écrit :
Hi folks,

Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones. 
I'm using Boron-SR4 and 15.1F6-S5.6 
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs 
Not I changed the setup to loopbacks and I'm not able to get PCEP into "PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW". 
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think). 

Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks
 
adam

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


_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.


adam
 

Thank you very much Oliver,

 

Setting the lsp-external-controller pccd  – did the trick.

I had “ODL” in there as that is the name of my pce-id  -you know the vendor documentation they sometimes don’t keep a consistent naming convention throughout the cli example – and I thought this is the case.

My bad J

 

Excellent now I can even push LSPs from ODL and see them on the box.

 

There’s just one thing that’s missing –and that is, I can’t see Bypass LSPs in the XML output for some reason.

Is it a bug in my version of ODL or Junos or an expected behaviour in PCEP please?

I was hoping to see all the LSPs including the backup ones, to help me verify my LSP setup visually.

 

 

 

And one last thing I’m using Pathman pointed at ODL to display LSPs and draw network graphs, and for some reason it gets stuck when it displays paths of existing LSPs.  

Also I noticed the LSPs are displayed form first hop onwards (missing LSP head-end) in Pathman.

 

adam

 

From: Olivier Dugeon [mailto:olivier.dugeon@...]
Sent: Friday, November 17, 2017 4:49 PM
To: adamv0025@...; opendaylight-users@...; bgpcep-users@...
Subject: Re: [bgpcep-users] ODL PCEP with Junos

 

Hello Adam,

We, have a running configuration with Juniper router and ODL since version Berylium and JunOS 14.x. Currently I'm using Boron and Carbon for ODL and JunOS 15.1F6.9 on M7i and JunOS 17.3R1.10 on MX960 without any problem.

To be able to collect and enforce LSP through PCEP, you must check that JUNOS SDN Software Suite is install (sh version) or check that /usr/sbin/pccd binary is correctly install (just perform a 'start shell' at the JunOS CLI prompt and then 'ls -l /usr/sbin/pccd' at % prompt). You could also check that the pccd daemon is up and running (once shell started on the router)

% ps axu | grep pccd
root 91513  0.0  0.8  9356  5908  ??  S    16Sep16  54:12.80 /usr/sbin/pccd -N

Then, PCCD must be activate at mpls level:

protocol {
    mpls {
        lsp-external-controller pccd;
    }
}

Then, you must configure the PCC to be able to connect to ODL:

protocol {
    pce {
        pce odl {
            local-address <Loopback IP>;
            destination-ipv4-address <ODL IP>;
            destination-port 4189;
            pce-type active stateful;
            lsp-provisioning;
        }
    }
}

I'm using the Loopback IP address for the Junos Router and the IP address of ODL which is of course routable.

To verify, check first that the router is able to join the ODL:

lab@M7i>ping <ODL IP> source <Loopback IP>

And then the PCEP session

lab@M7i>show path-computation-client status
lab@M7i>show path-computation-client active-pce

From ODL side, nothing to do a part if you would also collect the network topology through BGP-LS.

You could performed some debugging by activate trace for PCE on JunOS with :

set protocol pcep pce odl traceoptions flag pcep

Can you send me your configuration ?

Regards

Olivier

 

Le 17/11/2017 à 13:23, adamv0025@... a écrit :

Hi folks,
 
Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones. 
I'm using Boron-SR4 and 15.1F6-S5.6 
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs 
Not I changed the setup to loopbacks and I'm not able to get PCEP into "PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW". 
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think). 
 
Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks
 
adam
 
_______________________________________________
bgpcep-users mailing list
bgpcep-users@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-users
 

 


Olivier Dugeon
 

Hello Adam,


Le 17/11/2017 à 20:40, adamv0025@... a écrit :

Thank you very much Oliver,

 

Setting the lsp-external-controller pccd  – did the trick.

Yep. This is mandatory. It is the command that launch the pccd daemon on the router. Note also that this is only usable at the master configuration i.e. it is not possible to use the PCC feature within a logical system.

I had “ODL” in there as that is the name of my pce-id  -you know the vendor documentation they sometimes don’t keep a consistent naming convention throughout the cli example – and I thought this is the case.

My bad J

 

Excellent now I can even push LSPs from ODL and see them on the box.

 

There’s just one thing that’s missing –and that is, I can’t see Bypass LSPs in the XML output for some reason.

Is it a bug in my version of ODL or Junos or an expected behaviour in PCEP please?

I was hoping to see all the LSPs including the backup ones, to help me verify my LSP setup visually.

I don't play with Bypass LSP. So I can't said anything on this. On do you setup such Bypass ? I only play with Backup LSPs and I got them as other LSPs in ODL.

 

 

 

And one last thing I’m using Pathman pointed at ODL to display LSPs and draw network graphs, and for some reason it gets stuck when it displays paths of existing LSPs.  

Also I noticed the LSPs are displayed form first hop onwards (missing LSP head-end) in Pathman.

Well, Pathman is a little bit buggy. First, it has been design for Cisco routers. So, there is a little difference between Cisco and Juniper when they send their LSPs configuration through PCRpt message. Cisco is reporting the operational status of the LSP as 'up' and Juniper as 'active'. Pathman expected the 'up' keyword. In addition, Junos report only RRO (now report also ERO) while Cisco report only the ERO. Both problems have been corrected and included in the last version of BGP Pathman (https://github.com/CiscoDevNet/Opendaylight-BGP-Pathman-apps/commit/80eeefc5473a1fd77a5cbe91455cb269884f65e2) and Pathman-sr (https://github.com/CiscoDevNet/pathman-sr/commit/e8bb6b9b6c6fd6e553b66e5c644deec18e1539f4). Look at the end of the diff. Which version do you use ?

We also play with the NextUI (JS behind Pathman) last year, and there is some bugs (e.g. arrow on LSPs are sometimes not draw in the correct way: arrow is draw at the beginning of the tunnel instead of end). But, I didn't look at this part since last year, so I don't know how it evolve nor if it remains compatible with latest version of JunOS and ODL. All the pre-processing is done in pathman50.py (for BGP pathman) and pathman_sr.py (for Pathman Segment Routing).

Hope is help

Regards

Olivier

 

adam

 

From: Olivier Dugeon [mailto:olivier.dugeon@...]
Sent: Friday, November 17, 2017 4:49 PM
To: adamv0025@...; opendaylight-users@...; bgpcep-users@...
Subject: Re: [bgpcep-users] ODL PCEP with Junos

 

Hello Adam,

We, have a running configuration with Juniper router and ODL since version Berylium and JunOS 14.x. Currently I'm using Boron and Carbon for ODL and JunOS 15.1F6.9 on M7i and JunOS 17.3R1.10 on MX960 without any problem.

To be able to collect and enforce LSP through PCEP, you must check that JUNOS SDN Software Suite is install (sh version) or check that /usr/sbin/pccd binary is correctly install (just perform a 'start shell' at the JunOS CLI prompt and then 'ls -l /usr/sbin/pccd' at % prompt). You could also check that the pccd daemon is up and running (once shell started on the router)

% ps axu | grep pccd
root 91513  0.0  0.8  9356  5908  ??  S    16Sep16  54:12.80 /usr/sbin/pccd -N

Then, PCCD must be activate at mpls level:

protocol {
    mpls {
        lsp-external-controller pccd;
    }
}

Then, you must configure the PCC to be able to connect to ODL:

protocol {
    pce {
        pce odl {
            local-address <Loopback IP>;
            destination-ipv4-address <ODL IP>;
            destination-port 4189;
            pce-type active stateful;
            lsp-provisioning;
        }
    }
}

I'm using the Loopback IP address for the Junos Router and the IP address of ODL which is of course routable.

To verify, check first that the router is able to join the ODL:

lab@M7i>ping <ODL IP> source <Loopback IP>

And then the PCEP session

lab@M7i>show path-computation-client status
lab@M7i>show path-computation-client active-pce

>From ODL side, nothing to do a part if you would also collect the network topology through BGP-LS.

You could performed some debugging by activate trace for PCE on JunOS with :

set protocol pcep pce odl traceoptions flag pcep

Can you send me your configuration ?

Regards

Olivier

 

Le 17/11/2017 à 13:23, adamv0025@... a écrit :

Hi folks,
 
Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones. 
I'm using Boron-SR4 and 15.1F6-S5.6 
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs 
Not I changed the setup to loopbacks and I'm not able to get PCEP into "PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW". 
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think). 
 
Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks
 
adam
 
_______________________________________________
bgpcep-users mailing list
bgpcep-users@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-users
 

 



adam
 

Hello Oliver,

 

Thank you very much for tons of useful info.

 

Interesting, so when you say you can see backup LSPs which of these 3 do you mean:

1)      Bypass: set protocols mpls label-switched-path TEST node-link-protection (or just link-protection)

2)      Detour: set protocols mpls label-switched-path TEST fast-reroute

3)      Standby: set protocols mpls label-switched-path TEST secondary ALTERNATE_PATH_TO_PE2 standby  

 

I’m using option 1)

 

Looking at the diffs and comparing with my setup I’m indeed using “version = '5.2d'” of pathman50.py and “version = '5.9j'” of pathman_sr.py –which both have all the fixes in then.

So it might be some other problem preventing me from installing LSPs using Pathman.

 

But you got me thinking about the ODL version, currently I’m on Boron SR4 but I’ll give it a shot with Carbon.

And regarding JunOS 17.3R1.10 on MX960 is that production or just lab –how is that one working out for you please, is that because of need for better SPRING support?

 

adam

 

From: Olivier Dugeon [mailto:olivier.dugeon@...]
Sent: Monday, November 20, 2017 2:04 PM
To: adamv0025@...; opendaylight-users@...; bgpcep-users@...
Subject: Re: [bgpcep-users] ODL PCEP with Junos

 

Hello Adam,

 

Le 17/11/2017 à 20:40, adamv0025@... a écrit :

Thank you very much Oliver,

 

Setting the lsp-external-controller pccd  – did the trick.

Yep. This is mandatory. It is the command that launch the pccd daemon on the router. Note also that this is only usable at the master configuration i.e. it is not possible to use the PCC feature within a logical system.

I had “ODL” in there as that is the name of my pce-id  -you know the vendor documentation they sometimes don’t keep a consistent naming convention throughout the cli example – and I thought this is the case.

My bad J

 

Excellent now I can even push LSPs from ODL and see them on the box.

 

There’s just one thing that’s missing –and that is, I can’t see Bypass LSPs in the XML output for some reason.

Is it a bug in my version of ODL or Junos or an expected behaviour in PCEP please?

I was hoping to see all the LSPs including the backup ones, to help me verify my LSP setup visually.

I don't play with Bypass LSP. So I can't said anything on this. On do you setup such Bypass ? I only play with Backup LSPs and I got them as other LSPs in ODL.

 

 

 

And one last thing I’m using Pathman pointed at ODL to display LSPs and draw network graphs, and for some reason it gets stuck when it displays paths of existing LSPs.  

Also I noticed the LSPs are displayed form first hop onwards (missing LSP head-end) in Pathman.

Well, Pathman is a little bit buggy. First, it has been design for Cisco routers. So, there is a little difference between Cisco and Juniper when they send their LSPs configuration through PCRpt message. Cisco is reporting the operational status of the LSP as 'up' and Juniper as 'active'. Pathman expected the 'up' keyword. In addition, Junos report only RRO (now report also ERO) while Cisco report only the ERO. Both problems have been corrected and included in the last version of BGP Pathman (https://github.com/CiscoDevNet/Opendaylight-BGP-Pathman-apps/commit/80eeefc5473a1fd77a5cbe91455cb269884f65e2) and Pathman-sr (https://github.com/CiscoDevNet/pathman-sr/commit/e8bb6b9b6c6fd6e553b66e5c644deec18e1539f4). Look at the end of the diff. Which version do you use ?

We also play with the NextUI (JS behind Pathman) last year, and there is some bugs (e.g. arrow on LSPs are sometimes not draw in the correct way: arrow is draw at the beginning of the tunnel instead of end). But, I didn't look at this part since last year, so I don't know how it evolve nor if it remains compatible with latest version of JunOS and ODL. All the pre-processing is done in pathman50.py (for BGP pathman) and pathman_sr.py (for Pathman Segment Routing).

Hope is help

Regards

Olivier

 

adam

 

From: Olivier Dugeon [mailto:olivier.dugeon@...]
Sent: Friday, November 17, 2017 4:49 PM
To: adamv0025@...; opendaylight-users@...; bgpcep-users@...
Subject: Re: [bgpcep-users] ODL PCEP with Junos

 

Hello Adam,

We, have a running configuration with Juniper router and ODL since version Berylium and JunOS 14.x. Currently I'm using Boron and Carbon for ODL and JunOS 15.1F6.9 on M7i and JunOS 17.3R1.10 on MX960 without any problem.

To be able to collect and enforce LSP through PCEP, you must check that JUNOS SDN Software Suite is install (sh version) or check that /usr/sbin/pccd binary is correctly install (just perform a 'start shell' at the JunOS CLI prompt and then 'ls -l /usr/sbin/pccd' at % prompt). You could also check that the pccd daemon is up and running (once shell started on the router)

% ps axu | grep pccd
root 91513  0.0  0.8  9356  5908  ??  S    16Sep16  54:12.80 /usr/sbin/pccd -N

Then, PCCD must be activate at mpls level:

protocol {
    mpls {
        lsp-external-controller pccd;
    }
}

Then, you must configure the PCC to be able to connect to ODL:

protocol {
    pce {
        pce odl {
            local-address <Loopback IP>;
            destination-ipv4-address <ODL IP>;
            destination-port 4189;
            pce-type active stateful;
            lsp-provisioning;
        }
    }
}

I'm using the Loopback IP address for the Junos Router and the IP address of ODL which is of course routable.

To verify, check first that the router is able to join the ODL:

lab@M7i>ping <ODL IP> source <Loopback IP>

And then the PCEP session

lab@M7i>show path-computation-client status
lab@M7i>show path-computation-client active-pce

>From ODL side, nothing to do a part if you would also collect the network topology through BGP-LS.

You could performed some debugging by activate trace for PCE on JunOS with :

set protocol pcep pce odl traceoptions flag pcep

Can you send me your configuration ?

Regards

Olivier

 

Le 17/11/2017 à 13:23, adamv0025@... a écrit :

Hi folks,
 
Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones. 
I'm using Boron-SR4 and 15.1F6-S5.6 
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs 
Not I changed the setup to loopbacks and I'm not able to get PCEP into "PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW". 
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think). 
 
Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks
 
adam
 
_______________________________________________
bgpcep-users mailing list
bgpcep-users@...
https://lists.opendaylight.org/mailman/listinfo/bgpcep-users
 

 

 


Hariharan Ananthakrishnan
 

Adam,

I see Olivier sent the configs. Here is a blog on JUNOS/PCE. Though the blog mentions XTC, it works with ODL too.

http://www.packetdesign.com/blog/segment-routing-xtc-junos-packet-design/

- Hari

On 17/11/2017, 04:29, "bgpcep-users-bounces@... on behalf of adamv0025@..." <bgpcep-users-bounces@... on behalf of adamv0025@...> wrote:

Hi folks,

Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones.
I'm using Boron-SR4 and 15.1F6-S5.6
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs
Not I changed the setup to loopbacks and I'm not able to get PCEP into "PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW".
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think).

Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks

adam

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


adam
 

Oh yeah I got that bit working,
The part I did setup incorrectly was: lsp-external-controller pccd

Now I'm struggling with ODL PCEP not displaying or Junos not Exporting the Bypass (backup) LSPs and I'd like to be able to graph those too.

adam

-----Original Message-----
From: Hariharan Ananthakrishnan [mailto:hari@...]
Sent: Tuesday, November 28, 2017 4:50 PM
To: adamv0025@...; opendaylight-
users@...; bgpcep-users@...
Subject: Re: [bgpcep-users] ODL PCEP with Junos

Adam,

I see Olivier sent the configs. Here is a blog on JUNOS/PCE. Though the blog
mentions XTC, it works with ODL too.

http://www.packetdesign.com/blog/segment-routing-xtc-junos-packet-
design/

- Hari

On 17/11/2017, 04:29, "bgpcep-users-bounces@... on
behalf of adamv0025@..." <bgpcep-users-
bounces@... on behalf of
adamv0025@...> wrote:

Hi folks,

Does anyone have a working ODL PCEP with Junos -that is to be able to see
provisioned LSPs and be able to provision new ones.
I'm using Boron-SR4 and 15.1F6-S5.6
When I used directly attached interface I was able to get PCEP session up
(TX/RX keepalives) -but was not able to provision LSPs or see provisioned
LSPs
Not I changed the setup to loopbacks and I'm not able to get PCEP into
"PCE
status: PCE_STATE_CONNECTED" it's stuck in "PCE_STATE_NEW".
Only session to a remote IOS-XR is working -same loopback ip range as
junipers (so no filters blocking no routing problem just Junos-OLD
interworking I think).

Would appreciate any pointers (or success stories for Junos with ODL PCEP)
Thanks

adam

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