Class: Nl::Linux::Tc::Structs::TcDualpi2Xstats

Inherits:
Struct
  • Object
show all
Defined in:
nl-linux/generated/nl/linux/tc.rb,
nl-linux/generated/nl/linux/tc.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#credit ⇒ Integer

Current credit value for WRR

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#delay_c ⇒ Integer

Current C-queue delay in microseconds

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#delay_l ⇒ Integer

Current L-queue delay in microseconds

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#ecn_mark ⇒ Integer

All packets marked with ECN

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#max_memory_used ⇒ Integer

Maximum memory used in bytes by the DualPI2

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#maxq ⇒ Integer

Maximum number of packets seen by the DualPI2

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#memory_limit ⇒ Integer

Memory limit in bytes

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#memory_used ⇒ Integer

Memory used in bytes by the DualPI2

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#pkts_in_c ⇒ Integer

Number of packets enqueued in the C-queue

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#pkts_in_l ⇒ Integer

Number of packets enqueued in the L-queue

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#prob ⇒ Integer

Current base PI probability

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

#step_mark ⇒ Integer

Only packets marked with ECN due to L-queue step AQM

Returns:

  • (Integer)


1500
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500

MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)})

Class Method Details

.decode(decoder) ⇒ self

Decodes the struct.

Parameters:

Returns:

  • (self)


1506
1507
1508
# File 'nl-linux/generated/nl/linux/tc.rb', line 1506

def self.decode(decoder)
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
end

Instance Method Details

#encode(encoder) ⇒ void

This method returns an undefined value.

Encodes the struct.

Parameters:



1514
1515
1516
# File 'nl-linux/generated/nl/linux/tc.rb', line 1514

def encode(encoder)
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
end