Class: IControl::LocalLB::RateClass
- Inherits:
-
Base
- Object
- Base
- IControl::LocalLB::RateClass
- Defined in:
- lib/icontrol/local_lb/rate_class.rb,
lib/icontrol/local_lb.rb
Overview
The RateClass interface enables you to work with the definitions and attributes of a rate class class. Rate filtering refers to the ability to enforce configurable bandwidth consumption limitations upon user-defined traffic classes. The purpose of a Rate class is to allow the network administrator to effectively divide a single bandwidth resource through a gateway among preferred applications or traffic classes. Rate filtering is somewhat related to packet filtering. The key difference between the two is that packet filters seek to enforce an access policy on traffic, and Rate Filter classes seek to enforce a throughput policy on traffic.
Defined Under Namespace
Classes: DirectionType, DirectionTypeSequence, DropPolicyType, DropPolicyTypeSequence, QueueType, QueueTypeSequence, RateClassStatisticEntry, RateClassStatisticEntrySequence, RateClassStatistics, RateUnit, RateUnitSequence, UnitType, UnitTypeSequence
Instance Method Summary collapse
-
#all_statistics ⇒ RateClassStatistics
Gets the statistics for all the rate classe.
-
#base_rate ⇒ RateUnit
Gets the base rates for this rate classe.
-
#burst_size ⇒ long
Gets the burst sizes for this rate classe.
-
#ceiling_rate ⇒ RateUnit
Gets the ceiling rates for this rate classe.
-
#create(opts) ⇒ Object
Creates this rate classe.
-
#create_drop_policy(opts) ⇒ Object
Creates this drop policies, given the drop policy type, the general strategy used by the rate filter to throttle traffic.
-
#create_queueing_method(opts) ⇒ Object
Creates this queueing methods, given their queueing method type.
-
#create_shaping_policy(opts) ⇒ Object
Creates this shaping policies.
-
#delete_all_drop_policies ⇒ Object
Deletes all drop policies.
-
#delete_all_queueing_methods ⇒ Object
Deletes all queueing methods.
-
#delete_all_rate_classes ⇒ Object
Deletes all rate classe.
-
#delete_all_shaping_policies ⇒ Object
Deletes all shaping policies.
-
#delete_drop_policy(opts) ⇒ Object
Deletes this drop policies.
-
#delete_queueing_method(opts) ⇒ Object
Deletes this queueing methods.
-
#delete_rate_class ⇒ Object
Deletes this rate classe.
-
#delete_shaping_policy(opts) ⇒ Object
Deletes this shaping policies.
-
#direction ⇒ DirectionType
Gets the direction types being used by this rate classe.
-
#direction_vlan ⇒ String
Gets the VLAN whose outbound traffic is rate filtered.
-
#drop_policy ⇒ String
Gets the name of the drop policy, specifying how a rate filter drops packets when the rate filter is throttling traffic.
-
#drop_policy_average_packet_size(opts) ⇒ long
Gets the average packet (maximum transmission unit (MTU)) size.
-
#drop_policy_drop_limit_factor(opts) ⇒ long
Gets the drop limit factor.
-
#drop_policy_list ⇒ String
Gets a list of all drop policies.
-
#drop_policy_maximum_active_connections(opts) ⇒ long
Gets the maximum number of active connections for each queue.
-
#drop_policy_maximum_probability(opts) ⇒ long
Gets the maximum probability for dropping packets when the average queue length is between the minimum and maximum thresholds.
-
#drop_policy_maximum_queue_size(opts) ⇒ long
Gets the maximum queue size.
-
#drop_policy_maximum_queue_threshold(opts) ⇒ long
Gets the queue length threshold above which packets are dropped when the rate filter is throttling traffic.
-
#drop_policy_minimum_queue_threshold(opts) ⇒ long
Gets the queue length threshold below which packets are not dropped when the rate filter is throttling traffic.
-
#drop_policy_no_drop_limit_factor(opts) ⇒ long
Gets the no-drop limit factor.
-
#drop_policy_type(opts) ⇒ DropPolicyType
Gets the drop policy type.
-
#drop_policy_weight(opts) ⇒ long
Gets the weight used to calculate the average queue lengths.
-
#list ⇒ String
Gets a list of all rate classe.
-
#parent ⇒ String
Gets the name of the parent rate class.
-
#percent_of_parent_base_rate ⇒ long
Gets the base rate, if specified as a percentage of the parent rate filter class’ base rate.
-
#percent_of_parent_ceiling_rate ⇒ long
Gets the ceiling rate, if specified as a percentage of the parent’s ceiling rate.
-
#queue_type ⇒ QueueType
Gets the queue types being used by this rate classe.
-
#queueing_method ⇒ String
Gets the queueing method, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary.
-
#queueing_method_bucket_count(opts) ⇒ long
Gets the number of the buckets used to divide the traffic for each queue.
-
#queueing_method_bucket_size(opts) ⇒ long
Gets the size of the buckets used to divide the traffic for each queue.
-
#queueing_method_list ⇒ String
Gets a list of all queueing methods.
-
#queueing_method_maximum_queue_size(opts) ⇒ long
Gets the maximum queue size.
-
#queueing_method_minimum_queue_size(opts) ⇒ long
Gets the minimum queue size.
-
#queueing_method_perturbation_interval(opts) ⇒ long
Gets the perburation interval, the interval at which the system reconfigures the bucket hash function.
-
#queueing_method_type(opts) ⇒ QueueType
Gets the queueing method types, i.e., the method use to store and remove traffic from the queues managed by a rate filter.
-
#reset_statistics ⇒ Object
Resets the statistics for this rate classe.
-
#set_base_rate(opts) ⇒ Object
Sets the base rates for this rate classe.
-
#set_burst_size(opts) ⇒ Object
Sets the burst sizes for this rate classe.
-
#set_ceiling_rate(opts) ⇒ Object
Sets the ceiling rates for this rate classe.
-
#set_direction(opts) ⇒ Object
Sets the direction types to be used by this rate classe.
-
#set_direction_vlan(opts) ⇒ Object
Sets the direction type to apply rate filtering to traffic leaving via a specified VLAN.
-
#set_drop_policy(opts) ⇒ Object
A drop policy controls which packets are dropped when a rate filter needs to throttle traffic.
-
#set_drop_policy_average_packet_size(opts) ⇒ Object
Sets the average packet (maximum transmission unit (MTU)) size.
-
#set_drop_policy_drop_limit_factor(opts) ⇒ Object
Sets the drop limit factor.
-
#set_drop_policy_maximum_active_connections(opts) ⇒ Object
Sets the maximum number of active connections for each queue.
-
#set_drop_policy_maximum_probability(opts) ⇒ Object
Sets the maximum probability for dropping packets when the average queue length is between the minimum and maximum thresholds.
-
#set_drop_policy_maximum_queue_size(opts) ⇒ Object
Sets the maximum queue size.
-
#set_drop_policy_maximum_queue_threshold(opts) ⇒ Object
Sets the queue length threshold above which packets are dropped when the rate filter is throttling traffic.
-
#set_drop_policy_minimum_queue_threshold(opts) ⇒ Object
Sets the queue length threshold below which packets are not dropped when the rate filter is throttling traffic.
-
#set_drop_policy_no_drop_limit_factor(opts) ⇒ Object
Sets the no-drop limit factor.
-
#set_drop_policy_type(opts) ⇒ Object
Sets the drop policy type, i.e., the general strategy for a rate filter’s dropping packets when throttling traffic.
-
#set_drop_policy_weight(opts) ⇒ Object
Sets the weight used to calculate the average lengths of the rate filter’s queues.
-
#set_parent(opts) ⇒ Object
Sets the name of the parent rate class.
-
#set_percent_of_parent_base_rate(opts) ⇒ Object
Sets base rate by specifying a percentage of the parent’s base rate.
-
#set_percent_of_parent_ceiling_rate(opts) ⇒ Object
Sets the ceiling rate by specifying a percentage of the parent’s ceiling rate.
-
#set_queue_type(opts) ⇒ Object
Sets the queue types to be used by this rate classe.
-
#set_queueing_method(opts) ⇒ Object
Sets the queueing method, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped, if necessary.
-
#set_queueing_method_bucket_count(opts) ⇒ Object
Sets the number of the buckets used to divide the traffic for each queue.
-
#set_queueing_method_bucket_size(opts) ⇒ Object
Sets the size of the buckets used to divide the traffic for each queue.
-
#set_queueing_method_maximum_queue_size(opts) ⇒ Object
Sets the maximum queue size.
-
#set_queueing_method_minimum_queue_size(opts) ⇒ Object
Sets the minimum queue size.
-
#set_queueing_method_perturbation_interval(opts) ⇒ Object
Sets the perturbation interval, i.e.
-
#set_queueing_method_type(opts) ⇒ Object
Sets the queueing method type, i.e., the method use to store and remove traffic from the queues managed by a rate filter.
-
#set_shaping_policy(opts) ⇒ Object
Sets the shaping policy, used to specify custom drop policies and queueing methods.
-
#set_shaping_policy_burst_size(opts) ⇒ Object
Sets the burst size in a shaping policy, the maximum number of bytes that traffic is allowed to burst beyond the base rate.
-
#set_shaping_policy_drop_policy(opts) ⇒ Object
Sets the name of the drop policy in a shaping policy, specifying how the rate filter drops packets when throttling traffic.
-
#set_shaping_policy_percent_of_parent_base_rate(opts) ⇒ Object
Sets base rate in a shaping policy by specifying a percentage of the parent’s rate filter class’ base rate.
-
#set_shaping_policy_percent_of_parent_ceiling_rate(opts) ⇒ Object
Sets the ceiling rate for a shaping policy by specifying a percentage of the parent’s rate filter class’ ceiling rate.
-
#set_shaping_policy_queueing_method(opts) ⇒ Object
Sets the queueing method for a shaping policy, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary.
-
#shaping_policy ⇒ String
Gets the name of shaping policy, used to specify custom drop policies and queueing methods.
-
#shaping_policy_burst_size(opts) ⇒ long
Gets the burst size for a shaping policy, the maximum number of bytes that traffic is allowed to burst beyond the base rate.
-
#shaping_policy_drop_policy(opts) ⇒ String
Gets the name of the drop policy for a shaping policy, specifying how a rate filter drops packets when the rate filter is throttling traffic.
-
#shaping_policy_list ⇒ String
Gets a list of all shaping policies.
-
#shaping_policy_percent_of_parent_base_rate(opts) ⇒ long
Gets the base rate for a shaping policy, if specified as a percentage of the parent rate filter class’ base rate.
-
#shaping_policy_percent_of_parent_ceiling_rate(opts) ⇒ long
Gets the ceiling rate for a shaping policy, if specified as a percentage of the parent rate filter class’ ceiling rate.
-
#shaping_policy_queueing_method(opts) ⇒ String
Gets the queueing method for a shaping policy, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary.
-
#statistics ⇒ RateClassStatistics
Gets the statistics for this rate classe.
-
#version ⇒ String
Gets the version information for this interface.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class IControl::Base
Instance Method Details
#all_statistics ⇒ RateClassStatistics
Gets the statistics for all the rate classe.
184 185 186 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 184 def all_statistics super end |
#base_rate ⇒ RateUnit
Gets the base rates for this rate classe. The base rate specifies the maximum throughput to allot to traffic handled by the Rate Class. Packets in excess of the posted rate will be dropped.
197 198 199 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 197 def base_rate super end |
#burst_size ⇒ long
Gets the burst sizes for this rate classe. The burst size specifies maximum number of bytes that traffic is allowed to burst beyond the base rate.
209 210 211 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 209 def burst_size super end |
#ceiling_rate ⇒ RateUnit
Gets the ceiling rates for this rate classe. The ceiling rate specifies how far beyond the base rate the traffic is allowed to flow when bursting. The ceiling rate is an absolute limit - it is impossible for traffic to flow at a higher rate than the ceiling rate, even when bursting. If the ceiling rate is omitted or is equal to the base rate, the traffic may not exceed the base rate. It is illegal for the ceiling rate to be less than the base rate.
225 226 227 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 225 def ceiling_rate super end |
#create(opts) ⇒ Object
Creates this rate classe.
39 40 41 42 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 39 def create(opts) opts = check_params(opts,[:base_rates]) super(opts) end |
#create_drop_policy(opts) ⇒ Object
Creates this drop policies, given the drop policy type, the general strategy used by the rate filter to throttle traffic. Note that pre-defined drop policies exist with a basic configuration for each type - "tail“, "red”, and "fred“. Also note that a rate filter class defaults to using a "tail” drop policy.
56 57 58 59 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 56 def create_drop_policy(opts) opts = check_params(opts,[:drop_policies,:types]) super(opts) end |
#create_queueing_method(opts) ⇒ Object
Creates this queueing methods, given their queueing method type.
70 71 72 73 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 70 def create_queueing_method(opts) opts = check_params(opts,[:queues,:types]) super(opts) end |
#create_shaping_policy(opts) ⇒ Object
Creates this shaping policies.
83 84 85 86 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 83 def create_shaping_policy(opts) opts = check_params(opts,[:policies]) super(opts) end |
#delete_all_drop_policies ⇒ Object
Deletes all drop policies
94 95 96 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 94 def delete_all_drop_policies super end |
#delete_all_queueing_methods ⇒ Object
Deletes all queueing methods.
104 105 106 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 104 def delete_all_queueing_methods super end |
#delete_all_rate_classes ⇒ Object
Deletes all rate classe.
114 115 116 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 114 def delete_all_rate_classes super end |
#delete_all_shaping_policies ⇒ Object
Deletes all shaping policies.
124 125 126 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 124 def delete_all_shaping_policies super end |
#delete_drop_policy(opts) ⇒ Object
Deletes this drop policies
136 137 138 139 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 136 def delete_drop_policy(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#delete_queueing_method(opts) ⇒ Object
Deletes this queueing methods.
149 150 151 152 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 149 def delete_queueing_method(opts) opts = check_params(opts,[:queues]) super(opts) end |
#delete_rate_class ⇒ Object
Deletes this rate classe.
160 161 162 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 160 def delete_rate_class super end |
#delete_shaping_policy(opts) ⇒ Object
Deletes this shaping policies.
172 173 174 175 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 172 def delete_shaping_policy(opts) opts = check_params(opts,[:policies]) super(opts) end |
#direction ⇒ DirectionType
Gets the direction types being used by this rate classe.
236 237 238 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 236 def direction super end |
#direction_vlan ⇒ String
Gets the VLAN whose outbound traffic is rate filtered. This is only valid for the DIRECTION_VLAN direction.
248 249 250 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 248 def direction_vlan super end |
#drop_policy ⇒ String
Gets the name of the drop policy, specifying how a rate filter drops packets when the rate filter is throttling traffic.
260 261 262 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 260 def drop_policy super end |
#drop_policy_average_packet_size(opts) ⇒ long
Gets the average packet (maximum transmission unit (MTU)) size. This is only valid for the "fred“ and "red” types.
274 275 276 277 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 274 def drop_policy_average_packet_size(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_drop_limit_factor(opts) ⇒ long
Gets the drop limit factor. This is only valid for the "fred“ type.
288 289 290 291 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 288 def drop_policy_drop_limit_factor(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_list ⇒ String
Gets a list of all drop policies
300 301 302 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 300 def drop_policy_list super end |
#drop_policy_maximum_active_connections(opts) ⇒ long
Gets the maximum number of active connections for each queue. This is only valid for the "fred“ type.
314 315 316 317 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 314 def drop_policy_maximum_active_connections(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_maximum_probability(opts) ⇒ long
Gets the maximum probability for dropping packets when the average queue length is between the minimum and maximum thresholds. This is only valid for the "red“ and "fred” types.
330 331 332 333 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 330 def drop_policy_maximum_probability(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_maximum_queue_size(opts) ⇒ long
Gets the maximum queue size. This is only valid for the "red“ type.
344 345 346 347 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 344 def drop_policy_maximum_queue_size(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_maximum_queue_threshold(opts) ⇒ long
Gets the queue length threshold above which packets are dropped when the rate filter is throttling traffic. This is only valid for the "red“ and "fred” types.
360 361 362 363 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 360 def drop_policy_maximum_queue_threshold(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_minimum_queue_threshold(opts) ⇒ long
Gets the queue length threshold below which packets are not dropped when the rate filter is throttling traffic. This is only valid for the "red“ and "fred” types.
376 377 378 379 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 376 def drop_policy_minimum_queue_threshold(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_no_drop_limit_factor(opts) ⇒ long
Gets the no-drop limit factor. This is only valid for the "fred“ type.
390 391 392 393 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 390 def drop_policy_no_drop_limit_factor(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_type(opts) ⇒ DropPolicyType
Gets the drop policy type
404 405 406 407 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 404 def drop_policy_type(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#drop_policy_weight(opts) ⇒ long
Gets the weight used to calculate the average queue lengths. This is only valid for the "red“ and "fred” types.
419 420 421 422 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 419 def drop_policy_weight(opts) opts = check_params(opts,[:drop_policies]) super(opts) end |
#list ⇒ String
Gets a list of all rate classe.
431 432 433 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 431 def list super end |
#parent ⇒ String
Gets the name of the parent rate class. Any child Rate Class has the ability to borrow bandwidth from its parent. If the parent rate class is not specified in the definition of a rate class, the Rate Class is not a child, but may be a parent if another Rate Class refers to it as such.
445 446 447 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 445 def parent super end |
#percent_of_parent_base_rate ⇒ long
Gets the base rate, if specified as a percentage of the parent rate filter class’ base rate. This is zero if the base rate is specified as bandwidth (see set/get_base_rate).
457 458 459 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 457 def percent_of_parent_base_rate super end |
#percent_of_parent_ceiling_rate ⇒ long
Gets the ceiling rate, if specified as a percentage of the parent’s ceiling rate. This is zero if the ceiling rate is specified as a throughput (see set/get_ceiling_rate).
469 470 471 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 469 def percent_of_parent_ceiling_rate super end |
#queue_type ⇒ QueueType
Gets the queue types being used by this rate classe. See also the get_queueing_method method.
481 482 483 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 481 def queue_type super end |
#queueing_method ⇒ String
Gets the queueing method, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary.
493 494 495 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 493 def queueing_method super end |
#queueing_method_bucket_count(opts) ⇒ long
Gets the number of the buckets used to divide the traffic for each queue. This is only valid for the stochastic fair queueing type.
507 508 509 510 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 507 def queueing_method_bucket_count(opts) opts = check_params(opts,[:queues]) super(opts) end |
#queueing_method_bucket_size(opts) ⇒ long
Gets the size of the buckets used to divide the traffic for each queue. This is only valid for the stochastic fair queueing type.
522 523 524 525 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 522 def queueing_method_bucket_size(opts) opts = check_params(opts,[:queues]) super(opts) end |
#queueing_method_list ⇒ String
Gets a list of all queueing methods
534 535 536 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 534 def queueing_method_list super end |
#queueing_method_maximum_queue_size(opts) ⇒ long
Gets the maximum queue size. This is only valid for the Priority FIFO queueing type.
547 548 549 550 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 547 def queueing_method_maximum_queue_size(opts) opts = check_params(opts,[:queues]) super(opts) end |
#queueing_method_minimum_queue_size(opts) ⇒ long
Gets the minimum queue size. This is only valid for the Priority FIFO queueing type.
561 562 563 564 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 561 def queueing_method_minimum_queue_size(opts) opts = check_params(opts,[:queues]) super(opts) end |
#queueing_method_perturbation_interval(opts) ⇒ long
Gets the perburation interval, the interval at which the system reconfigures the bucket hash function. This is only valid for the stochastic fair queueing type.
576 577 578 579 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 576 def queueing_method_perturbation_interval(opts) opts = check_params(opts,[:queues]) super(opts) end |
#queueing_method_type(opts) ⇒ QueueType
Gets the queueing method types, i.e., the method use to store and remove traffic from the queues managed by a rate filter.
591 592 593 594 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 591 def queueing_method_type(opts) opts = check_params(opts,[:queues]) super(opts) end |
#reset_statistics ⇒ Object
Resets the statistics for this rate classe.
720 721 722 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 720 def reset_statistics super end |
#set_base_rate(opts) ⇒ Object
Sets the base rates for this rate classe. The base rate specifies the maximum throughput to allot to traffic handled by the Rate Class. Packets in excess of the posted rate will be dropped.
734 735 736 737 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 734 def set_base_rate(opts) opts = check_params(opts,[:rates]) super(opts) end |
#set_burst_size(opts) ⇒ Object
Sets the burst sizes for this rate classe. The burst size specifies maximum number of bytes that traffic is allowed to burst beyond the base rate.
748 749 750 751 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 748 def set_burst_size(opts) opts = check_params(opts,[:burst_sizes]) super(opts) end |
#set_ceiling_rate(opts) ⇒ Object
Sets the ceiling rates for this rate classe. The ceiling rate specifies how far beyond the base rate the traffic is allowed to flow when bursting. The ceiling rate is an absolute limit - it is impossible for traffic to flow at a higher rate than the ceiling rate, even when bursting. If the ceiling rate is omitted or is equal to the base rate, the traffic may not exceed the base rate. It is illegal for the ceiling rate to be less than the base rate.
766 767 768 769 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 766 def set_ceiling_rate(opts) opts = check_params(opts,[:rates]) super(opts) end |
#set_direction(opts) ⇒ Object
Sets the direction types to be used by this rate classe. For the DIRECTION_VLAN type, it is best to use set_direction_vlan.
780 781 782 783 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 780 def set_direction(opts) opts = check_params(opts,[:direction_types]) super(opts) end |
#set_direction_vlan(opts) ⇒ Object
Sets the direction type to apply rate filtering to traffic leaving via a specified VLAN.
794 795 796 797 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 794 def set_direction_vlan(opts) opts = check_params(opts,[:vlans]) super(opts) end |
#set_drop_policy(opts) ⇒ Object
A drop policy controls which packets are dropped when a rate filter needs to throttle traffic. A rate filter collects traffic in a number of queues, classified according to the rate filter’s queueing method (see set_queueing_method). The drop policy determines how traffic is dropped from each queue with each queue’s being treated the same. This method sets the name of the drop policy. Three pre-defined drop policies exist. "fred“ drops packets according to the type of traffic. "red” drops packets randomly. "tail“ drops packets from the end of the queues.
813 814 815 816 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 813 def set_drop_policy(opts) opts = check_params(opts,[:policies]) super(opts) end |
#set_drop_policy_average_packet_size(opts) ⇒ Object
Sets the average packet (maximum transmission unit (MTU)) size. This is only valid for the "fred“ and "red” types.
828 829 830 831 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 828 def set_drop_policy_average_packet_size(opts) opts = check_params(opts,[:drop_policies,:mtus]) super(opts) end |
#set_drop_policy_drop_limit_factor(opts) ⇒ Object
Sets the drop limit factor. A larger value increases the hard drop limit. This is only valid for the "fred“ type.
843 844 845 846 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 843 def set_drop_policy_drop_limit_factor(opts) opts = check_params(opts,[:drop_policies,:factors]) super(opts) end |
#set_drop_policy_maximum_active_connections(opts) ⇒ Object
Sets the maximum number of active connections for each queue. This is only valid for the "fred“ type.
858 859 860 861 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 858 def set_drop_policy_maximum_active_connections(opts) opts = check_params(opts,[:drop_policies,:max_conns]) super(opts) end |
#set_drop_policy_maximum_probability(opts) ⇒ Object
Sets the maximum probability for dropping packets when the average queue length is between the minimum and maximum thresholds. This is only used for the "red“ and "fred” types.
874 875 876 877 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 874 def set_drop_policy_maximum_probability(opts) opts = check_params(opts,[:drop_policies,:probabilities]) super(opts) end |
#set_drop_policy_maximum_queue_size(opts) ⇒ Object
Sets the maximum queue size. If a queue exceeds that size, any additional packets are dropped if the rate filter is throttling traffic. This is only valid for the "red“ type.
890 891 892 893 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 890 def set_drop_policy_maximum_queue_size(opts) opts = check_params(opts,[:drop_policies,:max_sizes]) super(opts) end |
#set_drop_policy_maximum_queue_threshold(opts) ⇒ Object
Sets the queue length threshold above which packets are dropped when the rate filter is throttling traffic. This is only used for the "red“ and "fred” types.
906 907 908 909 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 906 def set_drop_policy_maximum_queue_threshold(opts) opts = check_params(opts,[:drop_policies,:thresholds]) super(opts) end |
#set_drop_policy_minimum_queue_threshold(opts) ⇒ Object
Sets the queue length threshold below which packets are not dropped when the rate filter is throttling traffic. This is only used for the "red“ and "fred” types.
922 923 924 925 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 922 def set_drop_policy_minimum_queue_threshold(opts) opts = check_params(opts,[:drop_policies,:thresholds]) super(opts) end |
#set_drop_policy_no_drop_limit_factor(opts) ⇒ Object
Sets the no-drop limit factor. A larger value prevents packets from being dropped. This is only valid for the "fred“ type.
937 938 939 940 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 937 def set_drop_policy_no_drop_limit_factor(opts) opts = check_params(opts,[:drop_policies,:factors]) super(opts) end |
#set_drop_policy_type(opts) ⇒ Object
Sets the drop policy type, i.e., the general strategy for a rate filter’s dropping packets when throttling traffic. See the DropPolicyType enumeration for details.
952 953 954 955 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 952 def set_drop_policy_type(opts) opts = check_params(opts,[:drop_policies,:types]) super(opts) end |
#set_drop_policy_weight(opts) ⇒ Object
Sets the weight used to calculate the average lengths of the rate filter’s queues. This is only used for the "red“ and "fred” types.
967 968 969 970 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 967 def set_drop_policy_weight(opts) opts = check_params(opts,[:drop_policies,:weights]) super(opts) end |
#set_parent(opts) ⇒ Object
Sets the name of the parent rate class. Any child Rate Class has the ability to borrow bandwidth from its parent. If the parent rate class is not specified in the definition of a rate class, the Rate Class is not a child, but may be a parent if another Rate Class refers to it as such.
983 984 985 986 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 983 def set_parent(opts) opts = check_params(opts,[:parents]) super(opts) end |
#set_percent_of_parent_base_rate(opts) ⇒ Object
Sets base rate by specifying a percentage of the parent’s base rate. The base rate is the maximum throughput for traffic handled by the rate filter.
997 998 999 1000 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 997 def set_percent_of_parent_base_rate(opts) opts = check_params(opts,[:percents]) super(opts) end |
#set_percent_of_parent_ceiling_rate(opts) ⇒ Object
Sets the ceiling rate by specifying a percentage of the parent’s ceiling rate. The ceiling rate specifies the absolute throughput limit for traffic handled by the rate filter.
1012 1013 1014 1015 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1012 def set_percent_of_parent_ceiling_rate(opts) opts = check_params(opts,[:percents]) super(opts) end |
#set_queue_type(opts) ⇒ Object
Sets the queue types to be used by this rate classe. See also the set_queueing_method method.
1026 1027 1028 1029 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1026 def set_queue_type(opts) opts = check_params(opts,[:queue_types]) super(opts) end |
#set_queueing_method(opts) ⇒ Object
Sets the queueing method, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped, if necessary. Two pre-defined methods exist. "sfq“ queues traffic according to the connection information, i.e., being fair to individual connections. "pfifo” queues traffic according to the Type of Service (ToS) packet field. This method is a more expansive version of the set_queue_type method, whose two enumerated types map exactly to the pre-defined "pfifo“ and "sfq” objects.
1045 1046 1047 1048 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1045 def set_queueing_method(opts) opts = check_params(opts,[:methods]) super(opts) end |
#set_queueing_method_bucket_count(opts) ⇒ Object
Sets the number of the buckets used to divide the traffic for each queue. This is only used by the stochastic fair queueing type.
1060 1061 1062 1063 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1060 def set_queueing_method_bucket_count(opts) opts = check_params(opts,[:queues,:bucket_counts]) super(opts) end |
#set_queueing_method_bucket_size(opts) ⇒ Object
Sets the size of the buckets used to divide the traffic for each queue. This is only used by the stochastic fair queueing type.
1075 1076 1077 1078 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1075 def set_queueing_method_bucket_size(opts) opts = check_params(opts,[:queues,:bucket_sizes]) super(opts) end |
#set_queueing_method_maximum_queue_size(opts) ⇒ Object
Sets the maximum queue size. This is only used by the Priority FIFO queueing type.
1089 1090 1091 1092 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1089 def set_queueing_method_maximum_queue_size(opts) opts = check_params(opts,[:queues,:max_sizes]) super(opts) end |
#set_queueing_method_minimum_queue_size(opts) ⇒ Object
Sets the minimum queue size. This is only used by the Priority FIFO queueing type.
1103 1104 1105 1106 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1103 def set_queueing_method_minimum_queue_size(opts) opts = check_params(opts,[:queues,:min_sizes]) super(opts) end |
#set_queueing_method_perturbation_interval(opts) ⇒ Object
Sets the perturbation interval, i.e. the interval at which the rate filter reconfigures the bucket hash function. This is only used by the stochastic fair queueing type.
1118 1119 1120 1121 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1118 def set_queueing_method_perturbation_interval(opts) opts = check_params(opts,[:queues,:intervals]) super(opts) end |
#set_queueing_method_type(opts) ⇒ Object
Sets the queueing method type, i.e., the method use to store and remove traffic from the queues managed by a rate filter. See the QueueType enumeration for more details.
1133 1134 1135 1136 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1133 def set_queueing_method_type(opts) opts = check_params(opts,[:queues,:types]) super(opts) end |
#set_shaping_policy(opts) ⇒ Object
Sets the shaping policy, used to specify custom drop policies and queueing methods. A shaping policy encapsulates a set of rate filter class configuration attributes into a single object. Once created, this object can be used to create rate filter classes more easily, by specifying a shaping policy rather than all of its attributes individually. Note that this is purely a convenience interface. There is nothing in a shaping policy which cannot also be done via a rate filter class object.
1151 1152 1153 1154 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1151 def set_shaping_policy(opts) opts = check_params(opts,[:policies]) super(opts) end |
#set_shaping_policy_burst_size(opts) ⇒ Object
Sets the burst size in a shaping policy, the maximum number of bytes that traffic is allowed to burst beyond the base rate.
1166 1167 1168 1169 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1166 def set_shaping_policy_burst_size(opts) opts = check_params(opts,[:policies,:burst_sizes]) super(opts) end |
#set_shaping_policy_drop_policy(opts) ⇒ Object
Sets the name of the drop policy in a shaping policy, specifying how the rate filter drops packets when throttling traffic. Three pre-defined drop policies exist. "fred“ drops packets according to the type of traffic. "red” drops packets randomly. "tail“ drops packets from the end of the queues. See the drop policy methods for more information.
1184 1185 1186 1187 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1184 def set_shaping_policy_drop_policy(opts) opts = check_params(opts,[:policies,:drop_policies]) super(opts) end |
#set_shaping_policy_percent_of_parent_base_rate(opts) ⇒ Object
Sets base rate in a shaping policy by specifying a percentage of the parent’s rate filter class’ base rate. The base rate is the maximum throughput for traffic handled by the rate filter.
1200 1201 1202 1203 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1200 def set_shaping_policy_percent_of_parent_base_rate(opts) opts = check_params(opts,[:policies,:percents]) super(opts) end |
#set_shaping_policy_percent_of_parent_ceiling_rate(opts) ⇒ Object
Sets the ceiling rate for a shaping policy by specifying a percentage of the parent’s rate filter class’ ceiling rate. The ceiling rate specifies the absolute throughput limit for traffic handled by the rate filter.
1216 1217 1218 1219 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1216 def set_shaping_policy_percent_of_parent_ceiling_rate(opts) opts = check_params(opts,[:policies,:percents]) super(opts) end |
#set_shaping_policy_queueing_method(opts) ⇒ Object
Sets the queueing method for a shaping policy, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary. Two pre-defined methods exist. "sfq“ queues traffic according to the connection information, i.e., fair to individual connections. "pfifo” queues traffic according to the Type of Service (ToS) packet field. See the queueing method methods for more details.
1235 1236 1237 1238 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 1235 def set_shaping_policy_queueing_method(opts) opts = check_params(opts,[:policies,:methods]) super(opts) end |
#shaping_policy ⇒ String
Gets the name of shaping policy, used to specify custom drop policies and queueing methods.
604 605 606 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 604 def shaping_policy super end |
#shaping_policy_burst_size(opts) ⇒ long
Gets the burst size for a shaping policy, the maximum number of bytes that traffic is allowed to burst beyond the base rate.
618 619 620 621 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 618 def shaping_policy_burst_size(opts) opts = check_params(opts,[:policies]) super(opts) end |
#shaping_policy_drop_policy(opts) ⇒ String
Gets the name of the drop policy for a shaping policy, specifying how a rate filter drops packets when the rate filter is throttling traffic.
633 634 635 636 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 633 def shaping_policy_drop_policy(opts) opts = check_params(opts,[:policies]) super(opts) end |
#shaping_policy_list ⇒ String
Gets a list of all shaping policies
645 646 647 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 645 def shaping_policy_list super end |
#shaping_policy_percent_of_parent_base_rate(opts) ⇒ long
Gets the base rate for a shaping policy, if specified as a percentage of the parent rate filter class’ base rate.
659 660 661 662 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 659 def shaping_policy_percent_of_parent_base_rate(opts) opts = check_params(opts,[:policies]) super(opts) end |
#shaping_policy_percent_of_parent_ceiling_rate(opts) ⇒ long
Gets the ceiling rate for a shaping policy, if specified as a percentage of the parent rate filter class’ ceiling rate.
674 675 676 677 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 674 def shaping_policy_percent_of_parent_ceiling_rate(opts) opts = check_params(opts,[:policies]) super(opts) end |
#shaping_policy_queueing_method(opts) ⇒ String
Gets the queueing method for a shaping policy, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary.
690 691 692 693 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 690 def shaping_policy_queueing_method(opts) opts = check_params(opts,[:policies]) super(opts) end |
#statistics ⇒ RateClassStatistics
Gets the statistics for this rate classe.
702 703 704 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 702 def statistics super end |
#version ⇒ String
Gets the version information for this interface.
710 711 712 |
# File 'lib/icontrol/local_lb/rate_class.rb', line 710 def version super end |