Class: Nl::Linux::OvsPacket
- Inherits:
-
Genl::Family
- Object
- Family
- Genl::Family
- Nl::Linux::OvsPacket
- Defined in:
- nl-linux/generated/nl/linux/ovs_packet.rb
Overview
OVS packet execution over generic netlink.
Only OVS_PACKET_CMD_EXECUTE is exposed as a genl operation. OVS_PACKET_CMD_MISS and OVS_PACKET_CMD_ACTION are kernel-to-userspace upcalls sent via genlmsg_unicast() to the vport's upcall_pid and have no associated genl_ops or multicast group.
Several attributes in the attribute set (userdata, egress-tun-key, len) exist for the upcall path and are not used by the EXECUTE operation. For EXECUTE, packet, key, and actions are mandatory (kernel returns -EINVAL without them).
Defined Under Namespace
Modules: AttributeSets, Messages, Notifications, Structs Classes: AsyncOperations
Constant Summary collapse
- NAME =
"ovs_packet"- VERSION =
1
Class Method Summary collapse
Instance Method Summary collapse
-
#async(stream_capacity: nil) ⇒ AsyncOperations
Returns the asynchronous operation facade for this family.
-
#do_execute(**args) ⇒ void
Apply actions to a packet.
Methods inherited from Genl::Family
Class Method Details
.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) ⇒ OvsPacket .open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) {|family| ... } ⇒ Object
36 37 38 |
# File 'nl-linux/generated/nl/linux/ovs_packet.rb', line 36 def self.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) super end |
Instance Method Details
#async(stream_capacity: nil) ⇒ AsyncOperations
Returns the asynchronous operation facade for this family.
447 448 449 450 |
# File 'nl-linux/generated/nl/linux/ovs_packet.rb', line 447 def async(stream_capacity: nil) return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil? build_async_facade(AsyncOperations, stream_capacity:) end |
#do_execute(**args) ⇒ void
This method returns an undefined value.
Apply actions to a packet.
415 416 417 |
# File 'nl-linux/generated/nl/linux/ovs_packet.rb', line 415 def do_execute(**args) (:"do", Messages::DoExecuteRequest, nil, args) end |