File: changelog.rst.txt

package info (click to toggle)
pyroute2 0.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,028 kB
  • sloc: python: 19,815; ansic: 81; makefile: 14
file content (436 lines) | stat: -rw-r--r-- 17,023 bytes parent folder | download | duplicates (2)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
Changelog
=========

* 0.5.2
    * ndb: read-only DB prototype
    * remote: support communication via stdio
    * general: fix async keyword -- Python 3.7 compatibility
        * <https://github.com/svinota/pyroute2/issues/467>
        * <https://bugzilla.redhat.com/show_bug.cgi?id=1583800>
    * iproute: support monitoring on BSD systems via PF_ROUTE
    * rtnl: support for SQL schema in message classes
    * nl80211: improvements
        * <https://github.com/svinota/pyroute2/issues/512>
        * <https://github.com/svinota/pyroute2/issues/514>
        * <https://github.com/svinota/pyroute2/issues/515>
    * netlink: support generators
* 0.5.1
    * ipdb: #310 -- route keying fix
    * ipdb: #483, #484 -- callback internals change
    * ipdb: #499 -- eventloop interface
    * ipdb: #500 -- fix non-default :: routes
    * netns: #448 -- API change: setns() doesn't remove FD
    * netns: #504 -- fix resource leakage
    * bsd: initial commits
* 0.5.0
    * ACHTUNG: ipdb commit logic is changed
    * ipdb: do not drop failed transactions
    * ipdb: #388 -- normalize IPv6 addresses
    * ipdb: #391 -- support both IPv4 and IPv6 default routes
    * ipdb: #392 -- fix MPLS route key reference
    * ipdb: #394 -- correctly work with route priorities
    * ipdb: #408 -- fix IPv6 routes in tables >= 256
    * ipdb: #416 -- fix VRF interfaces creation
    * ipset: multiple improvements
    * tuntap: #469 -- support s390x arch
    * nlsocket: #443 -- fix socket methods resolve order for Python2
    * netns: non-destructive `netns.create()`
* 0.4.18
    * ipdb: #379 [critical] -- routes in global commits
    * ipdb: #380 -- global commit with disabled plugins
    * ipdb: #381 -- exceptions fixed
    * ipdb: #382 -- manage dependent routes during interface commits
    * ipdb: #384 -- global `review()`
    * ipdb: #385 -- global `drop()`
    * netns: #383 -- support ppc64
    * general: public API refactored (same signatures; to be documented)
* 0.4.17
    * req: #374 [critical] -- mode nla init
    * iproute: #378 [critical] -- fix `flush_routes()` to respect filters
    * ifinfmsg: #376 -- fix data plugins API to support pyinstaller
* 0.4.16
    * ipdb: race fixed: remove port/bridge
    * ipdb: #280 -- race fixed: port/bridge
    * ipdb: #302 -- ipaddr views: [ifname].ipaddr.ipv4, [ifname]ipaddr.ipv6
    * ipdb: #357 -- allow bridge timings to have some delta
    * ipdb: #338 -- allow to fix interface objects from failed `create()`
    * rtnl: #336 -- fix vlan flags
    * iproute: #342 -- the match method takes any callable
    * nlsocket: #367 -- increase default SO_SNDBUF
    * ifinfmsg: support tuntap on armv6l, armv7l platforms
* 0.4.15
    * req: #365 -- full and short nla notation fixed, critical
    * iproute: #364 -- new method, `brport()`
    * ipdb: -- support bridge port options
* 0.4.14
    * event: new genl protocols set: VFS_DQUOT, acpi_event, thermal_event
    * ipdb: #310 -- fixed priority change on routes
    * ipdb: #349 -- fix setting ifalias on interfaces
    * ipdb: #353 -- mitigate kernel oops during bridge creation
    * ipdb: #354 -- allow to explicitly choose plugins to load
    * ipdb: #359 -- provide read-only context managers
    * rtnl: #336 -- vlan flags support
    * rtnl: #352 -- support interface type plugins
    * tc: #344 -- mirred action
    * tc: #346 -- connmark action
    * netlink: #358 -- memory optimization
    * config: #360 -- generic asyncio config
    * iproute: #362 -- allow to change or replace a qdisc
