forked from majek/openonload
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
1608 lines (1462 loc) · 88.2 KB
/
ChangeLog
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
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
openonload-201606
-----------------
Update bundled sfc net driver to v4.8.2.1004
Add support for Solarflare Flareon Ultra 8500 NICs
Add support for recent kernel versions, OS distributions and gcc compiler versions
Add ef_vi "transmit alternatives" API
Add ef_vi capabilities API to allow runtime discovery of available features
Rework ef_vi sample applications and add new eflatency benchmark
Separate distribution of sfc_aoe kernel module from Onload
SF-116299-KI/bug59638: ensure filters are freed before endpoint is freed
SF-116030-KI/bug60602: Bug57274: fix multicast delivery to >2 receivers
bug1068: add route metric support
bug25461: add option for TCP to reply back on interface packets received on (basic source-based routing)
bug43435: fix rare kernel panic during onload module reload
bug45791: display interface name when timestamping failure message raised
bug50671: fix ef_memreg_alloc() with len=4GiB or larger.
bug51688: Add support for RX event batching to ef_vi and onload
bug52168: report whether hardware clock is in-sync via stackdump
bug53985: force TCP recv() to return 0 if properly shut down
bug54583: fixing search for syscall table for PPC Linux >= 3.8
bug54583: support for PowerPC ABIv2
bug55303: ensure sigaction sa_flags match Linux behaviour
bug55565: OnloadRemoteMonitor API update. Change from struct_type to variable name & less verbose output for array of struct
bug56347: Avoid crash when creating VIs while VFs passed through to VM.
bug56799: simplify onload_tcpdump for multi-buffer packets
bug57017: ensure TCP RTT is calculated properly during connect()
bug57088: make lock implementation for EF_FDS_MT_SAFE=0 faster
bug57094: set recvmsg() msg_flags field correctly, e.g. when non-zero on entry
Bug57143: allow ef_vi users to request receive event merging
bug57772: fix race between fdtable_busy_clear / fdtable_busy_wait interlocking
bug57881: add HTTP server for Onload Remote Monitor
bug57881: add onload_version to orm_json output
bug57881: add option to request subset of data from Onload Remote Monitor
bug58224: allow onload_fd_stat to have 'stat' as NULL
bug58241: fix initial TCP window for loopback connections
Bug58251: fix handling of bitfields in remote monitor to avoid assertion on struct size
bug58274: make the set of errors that trigger RX_DISCARD events configurable
bug58441: avoid outputting errors on ENOSYS from MC_CMD_WORKAROUND.
bug58510: rate limit reset stack log messge
bug58547: decrease loglevel LOG_U->LOG_TR after unexpected TCP shutdown
bug58558: wake up TCP loopback peer socket from send_ack()
bug58694: fix setsockopt(SO_TIMEO) with active socket cache
bug58737: limit TCP send buffer by SO_SNDBUF*1.5 instead of *3
bug58850: disable LOG_DU (dump unexpected packets) by default
bug58981: avoid small memory leak in JNI FdStat function.
bug59349: use correct stackname after setting NOCHANGE stack and restoring
bug59442: add ability supply batch IPs/subnets to a map via an onload_fe command.
bug59506: add support for IPv6 filters in ef_vi
bug59609: efab_file_move_to_alien_stack() lock scheme improvement to fix race conditions
bug59639: fix return value for connect() when using scalable filters with socket caching and loopback.
bug59671: add MSG_ONEPKT flag to receive data up to a packet boundary
bug59702: fix filter manager replication/vlan capable flags after interface down/up cycle
bug59762: bug 59591: remove incorrect debug assertion when tcp socket starts to listen
bug59855: flush pending driverlink calls at hot-unplug to ensure they complete before removal.
Bug59875: fix NULL pointer deref after 'oo_nic_add: NOT registering ifindex (too many)' message
bug59879: make sigaction error message more verbose
bug59955: provide mechanism to query per-thread spin settings
bug60058: fix use-after-free slub debug warning in emergency-flush list.
bug60159: fix assertion in ci_netif_filter_insert when socket caching and loopback sockets used
bug60274: avoid hang while accepting socket via kernel using O_NONBLOCK.
bug60421: avoid printing warning if tty ioctls are used on onload epoll fd.
bug60471: bug 58248: defer stack destructor in more contexts where it can't run
bug60757: Add tools and options to debug time taken to add and remove filters
bug60783: Avoid performance degradation of WODA with large numbers of sockets.
bug60795: Avoid crash on stack allocation failure during NIC reset.
Bug60876: avoid process stuck in oo_timesync_wait_for_cpu_khz_to_stabilize
bug60916: fix kernel crash in efab_thr_release() if workqueue allocation failed
bug61083: Fix FD table locking hang.
bug61097: show POLLOUT event when non-blocking connect fails
bug61178: use a mutex in efsink to protect printing from different threads
Bug61218: avoid kernel panic unloading drivers after 'NOT registering ifindex (too many)' message
bug61255: don't do ci_sys_close under fdtable lock to avoid debug assertion and potential deadlock
bug61255: pass EMFILE to user if open() fails
bug61275: check for destroyed epoll set on socket handover to avoid segfault
bug61314: make driver robust, and warn, if new endpoint with filters present
Bug61373: Fix failure to update initramfs after onload_install
Bug61387: EF10 NICs do not support 4K TXQ sizes, so do not list them as supported
bug61721: avoid trying to free a PIO buffer if already unlinked due to NIC reset handling
bug61928: make return values for onload_delegated_send_* consistent when run with/without Onload
Bug62067,Bug50705: avoid eventq overflow warning when EF_TXQ_SIZE > 512 on Siena NICs
bug62370: correct free and used packet buffer counts in onload_stackdump
bug62377: set RSS context flags for MC_CMD_RSS_CONTEXT command correctly, avoids EINVAL MCDI error
Bug62453: licence JNI wrapper with BSD not GPL
bug62468: avoid -fstack-protector when executing library, fixes segfault on Ubuntu 16.04
bug62589: fix RPM spec file conflict with python-libs package
bug62720: Fix EALREADY on ef_vi EVQ-init with timestamps.
bug63317: fix memory leak in ef_vi statistics API
openonload-201509-u1
--------------------
Update sfc net driver to version v4_5_1_1037
Update AOE driver to version v4_7_0_1033
task58695: Build on recent Linux kernels
task54288: Improve accuracy of hardware TX timestamps
task47708: Add option (EF_TCP_RCVBUF_MODE=1) to auto-tune receive buffer size per socket.
task57121: Improve delegated send sample code.
task58575: Improve PIO latency with frames whose size is not multiple of qword
task59096: Allow instance of VI within set or cluster to be specified
task59096: Allow efsink to run without specifying a stream
task52430: Experimental support for PowerPC little-endian.
task52430: Optimisations for Power8 systems.
task57340: Use symmetric RSS hash. Affects ef_vi, SolarCapture. See Release Notes
SF-115347-KI/bug57612: fix handling of fragmented unicast UDP with scalable filters mode
bug56596: add onload_stackdump counter syn_drop_no_return_route
bug56799: add wmb in oo_tcpdump_dump_pkt to avoid potential packet leak in onload_tcpdump
bug57106: handle failure to allocate a special RSS mode by falling back to default.
bug56948, bug57052: fixes EALREADY on EVQ_INIT when stressing stack creation
bug57119: add stack_locks_deferred counter to stackdump
bug56652: avoid endpoint wakeups from driverlink context on RT kernels
bug56919: allow reuse of socket from cache from different PID in some cases
bug42928: increment mm_hash->ref under write lock only, avoids "mmap del of NULL" warning
bug57017: correctly calculate initial TCP RTT during connect()
bug57407: avoid race on re-use of accelerated fd as non-accelerated.
bug53260: make Onload's behaviour for SO_LINGER more closely match Linux's
bug53525: improve messages for ef_vi MCDI TX/RX error events
bug57128: fix assertion in efab_tcp_helper_reuseport_bind() when interrupt driven
bug57683: make ef_pio_unlink_vi unmap the PIO region so PIO can be allocated again
bug57274: ensure unicast UDP packet is only delivered to a single socket
bug57728: correctly initialize citp_dup2_lock at start of day
bug57983: fix memory leak and handling of disappearing stack in WODA
bug58079: improve WODA latency scaling with large numbers of sockets in the set.
bug58086: don't segfault when delegated send API called with bad fd
bug57197: improve checking of arguments supplied to the ef_vi API (e.g. size of vi set)
bug58115: add kernel refcount values to stackdump output
bug58050: prevent EBUSY after repeatedly creating a stack with packet prefault
bug58217: fix rtnl lock assertions seen during bond failover in debug build
bug58217: Prevent flood of 'Not accelerating bond' messages.
bug57796: fix assertion in UDP debug build when poll is needed during epoll()
bug57631: correctly count keepalive probes when orphaning TCP socket to avoid assertion
bug58115: drop stack refcount if loop connection fails because of backlog to avoid zombie stack
bug58562: fix NULL deref and memory leak in error path in control plane initialisation
bug58580: avoid NULL deref if pkt allocation failed when replying to TCP SYN
bug58614: fix bad assertion in bonding debug build
bug57953: Avoid segfault when running with TX timestamping and SW multicast loopback
bug58295: Prevent packet remap errors on one NIC from stalling entire stack
bug58545: Prevent interrupt storm after packet remap failure
bug58643: Don't post packets to a NIC if we failed to remap them
bug58747: Avoid EALREADY on MCDI_CMD_FINI_(RX|TX|EV)Q after remap failure or hotplug
bug58709: Apply timestamp corrections to h/w timestamps reported by Onload
bug58622: Fix TX timestamp correction obtained from NIC. Was too small
bug58274: remove check which could falsely flag some non-IP packets as bad FCS
bug57740: fix filter confusion caused by hardware port down and up in single handler
bug58510: limit rate of some error messages to avoid overwhelming serial log
bug58753: purge btb_clear_mask field and all asserts with it
bug59103: Return informative errors when failing to allocate VI from set.
bug59103: Fix broken handling of VI set instance range check
bug58370: Avoid memory corruption at hotplug
bug59104: Avoid infinite loop on RHEL7.2 reading bonding sysfs files
bug58989: prevent Onload traffic reaching kernel stack on bond failover/hotplug
bug59149: reserve space for timesync events when rx hw timestamping to avoid evq overflow
bug53985: force TCP recv() to return 0 if properly shut down
bug59176: drop stack lock when spinning in write(pipe_fd, ...)
bug58558: fix sendfile() hang on realtime kernels
bug59265: fix race between reset and hotplug causing leak of TX/RX queues
bug59265: avoid MC assertions during repeated hotplug events
bug59206: don't warn about PIO alloc failure when hardware is absent
bug59277: fix CI_CFG_MAX_INTERFACES=1 + TCP loopback stack
bug57953: fix seg fault when TX timestamped packet also delivered via sw loopback
bug59573: bug55063: Fix onload_iptables rules on VLANs and bonds
bug59425: during hot unplug free VIs of stacks under construction/destruction
bug59345: allocate vi resources even for downed interfaces to improve bond behaviour
bug59362: fix flush timeouts after hotplug
bug55063: avoid naming collisions in /proc/driver/sfc_resource
bug58248: fix Ubuntu warning "sysfs: cannot create duplicate filename onload-wq"
bug55799: improve warning message about EF_TCP_SYNRECV_MAX
openonload-201509
-----------------
Add support for recent Linux versions including 4.1, 4.2
Update sfc net driver to version v4_5_1_1026 (see enclosed ReleaseNotes-sfc)
task8595: Implement ef_vi_set_free()
task50720: Add support for Stratus ftServer fault tolerant systems
task44377: Add --report to onload_iptables to show current rules.
task40201: Add onload_iptables --treat_as_outgoing to allow import of OUTPUT rules
task50968: Add support for new Linux teaming module
task47081: Add sample code to demonstrate VPORT switching
task48078: Stackdump details about which NUMA node interesting events occurred on.
task47505: Add EF_TCP_CONNECT_SPIN to control spinning in connect()
task50479: Recycle packet buffers in sets to avoid performance degrading over time
task52626: Add EF_TCP_SYNRECV_MAX to limit number of buffers used for TCP SYN RECV state connections
task50705: Add initial support for separate UDP receive queue
task53668: Add anonymise_stackdump.py tool
task53715: Add support for IP_TRANSPARENT socket option
task8595: Add epoll3 ready list id to socket information in stackdump
task51259: Scalable filter for active open
task53915: Add support for passively opened sockets using MAC filter.
task54521: Add TCP protocol to hardware rx timestamping sample.
task52052: Add mem_drop flag to TCP sockets in onload_stackdump to report memory drops
task53857: Add support for IP-proto and ethertype filters to ef_vi.
task51262: Active endpoint caching
task52071: Implement onload_get_tcp_info extension function
task52339: Implement Linux-style TX timestamping: SO_SELECT_ERR_QUEUE, SOF_TIMESTAMPING_OPT_ID
task47708: Add option to auto-tune TCP send buffer size per socket. Enable with EF_TCP_SNDBUF_MODE=2
task55965: add SOF_TIMESTAMPING_OPT_CMSG support.
task52339: Implement SOF_TIMESTAMPING_OPT_TSONLY (as found in linux>=4.0).
task56363: increase number of supported NIC ports from 6 to 8
task54288: Apply correction to TX timestamp to reflect latency to wire
SF-114668-KI/bug49989: honour NAPI budget when polling in a timer event, avoids "MCDI request was completed without an event"
bug51463: respect i_prefix install path when solar_clusterd built from srpm
bug51221: update onload_iptables to skip reject-with directive
bug45475: fix timestamping example code to build on older kernels
bug51741: improve sfcaffinity_config output to show core and channel mappings
bug50320: respect NAPI budget for Onload events, avoids "self-detected stall on CPU"
bug51932: do not be fussy about which CPU for interrupt if running out of VIs
bug50827: prevent socket joining multicast group if error adding filter
bug52236: remove the onload_set_recv_filter() functionality
bug50648: fix kernel crash during UDP socket handover
bug51146: fix deadlock between fdtable and epoll locks
bug53000: fix RST sending code match Linux behaviour (no ACK flag set)
bug52678: improve SO_LINGER socket option and its interaction with timeouts
bug53684: ensure packets sent at stack destruction time make it onto wire
bug49932: PPC: ef_vi_alloc_from_pd underestimated required eventq size
bug49932: increase default eventq capacity to accomodate timesync events
bug53101: fix packet leak in oo_raw_send()
bug53444: fix ef_vi_eventq_poll() returning fewer events than it could
bug53885: fix sys_read(udp_sock) when data arrived via OS causing kernel panic
bug50081: don't warn about "unknown option" for EF_LOG_FILE
bug53986: fix SRPM spec file when kernel devel packages are present
bug54307: fix zero length MSG_WARM send causing segfault
bug54077: fix crash when deleting bond slave corrupts bonding user table
bug54547: fix thread safety issues in efrss test/example application
bug53101: free loopback sockets at stack destruction
bug53979: fix errno-related issues in delegated send. Now returns -1 with errno set.
bug54662: remove spurious interface appearing in mib-hwport file
bug49651: correctly handle optlen value in getsockopt(TCP_INFO)
bug49650: add latest statistics to getsockopt(TCP_INFO)
bug54650: fix packet leak in IP-fragmented UDP send
bug54682: make dup2 and netif lock ordering consistent to avoid deadlock
bug54682: correct netif / fdtable lock order and check netif list valid
bug54764: fix packet leak when UDP packet is sent (unaccelerated) via OS
bug53101: fix packet leak in TCP_DEFER_ACCEPT paths
bug54808: fix atagram length returned by recvmsg for 32-bit app with TX timestamp
bug54689: do not block non-blocking socket in UDP send if unable to alloc packet
bug54689: avoid stuck stack due to no packets posted to rxq in critical memory pressure
bug54741: extend EF_TCP_SEND_NONBLOCK_NO_PACKETS_MODE to cover connect()
bug45979: fix kernel panic when very large MTU (9200) configured
bug54657: ensure interrupts are primed before dropping into kernel for epoll_wait()
bug54708: wire-order delivery: handle stacks which have not received anything
bug54793: correctly accelerate IP interfaces with /31 netmask
bug54924: return useful error from ef_pio_alloc when hw or module incapable
bug54968: correctly handle SO_RCVTIMEO with 0 value (was affecting SO_SNDTIMEO).
bug54920: fix send buffer size checks when MSG_SENDPAGE_NOTLAST is set
bug54891: return POLLERR if TX timestamp queue is non-empty
bug55166: fix case where datagram sending via system write() is interrupted by signal
bug55178: correctly handle TX timestamps when send queue is overfilled.
bug54352: update openonload.spec file to support kernel-mft-* packages
bug52744: add ioctl SIOCGHWTSTAMP/SIOCSHWTSTAMP support
bug53101: fix packet leak in onload_move_fd()
bug55344: fix sending of packets via syscall when route changes (was returning EAFNOSUPPORT)
bug54650: fix packet leak caused by non-atomic change of some n_*_pkt counters
bug55267: fix ARP reinforcement from syn-recv socket state to avoid frequent sending via OS
bug55468: check ONLOAD_SOF_TIMESTAMPING_STREAM flag instead of assuming set
bug54658: don't print reap list by default in stackdump, could become corrupted and get stuck
bug48303: use dracut as alternative to update_initramfs in onload_install on RHEL7
bug55449: fix citp_udp_ordered_data() + indirect packet
bug55472: UDP TX timestamps: return full packet with Ethernet header
bug55580: correctly detect active bond slave changing on RHEL 6.7
bug55657: multiple fixes for onload_move_fd() causing sockets to timeout
bug55599: fix errno value when ICMP is received during connection attempt
bug55448: fix local address detection
bug53749: use /proc/sys/net/ipv4/tcp_orphan_retries in Onload
bug53175: return POLLRDHUP event when socket was shut down for read
bug55617: add support for ONLOAD_DONT_ACCELERATE in JNI wrapper
bug53840: templated sends: set advertised window correctly
bug55396: support SocketChannel in JNI wrapper
bug55396: support MoveFd in JNI wrapper
bug55981: fix lock inversion in ci_tcp_listen() introduced in 201502-u1
bug55265: implement OO_OS_STATUS_ERR flag: errqueue was ignored after getsockopt(SO_ERROR)
bug55357: make Onload match Linux's meaning of tcpi_probes TCP_INFO field
bug56003: fix efsink test app time sync flag reporting
bug56102: Fix crash when sharing stack after "ethtool -t"
task8595: make environment parsing heed EF_LOG.
bug56153: rework os_pollwait_register() to avoid potential deadlock
bug56191: Fix iommu grouping before attaching to domains: function probe failed on Linux 4.2
bug56091: fix tx_timestamping example code: reset msg_controllen
bug56284: improve description of EF_TCP_{RCV,SND}BUF_ESTABLISHED_DEFAULT
bug56288: don't ignore setting of EF_TCP_(RCV|SND)BUF_ESTABLISHED_DEFAULT
bug55964: fix ee_info value reported in TX timestamp cmsg extended error
bug56385: properly enqueue multi-buffered packet to TX timestamp queue; was truncated after ~1800 bytes
bug56275: ef_vi: take TX capacity into account when allocating packed stream credit.
bug56358: Fix efrecv example code to handle multiple events in a single poll.
bug56411: use rx_channel_count to allow more interrupts to be used when rss_cpus set
bug56168: SUSE: call schedule() between dma_unmap and vfree; avoids "bad page state"
bug56383: avoid TX push on multi-buffered packets, avoids fw corruption of packet
bug56417: fix filter leak and EEXIST return from oof filter code
bug52733: fix n_async_pkts counter when unrolling MSG_WARM with zc_send (previously incremented for each call)
bug56855: bug48930: postpone atomic work when processing interface updates.
openonload-201502-u3
--------------------
Update net driver (v4.5.1.1020)
task55114: add compatibility for RHEL 6.7
openonload-201502-u2
--------------------
Update net driver (v4.5.1.1010)
Add support for Debian 8, Ubuntu 15.04
task52607: Add support for SO_PROTOCOL
task52813: Linux-4.0 compatibility
task43979: Add support for Debian packaging.
SF-114423-KI/bug49906: Fix packet corruption with templated sends and ef_vi PIO.
SF-114381-KI/bug43434: Fix EF_NAME accepting longer names than onload_set_stackname()
SF-114425-KI/bug52613: Avoid system lockup when using delegated sends API and SACK packets
bug53545: fix onload not distributing traffic over lacp bond with vlan
bug53600: bug53558: intercept __poll_chk on libc >=2.19 (Debian 8, Ubuntu 14.10)
bug53527: Fix stack overrun in efdelegated_server example app
bug53453: Correctly handle an epoll ctl on OS fd when postpone limit has been reached
bug53101: Fix reset of non-accepted loopback connection when stack is destroyed
bug53101: Fix packet leak in tcpdump
bug50399: Update eftap to send pkts with multicast loopback RX support
bug53052: Fixes for CI_CFG_DETAILED_CHECKS=1 debug code
bug50399: Fix support for transmit hardware loopback in ef_vi (NB: API change)
bug53011: Purge CI_CFG_REQUIRE_SOCKADDR_FAM build time option
bug42886: Enable tcpdump logging of packets where hardware marked them as to discard
bug51175: Avoid fd leak when closing listening sockets with socket caching.
bug51547: Reduce size and reorder fields in ci_tcp_state for better packing.
bug52409: Fix cluster+TCP loopback combination incapacitating network interface.
bug52750: Fix panic when white/blacklist module parameter has no value.
bug52750: Fix overriding of white/blacklist parameters from modprobe config.
bug52882: Show the correct index of a VI in onload_stackdump.
bug51749: Fix kernel panic when SO_REUSEPORT socket bound to non-SF interface
bug52804: Updated onload_stackdump to display correct output for nics=
bug49906: Enforce PIO packets must be 64-byte-aligned.
bug52799: delegated send: use ipcache under the stack lock only
bug52613: bug48435: improve TX wakeup to wake blocked sender appropriately
bug52613: Fix delegated send ACK handling to avoid adding to retrans queue when already acked
bug52613: Fix retransmission of invalid packet with delegated sends.
bug52613: Fix ordering of packets when mixing normal and delegated sends.
bug52613: Cope with window having shrunk behind in flight right edge in delegated send
bug52699: Fix race condition (kernel panic) between vf_callback and vf_callback_kill
bug45182: Remove unused ef_vi flag: EF_FILTER_FLAG_REPLACE and co.
bug48384: Match Onload behaviour to Linux when TCP_QUICKACK set to 0
bug52611: Add stats for free/used aux buffers
bug52611,bug52655: Fix leak of aux buffers (syn-receive state)
bug51756: Fix TCP_DEFER_ACCEPT socket option implementation
bug50648: bug52474: Fix fop_(read|write)_passthrough file operation
bug50648: Handle listen blocking mode when using CITP_PASSTHROUGH_FD
bug50648: Fix fdtable lock/unlock on some handover paths
bug52497: bug50648: Enable trampoline for alien and handover fd
bug52109: Fix EPOLLONESHOT epoll_wait() followed by select() giving wrong return code
bug37690: Build fix for CI_CFG_PKTS_AS_HUGE_PAGES=0
bug50968: Remove correct row from control plane table when slave removed from bond
bug43453: Support cluster and hw multicast loopback combination
openonload-201502-u1
--------------------
Update net driver (v4.4.1.1021)
bug44482: Add 'provides' statements for sfc-kmod-symvers to onload spec file.
bug46981: Make onload build tolerate missing libjansson dependencies
bug47081: add vport switching example for efpingpong sample
bug51961: Fix error preserving file ownership when extracting Onload tarball as root
bug51827: fix onload_delegated_send_prepare when called on a non-onload-fd
bug50793: Don't inline citp_waitable_wake_not_in_poll
bug51175: Avoid panic when closing listening sockets with socket caching
bug51530: do not update initramfs in onload_install when just asked to list files
bug51463: fix solarclusterd build error when creating RPM as non-root
bug51465: fix date in RPM spec file to avoid rpmbuild complaints
bug51360: warn user about unsupported combination of spin+epoll0
bug51479: correctly handle epoll_wait with timeout=-1 and EF_UL_EPOLL=3
bug51442: fix bashism in onload_tool and other scripts
bug51301: add onload_remote_monitor dependencies to spec file
bug50655: fix simultaneous listen() and recv(), was causing assertion
bug51242: fix EF_UL_EPOLL=3 behaviour when epoll set changes during epoll_wait()
bug51242: fix handling of return code when enabling EF_UL_EPOLL=3
bug51324: do not report SA_SIGINFO when it is unset
bug52045: fix epoll_ordered_wait to restart if repoll returns 0
bug50746: initialise hash to correctly distribute traffic over LACP bond
openonload-201502
-----------------
Update net driver (v4.4.1.1017)
Add support for recent Linux kernels (up to 3.19)
Add official support for Ubuntu (12.04, 14.04, 14.10) and Debian (6, 7)
Add initial preview of Onload Filter Engine
Add VF and multi-PF capabilities to Onload on EF10 hardware
Add support for Docker containers
Add passive-open endpoint caching to increase achievable connection rate
Add onload --profile=safe to make Onload replicate Linux behaviour as closely as possible
Add white and black lists to allow user to select which interfaces are accelerated
Improve scalability of accelerated epoll modes
Support switching packets in the NIC between VIs
Add experimental service to export stackdump-like statistics in JSON format over network
Add new TCP "delegated sends" API
Add ef_vi API to programatically query drop/error counters for each VI
Update some ef_vi samples to use ef_pd_alloc_by_name so they can use clustering
Fix minor bug in calculation of UDP socket q_max statistic.
task8595: Added ef_vi_receive_set_buffer_len()
task41722: Change onload_stackdump -z to output to stdout instead of syslog
task44092: improve TCP loopback to handle out of window data
task41989: choose IRQ on current core by default
task46656: Add sample packed stream ef_vi apps efsink_packed, efforward_packed
task47559: convert pipes to use packet buffers instead of socket buffers for data
task48269: Add and use ef_vi_transmit_copy_pio() to reduce PIO send latency
bug37972: replace tasklets and internal workqueues with Linux workqueues
bug42023: increase CI_CFG_NETIF_MAX_ENDPOINTS_MAX to 2^21
bug43337: handle case when EF_UL_EPOLL=1 spinning on set with no Onload fds
bug41922: support >4GB ef_memreg allocations
bug44568: update msg_name and msg_namelen in recvfrom() even if length was 0
bug44568: fix UDP recvmsg() via OS: copy msg_name with correct length
bug44665: Support IPC namespaces and explicit huge page allocations working together
bug40412: add onload_stack_opt_get_int() API call
bug44732: add spinning statistics to stackdump
bug44257: fix page size handling in ef_memreg_alloc() on PPC64 to avoid corruption
bug41975: add basic SO_BUSY_POLL support
bug1684: correctly handle handover sockets in dup, fork, epoll
bug41166: fix stack save and restore for ONLOAD_DONT_ACCELERATE
bug45917: Avoid potential crash after a closed fd is removed from the epoll set.
bug45910: add EF_TCP_SEND_NONBLOCK_NO_PACKETS_MODE to control onload blocking on non-blocking send
bug45802: fix setsockopt(SO_REUSEPORT) to return -1 and set errno correctly
bug46245: prevent use of packet state after packet has been sent
bug46022: Segfault during send() of UDP datagram when HW RX timestamps are enabled
bug46334: handle adding fd to two epoll sets followed by handover
bug46654: Fix possible ef_vi misreport of CRC_BAD as CSUM_BAD on EF10 adapters
bug43885: onload_stackdump reports PIDs attached to stacks
bug45091: handle buffer table set failures during reset.
bug45162: postpone NIC reset processing to avoid scheduling in atomic
bug46447: do not expect ef10_mcdi_rpc to work under reset: avoids assertion
bug46493: fix error path causing hung kernel task if NIC reset during stack creation
bug45166: remove assert which fires due to race at NIC reset
bug45163: improve packet mapping to NIC under reset
bug46130: allow Onload /dev files to be accessed after chroot
bug46282: Avoid TCP retransmit timeout falling below specified minimum
bug46783: fix incorrect assert in citp_sock_fcntl_os_sock()
bug46821: fix accept() errno when interrupted by sighandler with shutdown()
bug46212: Fix software-filter handling when connecting UDP multicast sockets
bug34462: fix TCP RTO calculations in some corner cases
bug46934: protect against syn flood: ci_tcp_synrecv_send() always gets non-NULL pkt
bug47011: increase listening fd timer frequency to make syn-ack retrans less bursty
bug46973: Handle failure to allocate new citp_sock_fdi on accept()
bug47059: allow sendfile to make progress when small send buffer used
bug47064: fix TCP behaviour with small window close to mss
bug47112: give Onload same behaviour as Linux for negative backlog, ie. listen(sock, -1)
bug47177: EF_RETRANSMIT_THRESHOLD[_SYN] was being ignored.
bug39052: admit other flags in ACK of SYNACK during syncookie processing
bug47027: more detail in stackdump about PIO allocation
bug47341: Add missing unlock on UDP socket create failure with EF_FDTABLE_STRICT
bug47372: ensure stack is unlocked after sending a message that is too big
bug56776: expose onload workqueues via /sys/devices/virtual/workqueue/
bug20561: interrupt accept if the fd is closed under feet by signal
bug30185: use new Linux 3.4 poll API
bug45935: intercept __sendmmsg system call to cope with libc calling it directly
bug44192: improve behaviour when accept() fails due to lack of endpoint buffers
bug47267: calculate TCP window scale factor based on the real SO_RCVBUF value
bug47199: timeout TCP connection stuck in FIN_WAIT1 due to close() with zero window
bug47249: fix software filter table to allow >64K endpoints
bug39799: import local routes with non-32 bit net masks
bug47007: implement EF_TCP_RCVBUF_STRICT=1 mode.
bug47197: set EF_TCP_SNDBUF_MODE=1 by default
bug34581: add EF_SELECT_FAST_USEC, EF_SELECT_NONBLOCK_FAST_USEC to mirror poll equivalents
bug46535: count packets from timestamp queue in SO_SNDBUF to avoid using all buffers
bug41453: install headers and library needed for ef_vi app development
bug47579: reap more buffers from receive queue when we can to reduce buffer use
bug45243: Allow stack creation on setups where not all SFC NICs support Onload.
bug47528: Add support for EF10 VFs to onload
bug47614: use fstat64 instead of fstat to allow opening large file with 32-bit UL
bug46651: do not TX timestamp TCP packets without data (SYN, FIN).
bug45749: fail gracefully (no kernel panic) if active open from clustered socket
bug47901: Fix potential crash when SO_REUSEPORT bind on OS that does not do SO_REUSEPORT
bug47703: Fix panic when SO_REUSEPORT bind to multiple addresses/ports
bug47704: return EADDRINUSE rather than EPERM when SO_REUSEPORT used between UIDs
bug48002: set msg_controllen to zero if not returning cmsg or error from recvmsg()
bug48073: improve recvmmsg performance by removing unnecessary check
bug48103: fix packet length calculation for FIN with TX timestamp
bug47569: Avoid kernel panic if EF_MAX_PACKETS set to negative value
bug48274: initialize error_flags when sharing a stack
bug48304: unlock fdtable when close() hangs because of SO_LINGER
bug43800: prevent loop in ci_udp_sendmsg_send() if shared state corrupted
bug48416: fix potential deadlock in sendfile()
bug48179: update hash used in filter table to improve spreading with lots of connections
bug32215: properly check for space in send queue when doing zc_send
bug44858: return -1 (with errno=EINTR) from citp_epoll_ordered_wait() on signal
bug38207: improve fairness of EF_FDS_MT_SAFE=0 locking mechanism between readers and writers
bug48598: fix potential deadlock when bond is brought up
bug48762: return errno=EAGAIN instead of EPERM when non-blocking UDP send fails
bug48599: don't do full copy for templated send on VLAN interface
bug47476: fix EF_FDTABLE_STRICT=1 mode for accelerated TCP loopback and epoll
bug47426: do not ignore filter errors when EF_NO_FAIL=0
bug47491: fix filter error "laddr=XXX not local" causing no acceleration
bug49289: fix source IP using SO_BINDTODEVICE on intf with multiple IP addresses
bug49445: fix warning on enabling timestamping with single interface up
bug49471: remove verbose log message from ef_vi software event processing
bug49739: increase EF_MIN_FREE_PACKETS to 32 bits
bug48701: fix interrupt allocation with EF_PD_VF (EF_PACKET_BUFFER_MODE=3)
bug49547: set ACK flag when dropping TCP connection with RST and undelivered data
bug49697: improve accuracy of timeout calculations in epoll_wait
bug49722: fix signal handling to allowing killing onloaded process when run out of fds
bug50027: correctly handle more than one profile specified to onload command
bug38605: improve accuracy of epoll/poll/select spinning timeout duration
bug50600: fix deadlock due to EF_*_FORCE_REUSEPORT=1 not releasing os_sock
bug47359: fix loop in bonding work item on recent kernels - do not set SIGPENDING flag
bug50539: reduce async packet count when unused zc_alloc buffers are released
bug50827: roll back OS socket if IP_ADD_MEMBERSHIP failed to add filter
bug43962: Ameliorate race causing "file exists" errors on onload_tool reload on RHEL7 Siena VFs
bug50386: fix onload_tcpdump packet length when stripping VLAN tag
bug51189: avoid segfault parsing invalid filter spec in ef_vi test apps
bug45182: Fix behaviour when unicast-all/multicast-all filter installed multiple times
SF-114094-KI/bug48294: fix error path in oo_bufpage_huge_alloc() to avoid put_page kernel panic
SF-114095-KI/bug47204: fix kernel panic when using ef_memreg to allocate 2G region
SF-114096-KI/bug48247: fix kernel panic with EF_CLUSTER_SIZE>=32
SF-113950-KI/bug49565: Fix PIO send corruption due to memory ordering issue
openonload-201405-u2
--------------------
Updated net driver to build on recent kernels (v4.1.2.1003b)
SF-113792-KI/Bug49194: ef_vi avoid registering wrong pages when ef_memreg_alloc() page sizes vary
SF-113764-KI/Bug48491: do not leak memory when querying status of LACP bond
openonload-201405-u1
--------------------
Updated net driver (v4.1.2.1003)
Add support for SIOCOUTQ/SIOCOUTQNSD
Add support for transmit port sniff filters
Add EF_CLUSTER_IGNORE option to ignore SO_REUSEPORT and disable clusters
Add ef_vi API to allow user to block (e.g. poll()) on a file descriptor: ef_vi_prime()
Add ef_vi API to retrieve interface name: ef_pd_interface_name()
Add support for packed stream firmware mode
Add SO_REUSEADDR support for TCP clients sharing a stack
bug42276: improve building and installing on Debian and Ubuntu systems
bug43406: fix ef_eventq_wait() returning prematurely
bug42034: fix compile issue when CONFIG_SFC_RESOURCE_VF is not defined
bug44302: fix cross compiling for RT kernel failing due to kernel-devel pkg
bug44092: improve TCP window handling for accelerated loopback path
bug44412: fix tx timestamp kernel backtrace on packets handled in kernel
bug43337: allow blocking in epoll_wait() on set with no accelerated fds
bug44257: ensure type of CI_PAGE_MASK can mask a pointer on PPC64
bug44257: fix ef_memreg_alloc() to work on PPC
bug44473: require CAP_NET_ADMIN capability to install MISMATCH MULTICAST VLAN filter
bug44401: fix interrupt-driven throughput performance regression
bug44467: build fix for linux-3.14-rt
bug44518: improve handling of small TCP windows with window scaling
bug42193: handle TCP state changes on zero-window probe, avoids sockets stuck in CLOSING
bug43972: fix kernel panic during aggresive stack creation
bug44360: prevent ef_vi app from removing sniff filter it does not own
bug43269: fix "solar_clusterd -u" - was failing silently
bug44693: fix concurrent callers of ef_pd_alloc_by_name() resulting in seg fault
bug44719: set solar_clusterd process name so it can be killed using pkill
bug44612: fix debug build kernel panic due to modifying flags without lock
bug44888: ensure Onload sends data immediately following window update
bug44543: fix bind() fails with EEXIST instead of EADDRINUSE when SO_REUSEPORT is enabled
bug41722: change onload_stackdump -z to output to stdout instead of syslog
bug42058: prevent small memory leak in onload_stackname_restore
bug44852,bug44491: fix MCDI timeouts when allocating buffers under heavy interrupt load
bug44852: set EF_FREE_PACKETS_LOW_WATERMARK=rxq_size/2 by default
bug44943: fix bind() to bogus IP address with SO_REUSEPORT would return ENOSYS
bug44269: fix filter leak and kernel panic when using SO_REUSEPORT and app restarts
bug44548: fix SO_REUSEPORT panic when bound socket closes without calling listen or connect
bug42819: fix too many PIDs sharing stack causing "onload_stackdump lots" to seg fault
bug42350: fix ef_eventq_poll() to return SW events generated by ef_eventq_put()
bug44494: fix EF_PREFAULT_PACKET option not working when SO_REUSEPORT is used
bug43824: do not spin for sub-millisecond timeouts to poll(), select(), etc
bug45001: remove all:vid filter support from ef_vi.
bug45127: return correct errno when out of sockets for SOCK_DGRAM socket() call
bug44280: fix error path for pipe() when out of endpoints, avoids seg fault
bug44717: fix seg fault when "onload_stackdump get_opt" called with no options
bug45273: improve errno returned when PTP license is missing
bug45390: return zero timestamp on error in ef_vi_receive_get_timestamp*()
bug41166: fix onload_stackname_restore() when stackname set to ONLOAD_DONT_ACCELERATE
bug45389: fix debug build assertion on Falcon hardware after EVQ counter wraps
bug45208: fix solar_clusterd may not always exit when signaled
openonload-201405
-----------------
Update net driver and firmware (4.1.0.6734)
Add AOE driver
Add support for SFN7142 (40G) NICs
Add support for recent Linux kernels (up to Linux 3.14)
Add support for recent enterprise distributions (RHEL7)
Add support for recent compiler versions (gcc-4.8)
Add SO_REUSEPORT application clustering
Add support for transmit timestamping (SO_TIMESTAMPING, TCP and UDP)
Add wire-order delivery extension API
Add onload_move_fd() extension API
Add support for multicast hardware loopback
Add coded examples for extension API in src/tests/onload/
Add SYN cookie implementation to Onload TCP stack
bug39598: fix 32-bit app on 64 bit kernel Power PC assertion failure
bug37972: fix initialization for static work_structs to only happen once
bug40081: use new Linux MSG_SENDPAGE_NOTLAST flag to speed up TCP sendfile
bug40027: don't leak time-wait and fin-wait-2 sockets when killing orphan stack
bug40957: correctly handle timestamp events when event processing is delayed
bug34927: don't report erroneous bad stack message when using stackdump -z
bug41686: don't dereference NULL pointer in TCP recv for non-TCP/unknown fd
bug41688: don't leak memory in onload_fd_check_msg_warm()
bug41687: don't check tcp header fields in the case recipient is known bad
bug42281: remove sfc_tune module; use "intel_idle.max_cstate=0 idle=poll" instead
bug42246: fix debug build assertions in UDP checksum validation
bug42246: properly check all lengths (eth,ip,udp) of bad incoming packets
bug42011: improve handling of SO_BINDTODEVICE multiple interfaces on same subnet
bug42489: free resources in ef_memreg_free() that ef_memreg_alloc() allocates
bug42634: fix abort event handling: invalid descriptor ids could be seen in ef_vi
bug41907: show stack name in onload_stackdump output even if no PIDs to display
bug42668: remove spurious fallback warning when allocating RSS set of size 1.
bug42777: fix issue causing timestamps to possibly lose sync.
bug42276: improve build and installation on Debian and Ubuntu
bug42745: avoid system hang on realtime kernels caused by softirq MCDI deadlock
bug41129: improve chances of stacks choosing different IP ID ranges
bug42907: correctly report EF_LOG default in onload_stackdump lots output
bug24806: add netstat-style output to onload_stackdump
bug43392: don't increment tcp_out_segs onload_stackdump counter for MSG_WARM
bug43521: make onload_msg_template_update() respect O_NONBLOCK flag
bug39578: reinforce ARP entry when new data is ACKed, even if not pure ACK.
bug43754: fix bonding intf not accelerated on 3.13 kernels, restart sysfs read.
bug43884: fix bonding filename buffer length calculation.
bug43900: fix theoretical data reordering when repriming EF_INT_DRIVEN=1 stack
bug43896: disable PIO on 32 bit systems
bug35506: improve warning when running stackdump prior to loading drivers
bug43451: count all reasons unlock_slow is happening in onload_stackdump output
bug43753: fix lockup closing endpoints in wrong context on real-time kernels
openonload-201310-u2
--------------------
Updated net driver and firmware (v4_0_2_6645)
task39845: add solar_clusterd for SolarCapturePro application clustering
task41317: introduce separate block kernel unicast and multicast filters
task37488: add ability to control Onload log verbosity using EF_LOG
task41567: add phys_mod_gid module option to sfc_char
task41905: allow use of VFs in ef_vi even when not root
task8595: Improve onload_stackdump TCP socket stats (add tx_defer and rx_isn)
bug39578: Improve ARP confirmation where virtual MAC addresses are in use
bug41219: Fix unmapping incorrect memory in ef_vi_free()
bug41165: squash log for EOPNOTSUPP in efch_resource_alloc
bug41304: fix netif_tcp_helper_mmap error path to undo PIO mapping when failure
bug39592: use ci_sys_read to avoid inline failure during build with gcc 4.7
bug41391: raise default TX push threshold to improve latency when firmware batches
bug41193: keep VF state per nic to allow mix of new and old NICs using VFs to work
bug41351: do not allow allocating extra VIs when non-power-of-2 VI set requested
bug41627: fix compilation error in JNI wrapper
bug40844: sync control plane state with kernel when stack is first created
bug41152: forbid socket move for tcp loopback and handover when in epoll set
bug41751: fix problems with application of fcntl() to OS socket
bug41830: RHEL7 beta kernel compatibility build fixes
bug41542: Avoid bogus unused function build warning on non-smp kernels
bug39111: protect against bad values for EF_TCP_INITIAL_CWND (when cwnd < mss)
openonload-201310-u1
--------------------
Updated net driver (v4_0_2_6628) and firmware (v4_0_1_6624)
Add support for RHEL6 update 5
task33976: Support overlapping PIO sends (both templated and not).
task17899: Support empty stackname to onload_set_stackname()
task39134: Add ef_filter_spec_set_{unicast,multicast}_mismatch()
task40066: Implement UDP sendfile (via OS)
task33976: Improvements to templated sends
task36587: onload iptables support for VLANs on EF10
task39338: support additional filter types needed for SolarCapture Pro
task40139: support license challenge needed for SolarCapture Pro
task40573: allow use of variable size RSS sets on EF10
task40019: Add onload_fd_check_feature() to extensions API
task39340: Initial support for allocating VIs from a set to get load spreading
task39156: add ef_filter_spec_set_block_kernel() at ef_vi layer
bug40764: Fix packet length in onload_tcpdump when VLAN header is removed
bug40884: Use 64 bits timeout value in select()
bug40951: Fix leak of pd when allocate_pio() returns an error
bug39156: Restore correct operation of multicast/unicast-all filters on EF10
bug40825: Fix kernel panic when efab_add_mm_ref() fails with ENOMEM
bug40749: Fix theoretical issue pushing improper descriptor with doorbell
bug40571: Improve time conversion in getsockopt(TCP_DEFER_ACCEPT)
bug40199: Return >1k of data when accessing onload iptables /proc files
bug39052: Forbid TCP MSS < 64 to avoid problems with hostile stacks
bug39549: Fix JNI wrapper's use of onload_fd_stat() to cope with fd_stat failure
bug40526: Fix assertion firing when tmpl_alloc() fails to allocate pio
cleanup: Improve performance of sfcaffinity_config and sfcirqaffinity
bug40452: Fix efrm_vi_q_alloc() failing causing kernel panic
bug40357: Fix kernel panic when ef_vi_alloc_from_set() fails
cleanup: Fix error code returned by ef_vi_transmit_pio() when not supported.
cleanup: Fix memory leak when NIC compatibility check failed in ef_vi
bug40277: Report correct errno even if OO_EPOLL1_IOC_ADD_STACK ioctl called
bug40215: Fix 32bit UL on 64bit kernel cmsg issue on Linux >= 3.10
bug40169: Fix corruption of TX DMA overflow queue by ONLOAD_MSG_WARM
bug39858: prime all stacks before going to sleep in epoll to avoid long delays
bug40077: Don't try and remove filters with spinlock held on ef_vi app exit
bug40081: cope with Linux >= 3.3 internal API change for f_op->sendpage
bug39531: request event merging on EF10 to improve throughput at high pkt rates
bug39531: Allow control of threshold for tx push (EF_TX_PUSH_THRESHOLD)
cleanup: Build fixes for C++ compilers.
bug39536: Use 32 bit dma_id on EF10 to allow EF_MAX_PACKETS > 64K
bug39834: Avoid pipe getting stuck in read when trying to send big buffer
bug39990: Don't enable event queue DOS protection on NIC reset
bug37217: Avoid outstanding flush events on real-time kernels
bug37217: Fix memory leak when dealing with outstanding flush events
bug39897: Fix 3.4.6 kernel panic using MAP_HUGETLB and ef_memreg_alloc
bug39874: Fix header contamination in memreg.h (don't include ci/efhw/common.h)
bug39821: Fix state corruption when MSG_WARM is used together with PIO.
openonload-201310
-----------------
Updated sfc net driver and firmware to v4_0_0_6585.
Add support for SFN7122F (Torino).
Add support for recent Linux kernels (up to 3.11).
Add support for recent enterprise distributions.
Include efpio test application for measuring latency of ef_vi layer with PIO.
Add MSG_WARM TCP send feature.
Add JNI wrapper for onload extensions API.
Add support for SO_TIMESTAMP on TCP sockets.
task35946: Accept rx_usr_buf_size that is not larger than expected.
task24106: Added extension API to set onload stack options at runtime.
task31321: Added extension API to save and restore current stack name.
task19643: Added dup3() support.
task32188: Added option EF_TCP_SNDBUF_MODE to limit pkt bufs used on transmit.
task35980: Added ef_vi_receive_prefix_len() and ef_vi_receive_buffer_len().
task33560: Improved onload_stackdump 'processes', 'threads' and 'env' output.
task32790: Add EF_VFORK_MODE option to solve vfork()/java problems.
task38715: Improved the efrm_filter_insert() interface.
task38715: Add option to allocate any VI from an efrm_vi_set or ef_vi_set.
bug39673: Use netdev notifier to update iptables when interface name is changed
bug39681: fix zero-copy receive from OS to correctly set iov_len
bug39569: fix compilation warnings and problems with gcc-4.8
bug38389: increase range of values that EF_TCP_BACKLOG_MAX can be set to
bug38304: implement EF_RETRANSMIT_THRESHOLD_SYNACK
bug38900: Fix Onload RPM build on Oracle Server distro.
task8595: Fix return code from some invalid uses of dup2() and dup3().
task8595: Fix bug in oo_trusted_lock_drop().
bug38422: Fix interaction between shutdown() and MSG_CORK
bug38425: Fix leak of socket buffer when out of fds in accept().
bug38142: Avoid double-lock of fd table
bug37962: Fix EF_TCP_BACKLOG_MAX usage
bug37995: Fix sfcaffinity_config when bonded interfaces present
bug38053: Use #!/bin/bash for libc_compat.sh
bug34768: Kill bogus warnings about unexpected flush events.
bug36102: Return proper errno when ioctl(FIOASYNC) fails
bug36693: Silence spurious warning about smp_processor_id() in sfc_affinity
bug37998: Fix vi_set (RSS) in ef_vi using filters
bug34708: Make efrss filtering capability more flexible
bug37899, bug23309: Fix EPOLLET and EPOLLONESHOT issues
bug37946: Use Linux workqueue as per-stack workqueue
bug37908: Detect sendmmsg presence via standard "nm $libc_path"
bug36102: Make FASYNC code work with OS socket properly
bug37608: bug36582: fix SA_ONESHOT support to use in-kernel copy
bug36095: F_SETFL should be propogated to OS
bug37611: Ensure consistent ordering of event and interrupt delivery by hardware
bug37637: Detach iommu domain when unbinding from PCI VF
bug37722: Destroy huge page packet set from workqueue
bug36095: Check ci_sys_fcntl(F_SETFL) return code
bug37232: Remove init and python scripts when uninstalling
bug36582: Keep in-kernel copy of signal states
bug35341: Move all per-stack postponed jobs into per-stack workqueue
bug34301: Fix race condition in efab_vi_rm_eventq_wait()
cleanup: SLES11 uses obsolete F_OWNER_GID instead of F_OWNER_PGRP, cope with that
bug37380: Do not complain about RTAX_REORDERING
bug37336, bug36181: fix UDP FIONREAD calculation
bug37412, bug36181: fix UDP receive queue accounting
bug37300: Downgrade MSS limit message if we've also logged a statistic count for it
bug36402: Avoid probing sockets before they're fully initialised
bug36402: Don't set fdtable entry to unknown until after we've closed fd.
bug36683: Fix assertion failures in onload_zc_send, onload_zc_alloc_buf
bug36181: Improve tcpdump for loopback packets: set zero mac addresses
bug37210: Prevent shmem access problems when stack is shared
bug37208: Fix onload_tcpdump detach from wedged stack
bug36181: Pass bad packets to onload_tcpdump
bug36228: Drop postponed file references from workqueue
bug34790: Properly retransmit SYN-ACK if it was lost
bug36641: Use new iommu API for linux >=3.3
bug34383: improve UDP PMTU discovery on kernels >= 3.6
bug34617: Fix delayed free of sockets stuck in the non-atomic queue
bug34383: fix crash in pmtu when net interface goes down
bug38750: build fix with CI_CFG_MMAP_EACH_PKTSET=0
bug38750: build fix with CI_CFG_PKTS_AS_HUGE_PAGES=0
bug37217: avoid long task duration of "flush complete" event handling
bug38511: Fixes spurious unlock on fd table
bug38649: avoid double-free of packets race when dropping UDP receive queue
bug37471: Fix stack receiving multiple copies of single packet for multicast on VLANs
bug36712: Fix multicast acceleration/replication
bug34448: Fix possible race condition between epoll and handover.
bug37090: Increase max number of stacks handled in process termination code.
bug36558: Shut down ep->fasync_queue at handover.
bug36139: gcc 4.7 build fix.
cleanup: Suppress unwanted IFA_CACHEINFO messages.
cleanup: Fix installation of sfcaffinity.py for Debian based distros.
bug35662: Fix connection getting stuck when SO_RCVBUF is very small.
bug35926: Add support for F_SETOWN_EX/F_GETOWN_EX.
bug35907, bug35662: don't decrease receive buffer if already less than MSS.
bug35662: Get rid of lower limit on SO_RCVBUF.
bug30266: Fix dropped O_NONBLOCK when socket in epoll set handed to kernel.
bug30266: Ignore local cached routes to fix loopback acceleration.
bug34222: Fix kernel warning provoked when stack fails to initialise.
bug33004: Fix bug handling IP_MTU_DISCOVER socket option.
bug34124: Fix bug using EF_PACKET_BUFFER_MODE=1 with IOMMU and multiple NICs.
bug30031: Respect EF_SHARE_WITH when accelerating TCP loopback.
bug27621: Fix error returned by unknown ioctl() on recent kernel versions.
bug33820: Fix kernel memory leak in Onload control plane.
bug33817: Fix IP length field in ICMP packets sent by Onload.
bug33654: Do not postpone SIGPROF signal by default.
bug33494: Fix race between stack creation and NIC reset.
bug32168: Fix TCP recv() blocking behaviour when reading to buffer of length 0.
bug33198: Update TCP_DEFER_ACCEPT to match recent Linux behaviour.
bug21474: Added option EF_FORCE_TCP_NODELAY to force TCP_NODELAY option on.
bug32488: Keep calling oo_timesync_update till cpu_khz is stablized.
bug32281: Added option EF_FREE_PACKETS_LOW_WATERMARK.
bug31766: Improve handling of siginfo_t when postponing signals.
openonload-201210-u2
--------------------
Updated sfc net driver to v3_3_0_6309
Add ptp to modprobe'd modules when loading net driver.
Add support for recent Linux kernels (up to 3.9)
bug37783: fix counting error in async packets counter for onload_stackdump
bug34571: Handle EF_DONT_ACCELERATE + EF_NO_FAIL=0 in pipe().
bug37610: EF_EPOLL_CTL_FAST=1: check if fd was reused before postponing epoll_ctl.
task8595: Reorder code to avoid having to defer drop of file reference.
bug36423: fix compatibility issues with sigaction on linux-3.9 kernels.
bug36423: Remove re-definition of sigaction32.
bug37129: Initialise epoll blocking flag on create.
bug37129: allow EEXIST when handing over fd to OS epoll set.
bug37187: Fix ef_vi_alloc* not returning q_ids.
bug36665: Fix 32-bit app on 64-bit kernel due to citp_opts misalignment.
bug36697: Reduce open fds in Onload tools by calling closedir.
bug36423: Fix linux-3.9 kernel compilation.
bug35968: Store memory mapping sizes as unsigned values to double usuable sizes.
task28435: Fixes to get working in-tree build again.
bug36170: Fix double lock_kernel use.
bug35910: Fix EF_UL_EPOLL=1 when EF_EPOLL_CTL_FAST=1 and no accelerated fds.
bug34910: Only use tx push if exactly one descriptor.
bug35028: Remove __devinit usage from Onload drivers (linux-3.8 compatibility).
task17899: Repond sensibly if a bad interface is passed to efsink.
task8595: Fix caller of oo_os_sock_get_from_ep() not checking return value
bug35232: Avoid leaking fds in linux-3.7 kernels.
bug33759: Fix sock_map_fd/sock_alloc_file implementation for linux-3.7.
bug34730: Replaced deprecated file check operator in onload_tool for Ubuntu.
bug35119: Fix ef_vi receive of jumbo frames.
bug34467: Add missing read barrier when waiting for dup2 newfd to close.
bug34466: Fix bug in dup() in case that the syscall fails.
Fix "sfcaffinity_config auto" when sfc_ib driver is loaded.
Ignore copyright header when making ef_vi api hash.
openonload-201210-u1
--------------------
Updated sfc net driver to v3_3_0_6246.
task32441: stackdump: Add count of TCP sends via kernel due to no mac.
task33571: Added EF_SIGNALS_NOPOSTPONE option to control signals intercepted.
task32571: Support for AOE (FPGA NICs).
task20738: Added support for IP_ADD_SOURCE_MEMBERSHIP etc.
bug32440: Fix handling of firewall MAC rules.
bug31498: Fix return value from sendmmsg() in error case.
bug32839: Fix leak of epoll file descriptor.
bug33072: Fix leak of pipe file descriptor.
bug32957: bug32960: Fix handling of bad parameters to pipe() and pipe2().
bug33042: Fix EF_PREFAULT_PACKETS on some versions of gcc.
bug33144: Allocate more random initial sequence numbers for TCP.
bug33133: Fix bug causing RTT estimates to not be updated.
bug32511: Handle iommu_attach_device failure in efrm_pci_vf_probe.
bug30511: Do not remove HW filters when SW filter table fills.
bug33311: Fix handling of SA_RESETHAND (SA_ONESHOT).
bug33405: Check for pending signals when spinning in write(pipefd).
bug33237, bug33192: Fixes to Onload recovery following NIC reset.
bug33571, bug33654: Do not defer signals: SIGBUS, SIGSEGV, SIGPROF.
bug32061: Reset affinity hint before freeing VF interrupt.
bug33459: Fix buffer leak after close with EF_TCP_SERVER_LOOPBACK=2.
bug32280: stackdump: Fix error accessing files under /proc.
bug33565: stackdump: Fixup printing of cmdline to account for null byte.
bug33632: Fix once-per-stack memory leak.
bug33647: Fix memory leak when using huge pages.
bug33639: Fix warning due to creating proc entries in atomic context.
bug32467: Fix bug when TCP bind() call results in handover to kernel.
bug32325: Fix problem installing init scripts on Fedora 17 with lsb package.
bug32602: Fix leak of packet buffers in TCP receive path corner cases.
bug32670: Fix bug allocating packet buffers when memory is fragmented.
bug32494: Fix truncation of "onload_stackdump filters" output when large.
bug32721: Fix kernel panic provoked by low system memory.
bug32462: Fix onload_iptables on older python versions (2.4).
bug32659: Fix hang in fork() (exhibited by Java processes).
bug33759: Compile fixes for Linux kernel 3.7.
openonload-201210
-----------------
- Updated sfc net driver to v3_3_0_6222B.
- task26187: Firewall interface to limit traffic that can bypass kernel stack.
- task26187: Iptables integration supports subset of iptables rules.
- task28045: Default onload_stackdump output improved to identify process info.
- task28045: New onload_stackdump commands: env, processes, affinities
- task19306: Acceleration of pselect(), ppoll() and epoll_pwait().
- task31567: Improve epoll_wait() and poll() performance when heavily loaded.
- task30177: Add physical addressing mode EF_PACKET_BUFFER_MODE=2 or 3.
- task30177: Add onload module option phys_mode_gid.
- task8595: Removed module option unsafe_sriov_without_iommu.
- task26188: Support packet buffers in huge pages (EF_USE_HUGE_PAGES).
- task31354: New mode EF_TCP_CLIENT_LOOPBACK=4 to put loopback in new stack
- task29363: Keep non-blocking free pool replenished in loopback cases.
- task8595: Fix frequency with which we call schedule() with EF_UL_EPOLL=2.
- task30187: Added support for sendmmsg() on accelerated UDP sockets.
- task8595: Set IRQ affinity hint for EF_IRQ_CORE with VFs.
- task8595: New stackdump stats relating to sock_wakes and unlock_slow.
- bug30208: Return error if zero-copy buffers are used with wrong stack.
- bug31176: drop lock if returning error from ci_udp_zc_recv_from_os
- bug30890: Fix bug with EF_UL_EPOLL=2 when sockets are handed over to kernel.
- bug22388, bug25644: Fix cleanup when fail to insert h/w filter for multicast.
- bug24199: Fix bug relating to multicast joins on multiple vlan interfaces.
- bug31262: Fix kernel buffer overrun provoked by "onload_stackdump filters"
- bug31333: Fix acceleration with SOCK_NONBLOCK or SOCK_CLOEXEC.
- bug31130: Fix bug on second call to connect() on TCP socket.
- bug30731, bug31368: Prevent infinite loop due to post-poll-list corruption.
- bug30731, bug31368: Prevent infinite loop due to loopback-list corruption.
- bug31449: Fix timeout bug in accept() when spinning.
- bug31464: Fix bug in onload_zc_recv() when multiple multicast recipients.
- bug31494: Do not accept net packets for loopback sockets.
- bug31494: Properly reorder loopback packets when sending.
- bug31497: Increase default number of stacks EF_UL_EPOLL=2 can handle.
- bug31497: Add module option epoll2_max_stacks.
- bug31515: Fix kernel panic with EF_UL_EPOLL=2.
- bug30825: Don't allow packets to be received from ports that are down.
- bug31548: Fix case that could leave onload stack persisting after app exit.
- bug31565: Fix bug in combination of EPOLLPRI and EPOLLET in userlevel epoll.
- bug31573: Userlevel epoll ignored EPOLLWRNORM and EPOLLWRBAND.
- bug31574: Determine kernel pkg name without being confused by other pkgs.
- bug31565: Fix combination of EPOLLWRBAND and EPOLLET in userlevel epoll.
- bug31600: Fix build for linux kernels >= 3.5.2
- bug31619: Fix bug in accelerated pipe causing data corruption.
- bug28514: Fix double-release of packet on out-of-order TCP receive.
- bug31638: Fix TCP_DEFER_ACCEPT with TCP loopback acceleration.
- bug29449: Fix bug relating to FIOASYNC signal handling.
- bug31310: Fix EF_NAME with setuid applications.
- bug31410: Fix route via a gateway that is a local IP on an accelerated intf.
- bug30140: Fix blocking read of length zero from pipe: it should not block.
- bug31785: Enforce EF_RXQ_MIN and EF_MIN_FREE_PACKETS.
- bug31278: Fix incorrect ACK field in RST-ACK packet.
- bug25680: Avoid thundering herd problem when apps start with same EF_NAME.
- bug32011: Enable faststart after idle sender when no timestamp option.
- bug32011: Reduce default dynamic ACK threshold to 16 by default.
- bug32028: Fix EPOLLONESHOT bug that could cause epoll_wait to not unblock.
- bug32166: Further workarounds for IOMMU foibles.
- bug32168: Do not block in read() with count=0.
- bug32234: Add diagnostic to warn user about old unsupported iommu.
- bug32284: Intercept __recv_chk and __recvfrom_chk.
- bug31889: Fix crash with TCP loopback accept() and out of endpoint buffers.
- bug31669: Drop TCP loopback connection if the other end is destroyed.
- bug31974: Fix accept() from kernel on 2.6.18-308.11.1.el5.
openonload-201205-u1
--------------------
- Various workarounds for IOMMU-related kernel bugs.
- Compatibility with RHEL6.3 and linux-3.4.0.
- Use IP ID of zero with TCP.
- bug29724: Do not accept unsolicited ARPs that change MAC associated with IP.
- bug29870: Share iommu domain between VFs in a single Onload stack.
- Fix previously ignored option EF_TCP_ADV_WIN_SCALE_MAX.
- bug29996: Do not send packets with IP TTL=0.
- bug27919: Fix poll() after nonblocking connect on TCP socket.
- bug27932: Fix RPM dependency bugs.
- Improve error messages when out of socket buffers.
- Reduce cost of waking other threads for loopback and pipes.
- bug30140: Fix bugs in error handling in pipe read/write.
- bug30140: Fix race with pipes between close() of write-fd and read().
- Various improvements and minor bug fixes to spin-loops.