Class: IControl::LocalLB::RateClass

Inherits:
Base
  • Object
show all
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

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class IControl::Base

Instance Method Details

#all_statisticsRateClassStatistics

Gets the statistics for all the rate classe.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



184
185
186
# File 'lib/icontrol/local_lb/rate_class.rb', line 184

def all_statistics
  super
end

#base_rateRateUnit

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.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



197
198
199
# File 'lib/icontrol/local_lb/rate_class.rb', line 197

def base_rate
  super
end

#burst_sizelong

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.

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



209
210
211
# File 'lib/icontrol/local_lb/rate_class.rb', line 209

def burst_size
  super
end

#ceiling_rateRateUnit

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.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :base_rates (IControl::LocalLB::RateClass::RateUnit)

    The base rates at which the maximum throughput to allot to traffic handled by the Rate Classes. Packets in excess of the posted rate will be dropped.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to create

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_policiesObject

Deletes all drop policies

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



94
95
96
# File 'lib/icontrol/local_lb/rate_class.rb', line 94

def delete_all_drop_policies
  super
end

#delete_all_queueing_methodsObject

Deletes all queueing methods.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



104
105
106
# File 'lib/icontrol/local_lb/rate_class.rb', line 104

def delete_all_queueing_methods
  super
end

#delete_all_rate_classesObject

Deletes all rate classe.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



114
115
116
# File 'lib/icontrol/local_lb/rate_class.rb', line 114

def delete_all_rate_classes
  super
end

#delete_all_shaping_policiesObject

Deletes all shaping policies.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to delete

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to delete

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_classObject

Deletes this rate classe.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to delete

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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

#directionDirectionType

Gets the direction types being used by this rate classe.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



236
237
238
# File 'lib/icontrol/local_lb/rate_class.rb', line 236

def direction
  super
end

#direction_vlanString

Gets the VLAN whose outbound traffic is rate filtered. This is only valid for the DIRECTION_VLAN direction.

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



248
249
250
# File 'lib/icontrol/local_lb/rate_class.rb', line 248

def direction_vlan
  super
end

#drop_policyString

Gets the name of the drop policy, specifying how a rate filter drops packets when the rate filter is throttling traffic.

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_listString

Gets a list of all drop policies

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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

#listString

Gets a list of all rate classe.

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



431
432
433
# File 'lib/icontrol/local_lb/rate_class.rb', line 431

def list
  super
end

#parentString

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.

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



445
446
447
# File 'lib/icontrol/local_lb/rate_class.rb', line 445

def parent
  super
end

#percent_of_parent_base_ratelong

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).

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_ratelong

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).

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



469
470
471
# File 'lib/icontrol/local_lb/rate_class.rb', line 469

def percent_of_parent_ceiling_rate
  super
end

#queue_typeQueueType

Gets the queue types being used by this rate classe. See also the get_queueing_method method.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



481
482
483
# File 'lib/icontrol/local_lb/rate_class.rb', line 481

def queue_type
  super
end

#queueing_methodString

Gets the queueing method, specifying how packets are queued for rate filtering, effectively determining the class of traffic which is dropped if necessary.

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_listString

Gets a list of all queueing methods

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to query

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_statisticsObject

Resets the statistics for this rate classe.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :burst_sizes (long)

    The burst sizes to set for the rate classes.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :vlans (String)

    Name of the egress VLAN for each specified rate filter class (default: none, i.e., this must be specified)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Name of the drop policy for each specified rate filter class (default: “tail”)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :mtus (long)

    Average packet (MTU) size for each specified drop policy (maximum: 10000 default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :factors (long)

    Drop limit factor for each specified drop policy (arbitrary units 0-400, default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :max_conns (long)

    Maximum number of connections for each specified drop policy (maximum: 10000. default: zero (disables the active connection limitation))

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :probabilities (long)

    Maximum probability (percent) for each specified drop policy (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :max_sizes (long)

    Maximum queue size for each specified drop policy (bytes) (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :thresholds (long)

    Queue length above which packets are dropped for each specified drop policy (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :thresholds (long)

    Queue length below which packets are not dropped for each specified drop policy (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :factors (long)

    No-drop limit factor for each specified drop policy (arbitrary units 0-100, default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :drop_policies (String)

    Names of the drop policies to modify

  • :weights (long)

    Weight used to calculate the average queue length for each specified drop policy (valid: 0, 64, 128, 256, 512. default: zero).

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :parents (String)

    The parent rate class names.

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :percents (long)

    Percent of the parent’s base rate for each specified rate filter class (default: zero, i.e., the base rate is specified as bandwidth (see set_base_rate))

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :percents (long)

    Percent of the parent’s ceiling rate for each specified rate filter class (default: zero, i.e., the ceiling rate is specified as bandwidth (see set_ceiling_rate)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :methods (String)

    Name of the queueing method object for each specified rate filter class (default: “sfq”)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to modify

  • :bucket_counts (long)

    Number of buckets for each specified queueing method (valid: 0, 16, 32, 64, 128, 256, 512, 1024 default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to modify

  • :bucket_sizes (long)

    Bucket size (bytes) for each specified queueing method (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to modify

  • :max_sizes (long)

    Maximum queue size (bytes) for each specified queueing method (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to modify

  • :min_sizes (long)

    Minimum queue size (bytes) for each specified queueing method (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to modify

  • :intervals (long)

    Perturbation interval (seconds) for each specified queueing method (default: 10sec)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :queues (String)

    Names of the queueing methods to modify

  • :types (IControl::LocalLB::RateClass::QueueType)

    Queueing method type for each specified queueing method (default: none, i.e., this must be specified)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Name of the shaping policy object for each specified rate filter class (default: none)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to modify

  • :burst_sizes (long)

    Burst size (bytes) for each specified shaping policy

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to modify

  • :drop_policies (String)

    Name of the drop policy for each specified shaping policy (default: “tail”)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to modify

  • :percents (long)

    Percent of parent base rates for each specified shaping policy (default: zero)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to modify

  • :percents (long)

    Percent of parent base rates (default: zero) for each specified shaping policy

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to modify

  • :methods (String)

    Name of the queueing method object for each shaping policy (default: “sfq”)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_policyString

Gets the name of shaping policy, used to specify custom drop policies and queueing methods.

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to query

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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_listString

Gets a list of all shaping policies

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to query

Returns:

  • (long)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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.

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :policies (String)

    Names of the shaping policies to query

Returns:

  • (String)

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



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

#statisticsRateClassStatistics

Gets the statistics for this rate classe.

Returns:

Raises:

  • (IControl::IControl::Common::AccessDenied)

    raised if the client credentials are not valid.

  • (IControl::IControl::Common::InvalidArgument)

    raised if one of the arguments is invalid.

  • (IControl::IControl::Common::OperationFailed)

    raised if an operation error occurs.



702
703
704
# File 'lib/icontrol/local_lb/rate_class.rb', line 702

def statistics
  super
end

#versionString

Gets the version information for this interface.

Returns:

  • (String)


710
711
712
# File 'lib/icontrol/local_lb/rate_class.rb', line 710

def version
  super
end