Class: Nl::Linux::RtRule

Inherits:
Raw::Family show all
Defined in:
nl-linux/generated/nl/linux/rt_rule.rb

Overview

FIB rule management over rtnetlink.

Defined Under Namespace

Modules: AttributeSets, Enums, Messages, Notifications, Structs Classes: AsyncOperations

Constant Summary collapse

NAME =
"rt-rule"
PROTONUM =
0

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) ⇒ RtRule .open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) {|family| ... } ⇒ Object

Overloads:

  • .open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) ⇒ RtRule

    Parameters:

    • executor (Symbol, nil) (defaults to: nil)
    • notification_capacity (Integer, nil) (defaults to: DEFAULT_NOTIFICATION_CAPACITY)

    Returns:

  • .open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY) {|family| ... } ⇒ Object

    Returns the result of the block.

    Parameters:

    • executor (Symbol, nil) (defaults to: nil)
    • notification_capacity (Integer, nil) (defaults to: DEFAULT_NOTIFICATION_CAPACITY)

    Yield Parameters:

    Returns:

    • (Object) —

      the result of the block



24
25
26
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 24

def self.open(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.

Parameters:

  • stream_capacity (::Integer, nil) (defaults to: nil)

Returns:



1364
1365
1366
1367
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 1364

def async(stream_capacity: nil)
  return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
  build_async_facade(AsyncOperations, stream_capacity:)
end

#do_delrule(**args) ⇒ void

This method returns an undefined value.

Remove an existing FIB rule

Parameters:

  • args (Hash)

Options Hash (**args):

  • family (Integer)
  • dst_len (Integer)
  • src_len (Integer)
  • tos (Integer)
  • table (Integer)
  • action (Integer)
  • flags (Integer)
  • iifname (String)
  • goto (Integer)
  • priority (Integer)
  • fwmark (Integer)
  • flow (Integer)
  • tun_id (Integer)
  • suppress_ifgroup (Integer)
  • suppress_prefixlen (Integer)
  • fwmask (Integer)
  • oifname (String)
  • l3mdev (Integer)
  • uid_range (Structs::FibRuleUidRange, Hash<Symbol, Object>)
  • protocol (Integer)
  • ip_proto (Integer)
  • sport_range (Structs::FibRulePortRange, Hash<Symbol, Object>)
  • dport_range (Structs::FibRulePortRange, Hash<Symbol, Object>)
  • dscp (Integer)
  • flowlabel (Integer)
  • flowlabel_mask (Integer)
  • sport_mask (Integer)
  • dport_mask (Integer)
  • dscp_mask (Integer)

See Also:



1232
1233
1234
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 1232

def do_delrule(**args)
  exchange_message(:"do", Messages::DoDelruleRequest, nil, args)
end

#do_newrule(**args) ⇒ void

This method returns an undefined value.

Add new FIB rule

Parameters:

  • args (Hash)

Options Hash (**args):

  • family (Integer)
  • dst_len (Integer)
  • src_len (Integer)
  • tos (Integer)
  • table (Integer)
  • action (Integer)
  • flags (Integer)
  • iifname (String)
  • goto (Integer)
  • priority (Integer)
  • fwmark (Integer)
  • flow (Integer)
  • tun_id (Integer)
  • suppress_ifgroup (Integer)
  • suppress_prefixlen (Integer)
  • fwmask (Integer)
  • oifname (String)
  • l3mdev (Integer)
  • uid_range (Structs::FibRuleUidRange, Hash<Symbol, Object>)
  • protocol (Integer)
  • ip_proto (Integer)
  • sport_range (Structs::FibRulePortRange, Hash<Symbol, Object>)
  • dport_range (Structs::FibRulePortRange, Hash<Symbol, Object>)
  • dscp (Integer)
  • flowlabel (Integer)
  • flowlabel_mask (Integer)
  • sport_mask (Integer)
  • dport_mask (Integer)
  • dscp_mask (Integer)

See Also:



1195
1196
1197
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 1195

def do_newrule(**args)
  exchange_message(:"do", Messages::DoNewruleRequest, nil, args)
end

#dump_getrule(**args) ⇒ Array<Messages::DumpGetruleReply> #dump_getrule(**args) {|reply| ... } ⇒ void

Dump all FIB rules

Overloads:

  • #dump_getrule(**args) ⇒ Array<Messages::DumpGetruleReply>

    Returns an array when no block is given.

    Parameters:

    • args (Hash)

    Options Hash (**args):

    • family (Integer)
    • dst_len (Integer)
    • src_len (Integer)
    • tos (Integer)
    • table (Integer)
    • action (Integer)
    • flags (Integer)

    Returns:

  • #dump_getrule(**args) {|reply| ... } ⇒ void

    This method returns an undefined value.

    Yields each reply when a block is given.

    Parameters:

    • args (Hash)

    Options Hash (**args):

    • family (Integer)
    • dst_len (Integer)
    • src_len (Integer)
    • tos (Integer)
    • table (Integer)
    • action (Integer)
    • flags (Integer)

    Yield Parameters:

See Also:



1262
1263
1264
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 1262

def dump_getrule(**args, &block)
  exchange_message(:"dump", Messages::DumpGetruleRequest, Messages::DumpGetruleReply, args, &block)
end

#subscribe(*groups) ⇒ self

Parameters:

  • groups (Array<:rtnlgrp_ipv4_rule, :rtnlgrp_ipv6_rule>)

Returns:

  • (self)


1371
1372
1373
1374
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 1371

def subscribe(*groups) = super
# @rbs (*(:rtnlgrp_ipv4_rule | :rtnlgrp_ipv6_rule) groups) -> self
# @param [Array<:rtnlgrp_ipv4_rule, :rtnlgrp_ipv6_rule>] groups
# @return [self]

#unsubscribe(*groups) ⇒ self

Parameters:

  • groups (Array<:rtnlgrp_ipv4_rule, :rtnlgrp_ipv6_rule>)

Returns:

  • (self)


1375
# File 'nl-linux/generated/nl/linux/rt_rule.rb', line 1375

def unsubscribe(*groups) = super