* 0.4.13
    * ipset: full rework of the IPSET_ATTR_DATA and IPSET_ATTR_ADT
      ACHTUNG: this commit may break API compatibility
    * ipset: hash:mac support
    * ipset: list:set support
    * ipdb: throw EEXIST when creates VLAN/VXLAN devs with same ID, but
      under different names
    * tests: #329 -- include unit tests into the bundle
    * legal: E/// logo removed
* 0.4.12
    * ipdb: #314 -- let users choose RTNL groups IPDB listens to
    * ipdb: #321 -- isolate `net_ns_.*` setup in a separate code block
    * ipdb: #322 -- IPv6 updates on interfaces in DOWN state
    * ifinfmsg: allow absolute/relative paths in the net_ns_fd NLA
    * ipset: #323 -- support setting counters on ipset add
    * ipset: `headers()` command
    * ipset: revisions
    * ipset: #326 -- mark types
* 0.4.11
    * rtnl: #284 -- support vlan_flags
    * ipdb: #288 -- do not inore link-local addresses
    * ipdb: #300 -- sort ip addresses
    * ipdb: #306 -- support net_ns_pid
    * ipdb: #307 -- fix IPv6 routes management
    * ipdb: #311 -- vlan interfaces address loading
    * iprsocket: #305 -- support NETLINK_LISTEN_ALL_NSID
* 0.4.10
    * devlink: fix fd leak on broken init
* 0.4.9
    * sock_diag: initial NETLINK_SOCK_DIAG support
    * rtnl: fix critical fd leak in the compat code
* 0.4.8
    * rtnl: compat proxying fix
* 0.4.7
    * rtnl: compat code is back
    * netns: custom netns path support
    * ipset: multiple improvements
* 0.4.6
    * ipdb: #278 -- fix initial ports mapping
    * ipset: #277 -- fix ADT attributes parsing
    * nl80211: #274, #275, #276 -- BSS-related fixes
* 0.4.5
    * ifinfmsg: GTP interfaces support
    * generic: devlink protocol support
    * generic: code cleanup
* 0.4.4
    * iproute: #262 -- `get_vlans()` fix
    * iproute: default mask 32 for IPv4 in `addr()`
    * rtmsg: #260 -- RTA_FLOW support
* 0.4.3
    * ipdb: #259 -- critical `Interface` class fix
    * benchmark: initial release
* 0.4.2
    * ipdb: event modules
    * ipdb: on-demand views
    * ipdb: rules management
    * ipdb: bridge controls
    * ipdb: #258 -- important Python compatibility fixes
    * netns: #257 -- pipe leak fix
    * netlink: support pickling for nlmsg
* 0.4.1
    * netlink: no buffer copying in the parser
    * netlink: parse NLA on demand
    * ipdb: #244 -- lwtunnel multipath fixes
    * iproute: #235 -- route types
    * docs updated
* 0.4.0
    * ACHTUNG: old kernels compatibility code is dropped
    * ACHTUNG: IPDB uses two separate sockets for monitoring and commands
    * ipdb: #244 -- multipath lwtunnel
    * ipdb: #242 -- AF_MPLS routes
    * ipdb: #241, #234 -- fix create(..., reuse=True)
    * ipdb: #239 -- route encap and metrics fixed
    * ipdb: #238 -- generic port management
    * ipdb: #235 -- support route scope and type
    * ipdb: #230, #232 -- routes GC (work in progress)
    * rtnl: #245 -- do not fail if `/proc/net/psched` doesn't exist
    * rtnl: #233 -- support VRF interfaces (requires net-next)
