1
# networkconfig.py - Copyright (C) 2009 Red Hat, Inc.
2
# Written by Darryl L. Pierce <dpierce@redhat.com>
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; version 2 of the License.
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16
# MA 02110-1301, USA. A copy of the GNU General Public License is
17
# also available at http://www.gnu.org/copyleft/gpl.html.
25
self.set_ipv4_address("192.168.100.0/24")
26
self.__isolated_network = True
27
self.__physical_device = ""
29
def set_name(self, name):
35
def set_ipv4_address(self, address):
36
self.__ipv4_address = IP(address)
37
start = int(self.__ipv4_address.len() / 2)
38
end = self.__ipv4_address.len() - 2
39
self.__ipv4_start = str(self.__ipv4_address[start])
40
self.__ipv4_end = str(self.__ipv4_address[end])
42
def get_ipv4_address(self):
43
return self.__ipv4_address.strNormal()
45
def get_ipv4_address_raw(self):
46
return self.__ipv4_address
48
def get_ipv4_netmask(self):
49
return self.__ipv4_address.netmask().strNormal()
51
def get_ipv4_broadcast(self):
52
return self.__ipv4_address.broadcast().strNormal()
54
def get_ipv4_gateway(self):
55
return str(self.__ipv4_address[1])
57
def get_ipv4_max_addresses(self):
58
return self.__ipv4_address.len()
60
def get_ipv4_network_type(self):
61
return self.__ipv4_address.iptype()
63
def is_public_ipv4_network(self):
64
if self.__ipv4_address.iptype() is "PUBLIC":
68
def set_ipv4_start_address(self, address):
69
self.__ipv4_start = address
71
def get_ipv4_start_address(self):
72
return self.__ipv4_start
74
def set_ipv4_end_address(self, address):
75
self.__ipv4_end = address
77
def get_ipv4_end_address(self):
78
return self.__ipv4_end
80
def is_bad_address(self, address):
81
return not self.__ipv4_address.overlaps(address)
83
def set_isolated_network(self, isolated):
84
self.__isolated_network = isolated
86
def is_isolated_network(self):
87
return self.__isolated_network
89
def set_physical_device(self, device):
90
self.__physical_device = device
92
def get_physical_device(self):
93
return self.__physical_device
95
def get_physical_device_text(self):
96
if self.__physical_device == "":
97
return "any physical device"
99
return "physical device %s" % self.__physical_device