Skip to Content.
Sympa Menu

rare-users - Re: [RARE-users] Nanog 86 - BGP CT interop presentation

Subject: RARE user and assistance email list

List archive

Re: [RARE-users] Nanog 86 - BGP CT interop presentation


Chronological Thread 
  • From: mc36 <>
  • To: Kaliraj Vairavakkalai <>, Natrajan Venkataraman <>, "" <>, Frédéric LOUI <>
  • Subject: Re: [RARE-users] Nanog 86 - BGP CT interop presentation
  • Date: Fri, 16 Sep 2022 20:06:15 +0200

hi,
frederic have some documentation on how to have the packets in docker...
please note that the packets will be handled within the rtr,jar and not
by linux... "sho ipv4 socket inet" should give you the right output...
thanks,
cs

On 9/13/22 09:00, Kaliraj Vairavakkalai wrote:
Hi Csaba,

I was able to run your automated tests inside the docker environment, using
instructinos you shared earlier.

But I was not able to make cRPD and cRTR containers talk BGP to each other.

Can you explain how to use socat? You had said something about it earlier.

Also, I don t see bgp listen port to be created in the freeRtr docker
instance.

root@ch-pe26:~# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

62d8c9084e4b crtr "/sbin/runit-init.sh" 6 hours ago Up 6 hours 22/tcp, 179/tcp, 830/tcp, 3784/tcp, 4784/tcp, 6784/tcp, 7784/tcp, 50051/tcp R3

be731b28bf8b crpd:22.4I20220911_2300_kaliraj "/sbin/runit-init.sh" 22 hours ago Up 22 hours 22/tcp, 179/tcp, 830/tcp, 3784/tcp, 4784/tcp, 6784/tcp, 7784/tcp, 50051/tcp R0

root@R3:/src# ./tw.sh rout-bgp605 capture r1 eth1 capture r2 eth1

- 0/release: starting process

- 0/release: stopping process

- 0/version: starting process

- 0/version: stopping process

- oobase=20001

- slot=0

- paralell=0

- jvm=java -Xmx256m -jar rtr.jar

- release=freeRouter v22.8.29-cur, done by cs@nop.

- version=22.8.29

<snip>

* ---------- starting 1 workers ----------

* ---------- err=0 trc=0 ret=0 don=0 ned=1 tot=1 tim=00:00:00 ----------
rout-bgp605.tst ----------

* test: ebgp with ctp

- 0/r1: starting process

- 0/r2: starting process

- 0/r3: starting process

- 0/r1: pinging 2.2.2.2 vrf v1 sou lo0.

- 0/r1: pinging 2.2.2.3 vrf v1 sou lo0.

- 0/r1: pinging 4321::2 vrf v1 sou lo0.

- 0/r1: pinging 4321::3 vrf v1 sou lo0.

- 0/r2: pinging 2.2.2.1 vrf v1 sou lo0.

- 0/r2: pinging 2.2.2.3 vrf v1 sou lo0.

- 0/r2: pinging 4321::3 vrf v1 sou lo0.

- 0/r2: pinging 4321::1 vrf v1 sou lo0.

- 0/r3: pinging 2.2.2.1 vrf v1 sou lo0.

- 0/r3: pinging 2.2.2.2 vrf v1 sou lo0.

- 0/r3: pinging 4321::1 vrf v1 sou lo0.

- 0/r3: pinging 4321::2 vrf v1 sou lo0.

- 0/r1: pinging 3.3.3.2 vrf v1.

- 0/r3: pinging 3.3.3.1 vrf v1.

- 0/r1: pinging 3.3.4.2 vrf v1.

- 0/r3: pinging 3.3.4.1 vrf v1.

press q to quit test:q

- 0/r1: stopping process

- 0/r2: stopping process

- 0/r3: stopping process

* ../cfg/rout-bgp605.tst;rout-bgp605.tst;success;ebgp with ctp

- summary: 2022-09-13 04:42:50, took 00:05:35, with 1 workers, on 1 cases, 0
failed, 0 traces, 0 retries

error cfgInit.stopRouter:cfgInit.java:1095 shutdown code=1 reason=finished