* 0.3.21
    * ipdb: #231 -- return `ipdb.common` as deprecated
* 0.3.20
    * iproute: `vlan_filter()`
    * iproute: #229 -- FDB management
    * general: exceptions re-exported via the root module
* 0.3.19
    * rtmsg: #227 -- MPLS lwtunnel basic support
    * iproute: `route()` docs updated
    * general: #228 -- exceptions layout changed
    * package-rh: rpm subpackages
* 0.3.18
    * version bump -- include docs in the release tarball
* 0.3.17
    * tcmsg: qdiscs and filters as plugins
    * tcmsg: #223 -- tc clsact and bpf direct-action
    * tcmsg: plug, codel, choke, drr qdiscs
    * tests: CI in VMs (see civm project)
    * tests: xunit output
    * ifinfmsg: tuntap support in i386, i686
    * ifinfmsg: #207 -- support vlan filters
    * examples: #226 -- included in the release tarball
    * ipdb: partial commits, initial support
* 0.3.16
    * ipdb: fix the multiple IPs in one commit case
    * rtnl: support veth peer attributes
    * netns: support 32bit i686
    * netns: fix MIPS support
    * netns: fix tun/tap creation
    * netns: fix interface move between namespaces
    * tcmsg: support hfsc, fq_codel, codel qdiscs
    * nftables: initial support
    * netlink: dump/load messages to/from simple types
* 0.3.15
    * netns: #194 -- fix fd leak
    * iproute: #184 -- fix routes dump
    * rtnl: TCA_ACT_BPF support
    * rtnl: ipvlan support
    * rtnl: OVS support removed
    * iproute: rule() improved to support all NLAs
    * project supported by Ericsson
* 0.3.14
    * package-rh: spec fixed
    * package-rh: both licenses added
    * remote: fixed the setup.py record
* 0.3.13
    * package-rh: new rpm for Fedora and CentOS
    * remote: new draft of the remote protocol
    * netns: refactored using the new remote protocol
    * ipdb: gretap support
* 0.3.12
    * ipdb: new `Interface.wait_ip()` routine
    * ipdb: #175 -- fix `master` attribute cleanup
    * ipdb: #171 -- support multipath routes
    * ipdb: memory consumption improvements
    * rtmsg: MPLS support
    * rtmsg: RTA_VIA support
    * iwutil: #174 -- fix FREQ_FIXED flag
* 0.3.11
    * ipdb: #161 -- fix memory allocations
    * nlsocket: #161 -- remove monitor mode
* 0.3.10
    * rtnl: added BPF filters
    * rtnl: LWtunnel support in ifinfmsg
    * ipdb: support address attributes
    * ipdb: global transactions, initial version
    * ipdb: routes refactored to use key index (speed up)
    * config: eventlet support embedded (thanks to Angus Lees)
    * iproute: replace tc classes
    * iproute: flush_addr(), flush_rules()
    * iproute: rule() refactored
    * netns: proxy file objects (stdin, stdout, stderr)
* 0.3.9
    * root imports: #109, #135 -- `issubclass`, `isinstance`
    * iwutil: multiple improvements
    * iwutil: initial tests
    * proxy: correctly forward NetlinkError
    * iproute: neighbour tables support
    * iproute: #147, filters on dump calls
    * config: initial usage of `capabilities`
* 0.3.8
    * docs: inheritance diagrams
    * nlsocket: #126, #132 -- resource deallocation
    * arch: #128, #131 -- MIPS support
    * setup.py: #133 -- syntax error during install on Python2
* 0.3.7
    * ipdb: new routing syntax
    * ipdb: sync interface movement between namespaces
    * ipdb: #125 -- fix route metrics
    * netns: new class NSPopen
    * netns: #119 -- i386 syscall
    * netns: #122 -- return correct errno
    * netlink: #126 -- fix socket reuse
