Skip to Content.
Sympa Menu

rare-dev - [rare-dev] RARE on Tofino model

Subject: Rare project developers

List archive

[rare-dev] RARE on Tofino model


Chronological Thread 
  • From: Alexander Gall <>
  • To: mc36 <>
  • Cc: <>
  • Subject: [rare-dev] RARE on Tofino model
  • Date: Tue, 14 Jun 2022 08:24:37 +0200

Hi

I'm reproducing the demo I've made running the RARE release on the
Tofino model and some questions popped up.

For now, I'm still using the built-in JSON ports file with the veths,
i.e. veth0 is connected to Tofino port #0 etc.

Baically, what I'm doing is add an interface sdn1 on frontpanel-1/0,
configure an address on it and on veth1 and do a ping. It works, but
I'm actually confused why it works :/

The thing is that I've realized for the first time that the OPR
status of the Tofino ports in the model is always DWN, e.g.

bf-sde.pm> show -p 1/0
-----+----+---+----+-------+----+--+--+---+---+---+--------+----------------+----------------+-
PORT |MAC |D_P|P/PT|SPEED |FEC |AN|KR|RDY|ADM|OPR|LPBK |FRAMES RX |FRAMES
TX |E
-----+----+---+----+-------+----+--+--+---+---+---+--------+----------------+----------------+-
1/0 |15/0| 0|0/ 0|10G |NONE|Ds|Au|YES|ENB|DWN| NONE | 8|
10|*

This is despite the model logging

:06-14 08:07:26.582773: PORT UP asic 0 port 0

AFAICT, this is happening at least for SDE 9.6.x through 9.7.x. For SDE
9.8.0 and 9.9.0, the OPR status is reported as UP when a port is
connected to it via the JSON port mapping. Can you confirm this?

The model seems to ignore the OPR status and forwards packets in both
direction. What confuses me with freerouter is that the port is
reported to be up anyway right after adding the config for sdn1

rare(cfg)#vrf definition foo


rare(cfg-vrf)#exit


rare(cfg)#interface sdn1


rare(cfg-if)#vrf forwarding foo


rare(cfg-if)#ipv4 address 192.168.1.1 /24


rare(cfg-if)#exit


rare(cfg)#server p4lang p4


rare(cfg-server)#export-port sdn1 frontpanel-1/0 10 2 1 0


rare(cfg-server)#export-vrf foo 2


rare(cfg-server)#sh int sdn1


sdn1 is up
description:
state changed 3 times, last at 2022-06-14 08:14:27, 00:00:23 ago
last packet input never ago, output never ago, drop never ago
type is sdn, hwaddr=004b.4853.5536, mtu=1500, bw=8000kbps, vrf=foo
ipv4 address=192.168.1.1/24, mask=255.255.255.0, ifcid=545466702
received 0 packets (0 bytes) dropped 0 packets (0 bytes)
transmitted 0 packets (0 bytes) macsec=false sgt=false

And ping works

rare(cfg)#exit


rare#ping 192.168.1.2 vrf foo


pinging 192.168.1.2, src=null, vrf=foo, cnt=5, len=64, tim=1000,
gap=0, ttl=255, tos=0, sgt=0, flow=0, fill=0, sweep=false, multi=false
.!!!!
result=80%, recv/sent/lost/err=4/5/1/0, rtt
min/avg/max/sum=16/252/956/2037, ttl min/avg/max=64/64/64, tos
min/avg/max=0/0/0

After a warm reload, it still briefly works, but then sdn1 changes
state to down and never comes back up.

So my questions are

* Is this a bug in the Tofino model up to 9.7?
* Why does freerouter (sort of) still work (i.e. ignoring the
actual oper status)?

--
Alex



Archive powered by MHonArc 2.6.19.

Top of Page