[j-nsp] What exactly causes inconsistent RTT seen using ping utility in Junos?

Martin T m4rtntns at gmail.com
Thu Apr 25 18:33:29 EDT 2019


Hi Saku,

> So 80% of time, work needed to compete for access to the CPU.

Yes. I hesitated because when I compare the ping results and vFP CPU
utilization plus microkernel threads CPU usage during the route churn
and without the route churn, then while CPU utilization clearly
increased, it did not *seem* to increase enough to explain such
drastic RTT fluctuation and even some packet loss. On the other hand,
I have absolutely no idea how the microkernel schedules its
processes/threads or how the virtualized forwarding plane distributes
those four CPU cores it has.
Graphical representation of the output of "show linux cpu usage" PFE
CLI command can be seen here: https://i.imgur.com/f1vMAn4.png and
https://i.imgur.com/vm5nr2S.png. First graph represent CPU cores
utilization under normal conditions. Second graph represents CPU cores
utilization during the route churn. Those four CPU cores are the host
machine CPU cores where the quemu virtualizes the forwarding plane.


> If I understood your explanation right (I may not have):

At this point, I was focusing on the ICMP "echo request" message only.
Network topology seen from Linux is following:

vcp-vmx1[vcp-int-vmx1] <-> [2]br-int-vmx1[3] <->
[vfp-int-vmx1]vfp-vmx1[ge-0.0.9-vmx1]

vcp-vmx1 is RE running Junos and vcp-int-vmx1 is em1 interface in
Junos. br-int-vmx1(Linux bridge) serves the similar purpose to
integrated switch in SCB seen with the "show chassis ethernet-switch"
command in Junos. vfp-int-vmx1 is the line-card Ethernet interface
used by microkernel to communicate with RE. ge-0.0.9-vmx1 represents
the ge-0/0/9 seen in Junos which is directly connected to TAP device
ge-0.0.9-vmx1:

martin at PC:~$ sudo ethtool -i ge-0.0.9-vmx1
driver: tun
version: 1.6
firmware-version:
expansion-rom-version:
bus-info: tap
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
martin at PC:~$

So when I execute the "ping 10.55.55.1 source 10.55.55.2 count 1"
command in RE, then the ICMP "echo request" package travels out from
the RE via vcp-int-vmx1 interface, through the Linux bridge into the
line-card via vfp-int-vmx1 and then to ge-0.0.9-vmx1 in host machine
which has 10.55.55.1 configured. I did packet capture simultaneously
on vfp-int-vmx1 and ge-0.0.9-vmx1 interfaces.


Martin


More information about the juniper-nsp mailing list