root@R3:/src#

Then I tried to manually launch rtr.jar in container R3 (172.17.0.4) to talk
BGP to cRPD container R0 (172.17.0.2).

I am able to see the cRPD sent bgp tcp pkts inside R3 interface eth0. But not
the other way round. There is no bgp listen port on RTR side:

root@R3:/# ss -lt

State Recv-Q Send-Q
Local Address:Port
Peer Address:Port Process

root@R3:/#

root@R3:/src# java -Xmx512m -jar rtr.jar routerc R3 // is this the
right way to launch the non-test mode?

#### ##################

## ##

## ## ### ##### ##### ## ### ## ## ###

#### ### ## ## ## ## ## ### ## ## ### ##

## ## ## ####### ####### ## ## ## ## ##

## ## ## ## ## ## ##

## ## ## ## ## ## ## ## ##

## ## ##### ##### ## ## ##

freeRouter v22.8.29-cur, done by cs@nop.

place on the web: http://www.freertr.org/

license: http://creativecommons.org/licenses/by-sa/4.0/

quote1: make the world better

quote2: if a machine can learn the value of human life, maybe we can too

quote3: keep it stupid simple

quote4: be liberal in what you accept, and conservative in what you send

quote5: the beer-ware license for selected group of people:

cs@nop wrote these files. as long as you retain this notice you

can do whatever you want with this stuff. if we meet some day, and

you think this stuff is worth it, you can buy me a beer in return

info cfgInit.doInit:cfgInit.java:771 booting

info cfgInit.doInit:cfgInit.java:784 no hw config found

info cfgInit.doInit:cfgInit.java:788 no sw config found

info cfgInit.doInit:cfgInit.java:952 initializing hardware

info cfgInit.doInit:cfgInit.java:958 applying defaults

info cfgInit.doInit:cfgInit.java:979 applying configuration

info cfgInit.doInit:cfgInit.java:1014 boot completed

welcome

line ready

router#

router#show ipv4 bgp 1 ctp su

neighbor as learn accept will done uptime

172.17.0.2 200 0 0 0 0 never

router#show running-config

hostname router

no buggy

!

!

vrf definition v1

rd 1:1

label4mode per-prefix

label6mode per-prefix

exit

!

router bgp4 1

vrf v1

local-as 100

router-id 172.17.0.4

address-family ctp

neighbor 172.17.0.2 remote-as 200

neighbor 172.17.0.2 local-as 100

neighbor 172.17.0.2 address-family ctp

neighbor 172.17.0.2 distance 20

exit

!

router#show interfaces

router#

I am trying to form the session over the following interface which is present
in the R3 container:

root@R3:/# ip addr show eth0

44: eth0@if45: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
UP group default

link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0

inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0

valid_lft forever preferred_lft forever

inet6 2001:db8:1::242:ac11:4/64 scope global nodad

valid_lft forever preferred_lft forever

inet6 fe80::42:acff:fe11:4/64 scope link

valid_lft forever preferred_lft forever

root@R3:/# ping 172.17.0.2

PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.

64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.258 ms

^C

--- 172.17.0.2 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.258/0.258/0.258/0.000 ms

Thanks

Kaliraj

*From: *Kaliraj Vairavakkalai <>
*Date: *Monday, September 12, 2022 at 12:24 PM
*To: *Natrajan Venkataraman <>, mc36 <>
*Subject: *Re: Nanog 86 - BGP CT interop presentation

Sure Nats. No issues.

Meanwhile I am trying to install freertr inside a docker container.

Thanks

Kaliraj

*From: *Natrajan Venkataraman <>
*Date: *Monday, September 12, 2022 at 10:42 AM
*To: *Kaliraj Vairavakkalai <>, mc36 <>
*Subject: *Re: Nanog 86 - BGP CT interop presentation

Hi kaliraj,

Shall I get back to you by tomorrow? I am working on a customer blocker today.

Thanks,

-Nats-

*From: *Kaliraj Vairavakkalai <>
*Date: *Sunday, September 11, 2022 at 10:40 PM
*To: *mc36 <>, Natrajan Venkataraman <>
*Subject: *Nanog 86 - BGP CT interop presentation