* 0.3.6
    * dhcp: initial release DHCPv4
    * license: dual GPLv2+ and Apache v2.0
    * ovs: port add/delete
    * macvlan, macvtap: basic support
    * vxlan: basic support
    * ipset: basic support
* 0.3.5
    * netns: #90 -- netns setns support
    * generic: #99 -- support custom basic netlink socket classes
    * proxy-ng: #106 -- provide more diagnostics
    * nl80211: initial nl80211 support, iwutil module added
* 0.3.4
    * ipdb: #92 -- route metrics support
    * ipdb: #85 -- broadcast address specification
    * ipdb, rtnl: #84 -- veth support
    * ipdb, rtnl: tuntap support
    * netns: #84 -- network namespaces support, NetNS class
    * rtnl: proxy-ng API
    * pypi: #91 -- embed docs into the tarball
* 0.3.3
    * ipdb: restart on error
    * generic: handle non-existing family case
    * [fix]: #80 -- Python 2.6 unicode vs -O bug workaround
* 0.3.2
    * simple socket architecture
    * all the protocols now are based on NetlinkSocket, see examples
    * rpc: deprecated
    * iocore: deprecated
    * iproute: single-threaded socket object
    * ipdb: restart on errors
    * rtnl: updated ifinfmsg policies
* 0.3.1
    * module structure refactored
    * new protocol: ipq
    * new protocol: nfnetlink / nf-queue
    * new protocol: generic
    * threadless sockets for all the protocols
* 0.2.16
    * prepare the transition to 0.3.x
* 0.2.15
    * ipdb: fr #63 -- interface settings freeze
    * ipdb: fr #50, #51 -- bridge & bond options (initial version)
    * RHEL7 support
    * [fix]: #52 -- HTB: correct rtab compilation
    * [fix]: #53 -- RHEL6.5 bridge races
    * [fix]: #55 -- IPv6 on bridges
    * [fix]: #58 -- vlans as bridge ports
    * [fix]: #59 -- threads sync in iocore
* 0.2.14
    * [fix]: #44 -- incorrect netlink exceptions proxying
    * [fix]: #45 -- multiple issues with device targets
    * [fix]: #46 -- consistent exceptions
    * ipdb: LinkedSet cascade updates fixed
    * ipdb: allow to reuse existing interface in `create()`
* 0.2.13
    * [fix]: #43 -- pipe leak in the main I/O loop
    * tests: integrate examples, import into tests
    * iocore: use own TimeoutException instead of Queue.Empty
    * iproute: default routing table = 254
    * iproute: flush_routes() routine
    * iproute: fwmark parameter for rule() routine
    * iproute: destination and mask for rules
    * docs: netlink development guide
* 0.2.12
    * [fix]: #33 -- release resources only for bound sockets
    * [fix]: #37 -- fix commit targets
    * rtnl: HFSC support
    * rtnl: priomap fixed
* 0.2.11
    * ipdb: watchdogs to sync on RTNL events
    * ipdb: fix commit errors
    * generic: NLA operations, complement and intersection
    * docs: more autodocs in the code
    * tests: -W error: more strict testing now
    * tests: cover examples by the integration testing cycle
    * with -W error many resource leaks were fixed
* 0.2.10
    * ipdb: command chaining
    * ipdb: fix for RHEL6.5 Python "optimizations"
    * rtnl: support TCA_U32_ACT
    * [fix]: #32 -- NLA comparison
* 0.2.9
    * ipdb: support bridges and bonding interfaces on RHEL
    * ipdb: "shadow" interfaces (still in alpha state)
    * ipdb: minor fixes on routing and compat issues
    * ipdb: as a separate package (sub-module)
    * docs: include ipdb autodocs
    * rpc: include in setup.py
* 0.2.8
    * netlink: allow multiple NetlinkSocket allocation from one process
    * netlink: fix defragmentation for netlink-over-tcp
    * iocore: support forked IOCore and IOBroker as a separate process
    * ipdb: generic callbacks support
    * ipdb: routing support
    * rtnl: #30 -- support IFLA_INFO_DATA for bond interfaces
