annotate Doc/library/ipaddr.rst @ 54294:dba767bc3155 legacy-trunk

remove mention of old ctypes version
author Benjamin Peterson <benjamin@python.org>
date Sat, 23 May 2009 20:59:09 +0000
parents 8fb19ca62e70
children e475cc71f188
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
1 :mod:`ipaddr` --- IP address manipulation library
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
2 =================================================
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
3
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
4 .. module:: ipaddr
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
5 :synopsis: IPv4 and IPv6 network address manipulation classes.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
6 .. moduleauthor:: Google, Inc.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
7 .. sectionauthor:: Gregory P. Smith <greg@krypto.org>
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
8
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
9
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
10 .. versionadded:: 2.7
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
11
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
12 .. index::
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
13 single: IP address, IPv4, IPv6, netmask
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
14
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
15 This module implements classes for working with IP host and network addresses,
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
16 both IPv4 and IPv6.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
17
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
18
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
19 .. function:: IP(ipaddr)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
20
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
21 Take an IP string or int and return an object of the correct type. Returns
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
22 an :class:`IPv4` or :class:`IPv6` object.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
23
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
24 The *ipaddr* parameter must be a string or integer representing the IP
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
25 address. Either IPv4 or IPv6 addresses may be supplied. Integers less than
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
26 2**32 will be considered to be IPv4.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
27
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
28 Raises :exc:`ValueError` if the *ipaddr* passed is not either an IPv4 or an
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
29 IPv6 address.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
30
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
31
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
32 .. function:: collapse_address_list(addresses)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
33
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
34 Collapse a sequence of :class:`IPv4` or :class:`IPv6` objects into the most
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
35 concise representation. Returns a list of :class:`IPv4` or :class:`IPv6`
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
36 objects.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
37
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
38 Example usage::
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
39
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
40 >>> collapse_address_list([IPv4('1.1.0.0/24'), IPv4('1.1.1.0/24')])
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
41 [IPv4('1.1.0.0/23')]
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
42
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
43
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
44 .. class:: BaseIP()
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
45
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
46 A generic IP address object. This base class defines the API and contains
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
47 common code. Most authors should either use the :func:`IP` function or
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
48 create :class:`IPv4` or :class:`IPv6` objects directly rather than using this
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
49 base class.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
50
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
51 IP address objects support the following python operators:
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
52 ``=``, ``!=``, ``<``, ``>``, ``<=``, ``>=``, and ``in``.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
53
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
54 An IP address object may be used as a sequence index or as a hash key and can
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
55 be converted back to an integer representation using :func:`int`. It may
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
56 also be used as a sequence that yields the string representation of every IP
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
57 address within the object's subnet.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
58
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
59 The following properties are available on all IP address objects:
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
60
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
61 .. attribute:: broadcast
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
62
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
63 Integer representation of the broadcast address. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
64
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
65 .. attribute:: broadcast_ext
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
66
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
67 Dotted decimal or colon string version of the broadcast address. Read
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
68 only.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
69
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
70 .. attribute:: hostmask
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
71
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
72 Integer representation of the hostmask. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
73
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
74 .. attribute:: hostmask_ext
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
75
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
76 Dotted decimal or colon string version of the hostmask. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
77
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
78 .. attribute:: ip
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
79
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
80 Integer representation of the IP address. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
81
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
82 .. attribute:: ip_ext
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
83
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
84 Dotted decimal or colon string version of the IP address. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
85
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
86 .. attribute:: ip_ext_full
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
87
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
88 Canonical string version of the IP address. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
89
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
90 .. attribute:: is_loopback
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
91
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
92 True if the address is a loopback address as defined in IPv4 :rfc:`3330`
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
93 or IPv6 :rfc:`2373` section 2.5.3.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
94
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
95 .. attribute:: is_link_local
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
96
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
97 True if the address is a link-local address as defined in IPv4 :rfc:`3927`
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
98 or IPv6 :rfc:`4291`.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
99
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
100 .. attribute:: is_multicast
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
101
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
102 True if the address is reserved for multicast use. See IPv4 :rfc:`3171`
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
103 or IPv6 :rfc:`2373` section 2.7 for details.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
104
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
105 .. attribute:: is_private
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
106
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
107 True if the address is reserved for private networks as defined in IPv4
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
108 :rfc:`1918` or IPv6 :rfc:`4193`.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
109
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
110 .. attribute:: netmask
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
111
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
112 Integer representation of the netmask. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
113
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
114 .. attribute:: netmask_ext
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
115
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
116 Dotted decimal or colon string version of the netmask. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
117
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
118 .. attribute:: network
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
119
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
120 Integer representation of the network. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
121
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
122 .. attribute:: network_ext
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
123
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
124 Dotted decimal or colon string version of the network. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
125
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
126 .. attribute:: numhosts
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
127
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
128 Number of hosts in the current subnet. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
129
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
130 .. attribute:: packed
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
131
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
132 The packed network byte order representation of this network address.
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
133 Read only.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
134
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
135 .. attribute:: prefixlen
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
136
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
137 A property to get and set the prefix length. Readable and writeable.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
138
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
139 .. attribute:: version
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
140
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
141 Integer IP version number. Read only.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
142
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
143
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
144 The following methods are available on all IP address objects:
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
145
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
146 .. method:: address_exclude(other)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
147
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
148 Remove an address from within a larger block. Returns a sorted list of IP
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
149 address objects representing networks.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
150
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
151 Examples::
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
152
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
153 >>> addr1 = IP('10.1.1.0/24')
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
154 >>> addr2 = IP('10.1.1.0/26')
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
155 >>> addr1.address_exclude(addr2)
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
156 [IP('10.1.1.64/26'), IP('10.1.1.128/25')]
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
157
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
158 >>> addr1 = IP('::1/32')
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
159 >>> addr2 = IP('::1/128')
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
160 >>> addr1.address_exclude(addr2)
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
161 [IP('::0/128'), IP('::2/127'), IP('::4/126'), IP('::8/125'),
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
162 ... IP('0:0:8000::/33')]
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
163
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
164 Raises :exc:`ValueError` if *other* is not completely contained by *self*.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
165
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
166
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
167 .. method:: compare_networks(other)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
168
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
169 Compare this IP object's network to another IP network.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
170 Returns -1, 0 or 1.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
171
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
172 This compares the integer representation of the network addresses. The
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
173 host bits are not considered by this method. If you want to compare host
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
174 bits, you can use ``host_a.ip < host_b.ip``.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
175
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
176 If the IP versions of self and other are the same, returns:
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
177
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
178 -1 if self < other
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
179 eg: IPv4('1.1.1.0/24') < IPv4('1.1.2.0/24')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
180
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
181 IPv6('1080::200C:417A') < IPv6('1080::200B:417B')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
182
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
183 0 if self == other
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
184 eg: IPv4('1.1.1.1/24') == IPv4('1.1.1.2/24')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
185
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
186 IPv6('1080::200C:417A/96') == IPv6('1080::200C:417B/96')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
187
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
188 1 if self > other
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
189 eg: IPv4('1.1.1.0/24') > IPv4('1.1.0.0/24')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
190
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
191 IPv6('1080::1:200C:417A/112') > IPv6('1080::0:200C:417A/112')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
192
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
193 If the IP versions of self and other are different, returns:
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
194
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
195 -1 if self.version < other.version
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
196 eg: IPv4('10.0.0.1/24') < IPv6('::1/128')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
197
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
198 1 if self.version > other.version
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
199 eg: IPv6('::1/128') > IPv4('255.255.255.0/24')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
200
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
201
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
202 .. method:: subnet(prefixlen_diff=1)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
203
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
204 Returns a list of subnets which when joined make up the current subnet.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
205
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
206 The optional *prefixlen_diff* argument specifies how many bits the prefix
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
207 length should be increased by. Given a /24 network and
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
208 ``prefixlen_diff=3``, for example, 8 subnets of size /27 will be returned.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
209
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
210 If called on a host IP address rather than a network, a list containing
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
211 the host itself will be returned.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
212
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
213 Raises :exc:`PrefixlenDiffInvalidError` if the *prefixlen_diff* is out of
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
214 range.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
215
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
216
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
217 .. method:: supernet(prefixlen_diff=1)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
218
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
219 Returns a single IP object representing the supernet containing the
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
220 current network.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
221
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
222 The optional *prefixlen_diff* argument specifies how many bits the prefix
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
223 length should be decreased by. Given a /24 network and
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
224 ``prefixlen_diff=3``, for example, a supernet with a 21 bit netmask is
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
225 returned.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
226
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
227 Raises :exc:`PrefixlenDiffInvalidError` if the prefixlen_diff is out of
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
228 range.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
229
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
230
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
231 .. class:: IPv4()
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
232
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
233 This class represents and manipulates 32-bit IPv4 addresses.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
234
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
235 Attributes::
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
236
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
237 # These examples for IPv4('1.2.3.4/27')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
238 .ip: 16909060
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
239 .ip_ext: '1.2.3.4'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
240 .ip_ext_full: '1.2.3.4'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
241 .network: 16909056
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
242 .network_ext: '1.2.3.0'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
243 .hostmask: 31 (0x1F)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
244 .hostmask_ext: '0.0.0.31'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
245 .broadcast: 16909087 (0x102031F)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
246 .broadcast_ext: '1.2.3.31'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
247 .netmask: 4294967040 (0xFFFFFFE0)
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
248 .netmask_ext: '255.255.255.224'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
249 .prefixlen: 27
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
250
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
251
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
252 .. class:: IPv6()
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
253
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
254 This class respresents and manipulates 128-bit IPv6 addresses.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
255
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
256 Attributes::
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
257
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
258 # These examples are for IPv6('2001:658:22A:CAFE:200::1/64')
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
259 .ip: 42540616829182469433547762482097946625
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
260 .ip_ext: '2001:658:22a:cafe:200::1'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
261 .ip_ext_full: '2001:0658:022a:cafe:0200:0000:0000:0001'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
262 .network: 42540616829182469433403647294022090752
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
263 .network_ext: '2001:658:22a:cafe::'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
264 .hostmask: 18446744073709551615
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
265 .hostmask_ext: '::ffff:ffff:ffff:ffff'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
266 .broadcast: 42540616829182469451850391367731642367
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
267 .broadcast_ext: '2001:658:22a:cafe:ffff:ffff:ffff:ffff'
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
268 .netmask: 340282366920938463444927863358058659840
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
269 .netmask_ext: 64
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
270 .prefixlen: 64
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
271
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
272 .. attribute:: is_site_local
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
273
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
274 True if the address was reserved as site-local in :rfc:`3513` section
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
275 2.5.6.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
276
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
277 .. note::
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
278
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
279 The IPv6 site-local address space has been deprecated by :rfc:`3879`.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
280 Use :data:`is_private` to test if this address is in the space of
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
281 unique local addresses as defined by :rfc:`4193`.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
282
53658
8fb19ca62e70 Fix directive name.
Georg Brandl <georg@python.org>
parents: 53657
diff changeset
283 .. attribute:: is_unspecified
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
284
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
285 True if this is the unspecified address as defined in :rfc:`2373` section
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
286 2.5.2.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
287
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
288
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
289 The following exceptions are defined by this module:
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
290
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
291 .. exception:: Error
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
292
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
293 Base class for all exceptions defined in this module.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
294
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
295 .. exception:: IPTypeError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
296
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
297 Tried to perform a v4 action on v6 object or vice versa.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
298
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
299 .. exception:: IPAddressExclusionError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
300
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
301 An Error we should never see occurred in address exclusion.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
302
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
303 .. exception:: IPv4IpValidationError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
304
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
305 Raised when an IPv4 address is invalid.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
306
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
307 .. exception:: IPv4NetmaskValidationError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
308
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
309 Raised when a netmask is invalid.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
310
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
311 .. exception:: IPv6IpValidationError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
312
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
313 Raised when an IPv6 address is invalid.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
314
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
315 .. exception:: IPv6NetmaskValidationError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
316
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
317 Raised when an IPv6 netmask is invalid.
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
318
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
319 .. exception:: PrefixlenDiffInvalidError
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
320
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
321 Raised when :meth:`BaseIP.subnet` or :meth:`BaseIP.supernet` is called with a
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
322 bad ``prefixlen_diff``.
53660
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
323
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
324
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
325 .. seealso::
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
326
0d817e8ed3eb Merged revisions 72173 via svnmerge from
Gregory P. Smith <greg@mad-scientist.com>
parents:
diff changeset
327 http://code.google.com/p/ipaddr-py/
53657
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
328 The original source of this module and a place to download it as a package
8963cd858ad6 Review ipaddr docs and add them in the TOC under "Internet protocols".
Georg Brandl <georg@python.org>
parents: 53660
diff changeset
329 for use on earlier versions of Python.