Class: Nl::Linux::Netdev::Notifications::PagePoolChangeNtf

Inherits:
Genl::Message show all
Defined in:
nl-linux/generated/nl/linux/netdev.rb

Overview

Notification about page pool configuration being changed.

Multicast group: page-pool.

Constant Summary collapse

TYPE =
8
FIXED_HEADER =
nil
ATTRIBUTE_SET =
AttributeSets::PagePool
ATTRIBUTES =
Ractor.make_shareable(%i[id ifindex napi_id inflight inflight_mem detach_time dmabuf io_uring])

Instance Attribute Summary

Attributes included from StructuredPayload

#attributes, #fixed_header

Instance Method Summary collapse

Methods inherited from Genl::Message

decode

Methods inherited from Raw::Message

#append_attribute, decode, #initialize

Methods included from StructuredPayload

#encode, #initialize

Constructor Details

This class inherits a constructor from Nl::Raw::Message

Instance Method Details

#detach_time ⇒ Integer

Seconds in CLOCK_BOOTTIME of when Page Pool was detached by the driver. Once detached Page Pool can no longer be used to allocate memory. Page Pools wait for all the memory allocated from them to be freed before truly disappearing. "Detached" Page Pools cannot be "re-attached", they are just waiting to disappear. Attribute is absent if Page Pool has not been detached, and can still be used to allocate new memory.

Returns:

  • (Integer)

See Also:



2981
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2981

def detach_time; attributes[:"detach_time"]&.value; end

#dmabuf ⇒ Integer

ID of the dmabuf this page-pool is attached to.

Returns:

  • (Integer)

See Also:



2986
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2986

def dmabuf; attributes[:"dmabuf"]&.value; end

#id ⇒ Integer

Unique ID of a Page Pool instance.

Returns:

  • (Integer)

See Also:



2943
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2943

def id; attributes[:"id"]&.value; end

#ifindex ⇒ Integer

ifindex of the netdev to which the pool belongs. May not be reported if the page pool was allocated for a netdev which got destroyed already (page pools may outlast their netdevs because they wait for all memory to be returned).

Returns:

  • (Integer)

See Also:



2951
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2951

def ifindex; attributes[:"ifindex"]&.value; end

#inflight ⇒ Integer

Number of outstanding references to this page pool (allocated but yet to be freed pages). Allocated pages may be held in socket receive queues, driver receive ring, page pool recycling ring, the page pool cache, etc.

Returns:

  • (Integer)

See Also:



2964
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2964

def inflight; attributes[:"inflight"]&.value; end

#inflight_mem ⇒ Integer

Amount of memory held by inflight pages.

Returns:

  • (Integer)

See Also:



2969
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2969

def inflight_mem; attributes[:"inflight_mem"]&.value; end

#io_uring ⇒ AttributeSets::IoUringProviderInfo

io-uring memory provider information.



2991
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2991

def io_uring; attributes[:"io_uring"]&.value; end

#napi_id ⇒ Integer

Id of NAPI using this Page Pool instance.

Returns:

  • (Integer)

See Also:



2956
# File 'nl-linux/generated/nl/linux/netdev.rb', line 2956

def napi_id; attributes[:"napi_id"]&.value; end