-
Notifications
You must be signed in to change notification settings - Fork 34
/
route.rb
53 lines (51 loc) · 1.89 KB
/
route.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Copyright (c) [2019] SUSE LLC
#
# All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as published
# by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, contact SUSE LLC.
#
# To contact SUSE LLC about this file by physical or electronic mail, you may
# find current contact information at www.suse.com.
module Y2Network
# This class represents a network route
class Route
# @return [IPAddr,:default] Destination; :default if it is the default route
attr_accessor :to
# @return [Interface,:any] Interface to associate the route to; :any if no interface is given
attr_accessor :interface
# @return [IPAddr,nil] Source IP address ('src' in ip route)
attr_accessor :source
# @return [IPAddr,nil] Gateway IP address ('via' in ip route)
attr_accessor :gateway
# @return [String] Additional options
attr_accessor :options
# @param to [IPAddr,:default] Destination
# @param interface [Interface,:any] Interface to associate the root to
# @param gateway [IPAddr,nil] Gateway IP
# @param source [IPAddr,nil] Source IP
# @param options [String] Additional options
def initialize(to: :default, interface: :any, gateway: nil, source: nil, options: "")
@to = to
@interface = interface
@gateway = gateway
@source = source
@options = options
end
# Determines whether it is the default route or not
#
# @return [Boolean]
def default?
to == :default
end
end
end