* 0.2.7
    * ipdb: use separate namespaces for utility functions and other stuff
    * ipdb: generic callbacks (see also IPDB.wait_interface())
    * iocore: initial multipath support
    * iocore: use of 16byte uuid4 for packet ids
* 0.2.6
    * rpc: initial version, REQ/REP, PUSH/PULL
    * iocore: shared IOLoop
    * iocore: AddrPool usage
    * iproute: policing in FW filter
    * python3 compatibility issues fixed
* 0.2.4
    * python3 compatibility issues fixed, tests passed
* 0.2.3
    * [fix]: #28 -- bundle issue
* 0.2.2
    * iocore: new component
    * iocore: separate IOCore and IOBroker
    * iocore: change from peer-to-peer to flat addresses
    * iocore: REP/REQ, PUSH/PULL
    * iocore: support for UDP PUSH/PULL
    * iocore: AddrPool component for addresses and nonces
    * generic: allow multiple re-encoding
* 0.1.12
    * ipdb: transaction commit callbacks
    * iproute: delete root qdisc (@chantra)
    * iproute: netem qdisc management (@chantra)
* 0.1.11
    * netlink: get qdiscs for particular interface
    * netlink: IPRSocket threadless objects
    * rtnl: u32 policy setup
    * iproute: filter actions, such as `ok`, `drop` and so on
    * iproute: changed syntax of commands, `action` → `command`
    * tests: htb, tbf tests added
* 0.1.10
    * [fix]: #8 -- default route fix, routes filtering
    * [fix]: #9 -- add/delete route routine improved
    * [fix]: #10 -- shutdown sequence fixed
    * [fix]: #11 -- close IPC pipes on release()
    * [fix]: #12 -- stop service threads on release()
    * netlink: debug mode added to be used with GUI
    * ipdb: interface removal
    * ipdb: fail on transaction sync timeout
    * tests: R/O mode added, use `export PYROUTE2_TESTS_RO=True`
* 0.1.9
    * tests: all races fixed
    * ipdb: half-sync commit(): wait for IPs and ports lists update
    * netlink: use pipes for in-process communication
    * Python 2.6 compatibility issue: remove copy.deepcopy() usage
    * QPython 2.7 for Android: works
* 0.1.8
    * complete refactoring of class names
    * Python 2.6 compatibility issues
    * tests: code coverage, multiple code fixes
    * plugins: ptrace message source
    * packaging: RH package
* 0.1.7
    * ipdb: interface creation: dummy, bond, bridge, vlan
    * ipdb: if\_slaves interface obsoleted
    * ipdb: 'direct' mode
    * iproute: code refactored
    * examples: create() examples committed
* 0.1.6
    * netlink: tc ingress, sfq, tbf, htb, u32 partial support
    * ipdb: completely re-implemented transactional model (see docs)
    * generic: internal fields declaration API changed for nlmsg
    * tests: first unit tests committed
* 0.1.5
    * netlink: dedicated io buffering thread
    * netlink: messages reassembling
    * netlink: multi-uplink remote
    * netlink: masquerade remote requests
    * ipdb: represent interfaces hierarchy
    * iproute: decode VLAN info
* 0.1.4
    * netlink: remote netlink access
    * netlink: SSL/TLS server/client auth support
    * netlink: tcp and unix transports
    * docs: started sphinx docs
* 0.1.3
    * ipdb: context manager interface
    * ipdb: [fix] correctly handle ip addr changes in transaction
    * ipdb: [fix] make up()/down() methods transactional [#1]
    * iproute: mirror packets to 0 queue
    * iproute: [fix] handle primary ip address removal response
* 0.1.2
    * initial ipdb version
    * iproute fixes
* 0.1.1
    * initial release, iproute module