cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
143
Views
0
Helpful
3
Replies
Highlighted
Beginner

ISR 4331, NIM-ES2-4, and traffic shaping with fair-queue

We've run into a problem and I'm hoping someone here has at least seen it and can offer some advice or a solution going forward.  We have an ISR 4331 with a NIM-ES2-4 module in it.  For the longest time,  it only had the built-in G0/0/0 and G0/0/1 interfaces active and routing and we had a fairly simply traffic shaping policy in place on it.  This router is in a remote colo facility.  The connection that points towards us is an AT&T MPLS connection (currently 10Mbps) and they have a very strict policing policy in place.  Any packet over 10Mbps gets dropped. That created issues for us so we created a traffic shaping policy that set our limit to 9.7Mbps and used fair-queuing.  Here's that config;

 

policy-map POLICY_SLAP_V2

 class class-default

 queue-limit 2048

 shape average 9700000

 fair-queue

 

policy-map parent_fairqueue

 class class-default

 shape average 9700000

  service-policy POLICY_SLAP_V2

 

int g0/0/1

 no ip address

 negotiation auto

 no cdp enable

 

int g0/0/1.778

 encapsulation dot1q 778

 ip address X.X.X.X Y.Y.Y.Y

 ip nat inside

 service-policy output parent_fairqueue

 

This fairly simple config keeps the total traffic under the 10Mbps barrier where AT&T would drop it and the fair-queue statement makes sure that our downloads don't starve our transactional systems of bandwidth.

 

We're upgrading that AT&T 10Mbps circuit to a 20Mbps circuit.  There wasn't an SFP in G0/0/2 so we had the carrier connect the new circuit to an open port on the NIM module,  G0/1/3.  The config on that port is also fairly straight forward and is a simple switch based trunk interface;

 

int g0/1/3

 switchport trunk native vlan 999

 switchport trunk allowed vlan 777

 switchport mode trunk

 bandwidth 20480

 no cdp enable

 

int vlan 777

 ip address A.A.A.A B.B.B.B

 ip nat inside

 

This is where we are running into a problem.  I'm not able to apply any QoS policy that includes queuing on the VLAN interface as it says it's not supported. I can really only do a "policy cir" type configuration which definitely works but instead of queueing the non-conforming traffic the only real option I can see is to drop the traffic.

 

If I try to apply any QoS policy to the physical interface,  queueing or not,  it just gets ignored.  In the class-map statements I've even had it match the VLAN ID and it still doesn't work. 

 

Does anyone know how to apply a QoS policy to the NIM-ES2-4 interface that will actually be applied to the traffic?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
VIP Expert

Re: ISR 4331, NIM-ES2-4, and traffic shaping with fair-queue

If my reading of https://www.cisco.com/c/en/us/td/docs/routers/access/interfaces/NIM/software/configuration/guide/4_8PortGENIM.html#pgfId-1099701 is correct, the module supports some "basic" QoS, but not, I believe, to the level you need. (BTW, how you're using QoS makes perfect sense to me, although 1) you shouldn't need a shaper in your child policy too, 2) I think [?] shapers often use FQ, but being explicit should help insure you have FQ [which I'm a big fan of], and 3) your queue-limit, of 2K, might be excessive [I've usually found the ideal queue-limit is one that can handle about 1/2 of the BDP.)

Assuming I'm correct about your NIM-ES2-4 being inadequate for your QoS needs, you might consider the NIM‑1GE-CU-SFP or NIM‑2GE-CU-SFP, or trunk from G0/0/0 or G0/0/1 to an "inexpensive" L2 switch supporting a SFP port.

View solution in original post

3 REPLIES 3
Highlighted
VIP Expert

Re: ISR 4331, NIM-ES2-4, and traffic shaping with fair-queue

If my reading of https://www.cisco.com/c/en/us/td/docs/routers/access/interfaces/NIM/software/configuration/guide/4_8PortGENIM.html#pgfId-1099701 is correct, the module supports some "basic" QoS, but not, I believe, to the level you need. (BTW, how you're using QoS makes perfect sense to me, although 1) you shouldn't need a shaper in your child policy too, 2) I think [?] shapers often use FQ, but being explicit should help insure you have FQ [which I'm a big fan of], and 3) your queue-limit, of 2K, might be excessive [I've usually found the ideal queue-limit is one that can handle about 1/2 of the BDP.)

Assuming I'm correct about your NIM-ES2-4 being inadequate for your QoS needs, you might consider the NIM‑1GE-CU-SFP or NIM‑2GE-CU-SFP, or trunk from G0/0/0 or G0/0/1 to an "inexpensive" L2 switch supporting a SFP port.

View solution in original post

Highlighted
Beginner

Re: ISR 4331, NIM-ES2-4, and traffic shaping with fair-queue

Hi Joseph.  Thanks.  I heard back from our SE last night with essentially the same information.  We're going to be sending an SFP so we can move the physical connection to the g0/0/3 interface and configure it basically the same way as the existing connection on g0/0/1.

 

I appreciate the info on the queue length.  We do massive downloads over night with some very hefty servers on each end and gigabit connectivity for them.  That's why we wanted to make sure the queue was fairly large.  Is there a way to tell how much of that queue is actually being used over say a 24 hour time frame?

Highlighted
VIP Expert

Re: ISR 4331, NIM-ES2-4, and traffic shaping with fair-queue

Somewhere in the MIB, there might be a stat that shows current queue length (either for the interface, and/or the policy being used on the interface), but if there is, I don't know the OID for it.

Too large a queue can be counter productive to your transfer rate. Ideally (assuming you're using TCP), the receiving host needs its RWIN to be sized for path's BDP (bandwidth delay product). Since BDP allows for half the data to be "in-flight", that is why I mentioned I believe a router's buffer/queue needs only to allow for the "other" half of BDP.