1

I have the following topology set on AWS where there are 4 CSR 1000v Routers deployed and Segment Routing enabled in which the Segment Routing Headend is R1 and the destination is R3.

I aim to send iperf traffic from Endpoint1(Client) to Endpoint2 (Server) with the following SR path = {R1, R2, R3, R4, R3, R2, R1, R2, and R3}. enter image description here First of all, the traffic generated by iperf from Endpoint1 is 5Mbps during the test. Using SNMP and Cacti I could get throughput across the links (GRE Tunnels) which are summarized in the following:

enter image description here The router R1 is being passed 2 times because of SR policy, so it should have had 2 times of the traffic sent (5Mbps) which means 10Mbps as Outbound throughput. However, The R1 the interface Gigabitethernet1 got nearly 7Mbps as Outbound throughput and fewer than 7Mbps on the Inbound, (because the R1 has been passed twice 7Mbps/2= 3.5Mbps for one time passed) which I really don't understand why. I double checked there are no packet drops on the router.

Another argument that the traffic sent to the other nodes in one time is 3.5Mbps is recorded in Tunnel0 of R1 as the below figure shows, the Inbound Throughput is nearly 3.5Mbps, which means the real traffic sent across the network nodes is 3.5Mbps not as iperf generate 5Mbps. enter image description here

Here I provide some figures to better understand. The following is the GiabitEthernet1 of R4. enter image description here

Another interesting point is why the Gigabitethernet1 of R2 and R3 recorded 10Mbps? enter image description here enter image description here Does anybody have assumptions or theories?

  • 1
    erm... not that it would relate to performance, but the network diagram shows /32 subnet masks for the tunnel interfaces, but seems to say that .1 and .2 were interface IP addresses at the end of the given tunnels. That can't be right. Either the subnet mask on the tunnel is different ( where /30 would make .1 and .2 plausible), or it's something else - but not /32. Also be aware 172.[0--15].x.x are NOT RFC 1918 private IP addresses. Avoid using them. 172.[16-31].x.x would be safe to use. – Marc 'netztier' Luethi Jul 2 '19 at 15:09
  • 1
    CSRs usually come with a global traffic shaper which limits the total throughput. You wouldn't happen to run the 10Mbps license, would you? – Marc 'netztier' Luethi Jul 2 '19 at 15:15
  • @Marc'netztier'Luethi Thanks! I have edited the tunnels' mask. It is for /30 just typo mistake while I was doing the figure. I'm sorry I don't get what you mean by 10Mbps Licence. Also, if using 172.[0--15].x.x would face problem? I thought it's a private network. – Khalil Mebarkia Jul 2 '19 at 15:24
  • @Marc'netztier'Luethi Well, I have read about 10Mbps license thing. (cisco.com/c/en/us/products/collateral/routers/…) Obviously, My CSRs are deployed in t2.medium EC2 instance type, with 2vCPU and 4Gb RAM, so I think It may support more than 10Mbps – Khalil Mebarkia Jul 2 '19 at 15:31
  • be sure to check with show platform hardware throughput level and/or show license (and subcommands). – Marc 'netztier' Luethi Jul 2 '19 at 15:41
2

Cisco CSR does not have support for SR on AWS, see here for AWS requirements/support. There is no support for SR as in SR-IOV "single root virtualization", there is support for SR as in segment routing.

ALso keep in mind that AWS EC2 performance varies by instance type. The AWS Marketplace page for the CSR 1000v lists lists 4 instance types. Though not published by AWS, there have been EC2 performance tests with published results that show the following baseline numbers for performance:

  • c4.large (0.62 Gbit/s)
  • c4.xlarge (1.24 Gbit/s)
  • c4.2xlarge (2.48 Gbit/s)
  • c4.4xlarge (4.96 Gbit/s)
  • Thanks, @Nathan L.! Well, the SR on AWS is working. My CSRs are having SR enabled and 100% working according to the given explicit path. On the other hand, I'm using EC2 t2.meduim that has 0.25 Gbps network performance, means throughput cannot exceed 250 Mbps but in my case, I'm somehow losing some packets before it arrives at the router. – Khalil Mebarkia Jul 1 '19 at 16:28
  • Just edited my response, I misread your post. I meant a different kind of SR. I'm wondering if the poor performance you're seeing is a result of how AWS abstracts the TCP/IP stack-- there's no TCP/IP under the hood, just a series of catalog calls. Perhaps the traffic isn't behaving as expected in a regular TCP/IP network because of this? – Nathan L. Jul 1 '19 at 16:36
  • To be honest, I cannot understand this behavior. I really don't know from where it comes from :/ – Khalil Mebarkia Jul 1 '19 at 16:40
  • What does the underlying AWS topology? Is each router a different VPC, subnet, etc.? – Nathan L. Jul 1 '19 at 16:51
  • Yes! Each router is deployed in different VPC in subnets. VPC peering is enabled between the VPCs (VPC1-VPC2, VPC2-VPC3, VPC3-VPC4 and VPC1-VPC4 peering connections) – Khalil Mebarkia Jul 1 '19 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.