Like everyone I'm facing issues to take a full BGP routing table with my peers on CCR. I've a CCR1036 with 20 peers filtered to default route only, on that configuration everything runs fine. The things changes when I start to take down the filters to get full routing table. Average of 15~20% CPU, but always 1 core at 100%. I know, that it's a well know issue.
Well, lot a discussions in the community and always point to ROS 7. Sure, that should be a solution soon, I expect. The fact it's that I can't wait too long, so I'm looking for another solutions. Buying the CCR1072 isn't solve anything, is not a core number issue. So I saw the Kevin Mayrs's presentation at MUM that opened my mind to CHR. I've in my datacenter a HP server with 10GB port and some resource to give a try. It's not a VMware, KVM or Hyper-V but a XCP-ng hypervisor (XenServer based). Nothing strange at the moment, Installed and configured to receive one full routing table. As expected the table goes up quick and no CPU stuck.
Now the part that I don't get. I've trouble with some bandwidth tests, sending data to VM router it's working fine as can see below, but getting out isn't well. I can't get more than 1.1Gbps on TX. I tried to change the GRO on/off, but doesn't change. I'm testing with another 4 CCR1036 with 10GB into a switch to produce a maximum btest possible. I'm new with CHR, am I do someting wrong or missing something?
Here is my setup and the results as well:
Code: Select all
/system resource pr
uptime: 1h48m3s
version: 6.46.4 (stable)
build-time: Feb/21/2020 11:26:37
free-memory: 3161.7MiB
total-memory: 3680.0MiB
cpu: Intel(R)
cpu-count: 16
cpu-frequency: 2593MHz
cpu-load: 1%
free-hdd-space: 987.4MiB
total-hdd-space: 1020.1MiB
write-sect-since-reboot: 9256
write-sect-total: 9257
architecture-name: x86_64
board-name: CHR
platform: MikroTik
/ip route print count-only
761793
/interface ethernet pr detail
Flags: X - disabled, R - running, S - slave
0 R name="ether1" default-name="ether1" mtu=1500 mac-address=16:DB:9C:1B:F7:65 orig-mac-address=16:DB:9C:1B:F7:65
arp=enabled arp-timeout=auto loop-protect=default loop-protect-status=off loop-protect-send-interval=5s
loop-protect-disable-time=5m disable-running-check=no auto-negotiation=yes
advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full,2500M-full,5000M-full,10000M-full
full-duplex=yes cable-settings=default speed=10Gbps
1 R name="ether2" default-name="ether2" mtu=1500 mac-address=FE:1E:70:43:81:1E orig-mac-address=FE:1E:70:43:81:1E
arp=enabled arp-timeout=auto loop-protect=default loop-protect-status=off loop-protect-send-interval=5s
loop-protect-disable-time=5m disable-running-check=no auto-negotiation=yes
advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full,2500M-full,5000M-full,10000M-full
full-duplex=yes cable-settings=default speed=100Mbps
Code: Select all
/interface monitor-traffic ether1
name: ether1
rx-packets-per-second: 673 869
rx-bits-per-second: 8.1Gbps
fp-rx-packets-per-second: 0
fp-rx-bits-per-second: 0bps
rx-drops-per-second: 0
rx-errors-per-second: 0
tx-packets-per-second: 31
tx-bits-per-second: 84.0kbps
fp-tx-packets-per-second: 0
fp-tx-bits-per-second: 0bps
tx-drops-per-second: 0
tx-queue-drops-per-second: 0
tx-errors-per-second: 0
-- [Q quit|D dump|C-z pause]
/interface monitor-traffic ether1
name: ether1
rx-packets-per-second: 64
rx-bits-per-second: 50.4kbps
fp-rx-packets-per-second: 0
fp-rx-bits-per-second: 0bps
rx-drops-per-second: 0
rx-errors-per-second: 0
tx-packets-per-second: 90 257
tx-bits-per-second: 1095.9...
fp-tx-packets-per-second: 0
fp-tx-bits-per-second: 0bps
tx-drops-per-second: 0
tx-queue-drops-per-second: 31 721
tx-errors-per-second: 0
-- [Q quit|D dump|C-z pause]
Here the screenshots of NIC and CPU load at RX and TX tests (in that sequence)
Any help will be welcome.
Thanks,
Luciano Tres