{"id":564,"date":"2018-10-26T22:13:55","date_gmt":"2018-10-26T22:13:55","guid":{"rendered":"http:\/\/feralpacket.org\/?p=564"},"modified":"2018-10-26T22:13:55","modified_gmt":"2018-10-26T22:13:55","slug":"quality-of-service-qos-notes","status":"publish","type":"post","link":"https:\/\/feralpacket.org\/?p=564","title":{"rendered":"Quality of Service (QoS) Notes"},"content":{"rendered":"<p><span style=\"font-weight: bold;\">Quality of Service (QoS)<\/span>\u00a0<\/p>\n<p>\u00a0&#8211; Managed unfairness<\/p>\n<p>\u00a0&#8211; Problem with QoS is you will not see any results unless there is traffic congestion<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; It&#8217;s hard to generate a variety of different types of traffic<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; During the lab, they are not expecting to you to generate traffic to verify the configuration<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; They will only verify your configuration<\/p>\n<p>Instructor comment, &#8220;Bandwidth and sex, there is never enough.&#8221;<\/p>\n<p>Bandwidth<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Traffic rate (width of the pipe)<\/p>\n<p>Propagation\u00a0Delay<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; The time is takes to get from point A to point B (length of the pipe)<\/p>\n<p>Serialization Delay<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; The time it takes to send traffic from the interface to the media<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Delay = Amount of data \/ clock rate<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Clock rate of the interface<\/p>\n<p>Jitter<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Variance in delay<\/p>\n<p><span style=\"font-weight: bold;\">QoS Architecture<\/span><\/p>\n<p>\u00a0&#8211; Integrated QoS<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; End-to-end QoS<\/p>\n<p>\u00a0&#8211; Differential Service QoS<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Per-hop QoS<\/p>\n<p><span style=\"font-weight: bold;\">Integrated Services QoS<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/387ed9b13699d8aa6f862f94139138af.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">Resource Reservation Protocol (RSVP)<\/span><\/p>\n<p>\u00a0&#8211; Path message set to destination and waits for a reservation message response before sending traffic<\/p>\n<p>\u00a0&#8211; If any router disagrees with Path, it will be dropped and no traffic will be sent<\/p>\n<p><span style=\"font-weight: bold;\">Diff Serv<\/span><\/p>\n<p>\u00a0&#8211; The first hop router will mark the important traffic and hope that other routers\u00a0agrees\u00a0with the markings<\/p>\n<p>\u00a0&#8211; Mark the traffic and hope for the best<\/p>\n<p>\u00a0&#8211; Per hop behavior (PHB)<\/p>\n<p><span style=\"font-weight: bold;\">Differential Service<\/span><\/p>\n<p>\u00a0&#8211; Marking of packet<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Layer 3<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; IP header<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; IP Precedence \/ Differential Service Code Point (DSCP)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Layer 2<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Frame header<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Class of Service (CoS)<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0-&gt; 802.1q tag<\/p>\n<p>IP Header<\/p>\n<p>\u00a0&#8211; 8 bit field called Type of Service (ToS)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/190d936085f89d169eeaaed299247cab.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">IP\u00a0Precedence\u00a0(IPP)<\/span><\/p>\n<p>\u00a0&#8211; Higher is better<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 0 &#8211; Routine<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 1 &#8211;\u00a0Priority<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Data<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 2 &#8211; Immediate<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Video\u00a0signaling<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 3 &#8211; Flash<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Voice\u00a0signaling<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 4 &#8211; Flash Override<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Video stream<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 5 &#8211; Critical<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Voice stream<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 6 &#8211; Internetwork<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Management protocol<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 7 &#8211; Network<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Management protocol<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/51b4532d489c70ea2969f62a0d9fee2d.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">Priority Values<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 0 &#8211; Default<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 1 &#8211; Assured Forwarding (AF)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 2 &#8211; Assured Forwarding (AF)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 3 &#8211; Assured Forwarding (AF)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 4 &#8211; Assured Forwarding (AF)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 5 &#8211; Expedited Forwarding (EF)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 6 &#8211; Internetwork<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 7 &#8211; Network<\/p>\n<p><span style=\"font-weight: bold;\">Drop Precedence<\/span><\/p>\n<p>\u00a0&#8211; Only works with AF<\/p>\n<p>\u00a0&#8211; 2^2 = 4 Drop\u00a0Precedence\u00a0Values<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 0 0 = 0 -&gt; Never used<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 0 1 = 1<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 1 0 = 2<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 1 1 = 3<\/p>\n<p>AF X Y<\/p>\n<p>\u00a0&#8211; X &#8211; Priority Value<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Higher is better<\/p>\n<p>\u00a0&#8211; Y &#8211; Drop\u00a0Precedence<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Lower is better<\/p>\n<p>AF1 \u00a0 \u00a0 -&gt; \u00a0 \u00a0 AF11 \u00a0 \u00a0 AF12 \u00a0 \u00a0 AF13<\/p>\n<p>AF2 \u00a0 \u00a0 -&gt; \u00a0 \u00a0 AF21 \u00a0 \u00a0 AF22 \u00a0 \u00a0 AF23<\/p>\n<p>AF3 \u00a0 \u00a0 -&gt; \u00a0 \u00a0 AF31 \u00a0 \u00a0 AF32 \u00a0 \u00a0 AF33<\/p>\n<p>AF4 \u00a0 \u00a0 -&gt; \u00a0 \u00a0 AF41 \u00a0 \u00a0 AF42 \u00a0 \u00a0 AF43<\/p>\n<p>AF23 \u00a0 \u00a0 -&gt; Priority 2 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; 010<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Drop Precendence 3 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; 11<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Last bit \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0-&gt; 0<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0DSCP Value &#8211; 010110 = 22 in decimal<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Don&#8217;t need to know for the lab, but need to know for the written<\/p>\n<p>AF X Y = ( 8X + 2Y )<\/p>\n<p>AF23 \u00a0 = ( 8*2 + 2*3 ) = 22<\/p>\n<p><span style=\"font-weight: bold;\">Modular QoS CLI (MQC)<\/span><\/p>\n<p>\u00a0&#8211; Old configuration was directly in global config<\/p>\n<p>\u00a0&#8211; Class-map<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Matching procedure<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Classifying the data<\/p>\n<p>\u00a0&#8211; Policy-map<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Defines the action<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Marking<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Queueing<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Shaping<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Policing<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Dropping<\/p>\n<p>\u00a0&#8211; Service-policy<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Implement the policy-map<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Inside interface configuration<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; In | out direction<\/p>\n<p>Class-map<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">class-map [match-any | match-all] &lt;name&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0match &lt;condition&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match [ip] precedence &lt;up to 4 comma separated values&gt;<\/span><\/p>\n<p>\u00a0&#8211; ip option<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; If used, then only IPv4 packets are checked<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Otherwise, both IPv4 and IPv6 packets are checked<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match [ip] dscp &lt;up to 8 different vlaues&gt;<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match dscp AF11 AF12<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match cos &lt;up to 4 values&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match address-group &lt;acl&gt; [ip address]<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; IP addresses and port numbers<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match source-address mac &lt;mac address&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match destination-address mac &lt;mac address&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match mpls experimental [topmost] &lt;value&gt;<\/span><\/p>\n<p>Network Based Application Recognition (NBAR)<\/p>\n<p>\u00a0&#8211; Performs deep packet inspection<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match protocol &lt;name&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match packet length min &lt;value&gt; max &lt;value&gt;<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0&#8211; Only min or max needs to be specified, or both<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match input-interface &lt;int&gt;<\/span><\/p>\n<p>Voice Traffic<\/p>\n<p>\u00a0&#8211; Real-time Transport Protocol (RTP)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Port numbers<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; 16384 &#8211; 32767<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Even port number<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0-&gt; Voice traffic<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Odd port number<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0-&gt; Voice signal<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Best way to match is to use NBAR<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match protocol rtp audio<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0&#8211; or &#8211;<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match ip rtp &lt;start of range&gt; &lt;range&gt;<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0&#8211; start of range is a port number<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match ip rtp 100 50<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Ports 100 &#8211; 150<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match ip rtp 16384 16384<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Matches the entire RTP port range<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match not &lt;condition&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">match class &lt;class-map name&gt;<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; For nesting class-maps for advanced matching scenarios<\/p>\n<p>Policy-map<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">policy-map &lt;name&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0class &lt;name&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 &lt;action&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0class &lt;name&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 &lt;action&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0class class-default<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 &lt;action&gt;<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; All traffic not matching other classes<\/p>\n<p><span style=\"font-weight: bold;\">Class-map Actions<\/span><\/p>\n<p>\u00a0&#8211; Marking<\/p>\n<p>\u00a0&#8211; Queueing<\/p>\n<p>\u00a0&#8211; Shaping<\/p>\n<p>\u00a0&#8211; Policing<\/p>\n<p>\u00a0&#8211; Dropping<\/p>\n<p>\u00a0&#8211; Random-detect<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int s0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0service policy { input | output } &lt;name of policy-map&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh policy-map interface &lt;int&gt;<\/span><\/p>\n<p><span style=\"font-weight: bold;\">Classification and Marking<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/569a22980e7c355821c750680d52077b.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>Scenario -&gt; R1 is the edge router. \u00a0Mark all incoming voice traffic with DSCP EF. \u00a0Mark all incoming http traffic with AF31. \u00a0All other traffic should be marked &#8220;default&#8221;.<\/p>\n<p>R1(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">class-map CLASS1<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0match protocol rtp audio<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">class-map CLASS2<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0match protocol http<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">policy-map POLICY1<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0class CLASS1<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 set dscp ef<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0class CLASS2<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 set dscp AF31<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0class class-default<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 set dscp default<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int s0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0service-policy input POLICY1<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh policy-map int s0\/0<\/span><\/p>\n<p><span style=\"font-weight: bold;\">Queueing<\/span><\/p>\n<p>\u00a0&#8211; Congestion Management<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/d57826150598b378643d380eb19afb74.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>e.g. &#8211; Clock rate 64000bps<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; But if traffic rate is 96000bps<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/24a88986e2958472c43c845d9d0c6048.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">Congestion<\/span><\/p>\n<p>\u00a0&#8211; If there HW queue is full and more traffic is waiting to be sent<\/p>\n<p><span style=\"font-weight: bold;\">Software Queue<\/span><\/p>\n<p>\u00a0&#8211; Collection of pointers to the memory locations where the packets are located<\/p>\n<p>\u00a0&#8211; FIFO queue<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/69108e4797406e6c30320c445dd4a77a.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">Tail Drop<\/span><\/p>\n<p>\u00a0&#8211; What happens when the HW queue and Software queue is full<\/p>\n<p><span style=\"font-weight: bold;\">To change the hardward queue-length<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int s0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0tx-ring-limit &lt;number&gt;<\/span><\/p>\n<p><span style=\"font-weight: bold;\">To change the software queue-length<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int s0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0hard-queue &lt;number&gt; out<\/span><\/p>\n<p><span style=\"font-weight: bold;\">To display the HW Queue<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh controllers s0\/0<\/span><\/p>\n<p>\u00a0. . .<\/p>\n<p>\u00a0. . .\u00a0<\/p>\n<p>\u00a0. . .<\/p>\n<p>tx-limit x(y)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; x &#8211; 0 -&gt; default sofware queue<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1 -&gt; advanced queueing<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; y &#8211; queue-length<\/p>\n<p>tx-limit 0(16)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Default for most routers<\/p>\n<p>tx-limit 0(128)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; IOU routers<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; This could cause unexpected results if QoS was first tested in an IOU environment<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quality of Service (QoS)\u00a0<\/p>\n","protected":false},"author":1,"featured_media":557,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[31,45],"class_list":["post-564","post","type-post","status-publish","format-standard","hentry","category-ccie","tag-published","tag-qos"],"_links":{"self":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts\/564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=564"}],"version-history":[{"count":1,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts\/564\/revisions"}],"predecessor-version":[{"id":607,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts\/564\/revisions\/607"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/media\/557"}],"wp:attachment":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}