Hi Friends,

Firstly,

hope you noticed the bgp-ct draft update: https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ct-00#page-35 <https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ct-00#page-35>

Welcome Csaba as co-author of the draft :-)

Further,

I have been busy with my day job, and haven t followed up on next steps
regarding our Nanog presentation.

I know both of you have been in the same boat. :-)

So, because the nanog dates are coming closer, I wanted to restart the
discussion..

Should we submit presentation proposal?

Here is the link:

https://www.nanog.org/program/call-presentations/
<https://www.nanog.org/program/call-presentations/>

I see they have given a sample presentation template. PFA the same.

Csaba, can you make a ppt from the screen captures in your lab, and submit?

You can present remotely while Nats can be in the room. (I will also be
attending remotely)

We can keep the MD-VPN use case as discussed earlier.

Topology that we were discussing earlier:

NREN GEANT
NREN

pe11---+ +---asbr11
asbr31----+ +-----pe31

/ | | \
/ | | \

[ce1] p1 asbr21---p2---asbr22
p3 [ce2]

\ | | /
\ | | /

pe12---+ +---asbr12
asbr32----+ +-----pe32

(colored-tunnels) (best-effort)
(colored-tunnels)

as4 as1 as2
as3 as5

(junos AS) (freertr AS)
(junos AS)

I think you needed some help on the Junos PE configurations to originate
BGP-CT routes?

Here is snippet of the relevant config from a junos PE. It should work on
vMX/vSRX also.

Pls let me know if you face any issues with these configs.

> show configuration routing-options

route-distinguisher-id 1.1.1.1;

resolution {

preserve-nexthop-hierarchy;

}

transport-class {

name gold {

color 100;

tunnel-egress {

end-point 1.1.1.1;

}

}

}

[edit]

# show protocols mpls

label-switched-path toASBR13-bronze {

to 1.1.1.3;

transport-class bronze;

}

[edit]

# run show route 1.1.1.1 table junos-rti-tc-100.inet.3

junos-rti-tc-100.inet.3: 5 destinations, 9 routes (5 active, 0 holddown, 0
hidden)

+ = Active Route, - = Last Active, * = Both

1.1.1.1/32 *[Direct/6/-51] 1d 10:44:54

Receive

[edit]

# run show route table bgp.transport.3 match-prefix
*1.1.1.1 community transport-target:0:100

bgp.transport.3: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

1.1.1.1:34:1.1.1.1/96

*[Direct/6/-51] 00:04:00

Receive

# show policy-options policy-statement export-bgp

term 2 {

from {

protocol direct;

rib bgp.transport.3;

}

then {

next-hop self;

accept;

}

}

[edit]

# run show route table bgp.transport.3 match-prefix
*1.1.1.1 community transport-target:0:100 extensive

bgp.transport.3: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)

1.1.1.1:34:1.1.1.1/96 (1 entry, 1 announced)

TSI:

Page 0 idx 0, (group toAs1BNs type Internal) Type 1 val 0x14297ca0 (adv_entry)

Advertised metrics:

Flags: Nexthop Change

Nexthop: Self

Localpref: 100

AS path: [1] I

Communities: transport-target:0:100

Label: 3

Advertise: 00000007

Path 1.1.1.1:34:1.1.1.1

Vector len 4. Val: 0

*Direct Preference: 6/-51

Next hop type: Receive, Next hop index: 0

Address: 0xa04dddc

Next-hop reference count: 16, key opaque
handle: 0x0, non-key opaque handle: 0x0

State: <Secondary Active NotInstall Int>

Local AS: 1

Age: 4:18

Validation State: unverified

Task: ServiceMapping

Announcement bits (1): 2-BGP_RT_Background

AS path: I

Communities: transport-target:0:100

Primary Routing Table: junos-rti-tc-100.inet.3

Thread: junos-main

[edit]

# <>

Thanks

Kaliraj

Juniper Business Use Only

Juniper Business Use Only


Juniper Business Use Only




Archive powered by MHonArc 2.6.19.

Top of Page