<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/ofed, branch releng/9.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F9.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F9.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-06-16T20:43:43Z</updated>
<entry>
<title>MFC r254120, r257862 and r267395:</title>
<updated>2014-06-16T20:43:43Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2014-06-16T20:43:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=99dbf867c9ffdf7c0bfc989c4c046a1d0af59603'/>
<id>urn:sha1:99dbf867c9ffdf7c0bfc989c4c046a1d0af59603</id>
<content type='text'>
- Fix out of range shifting bug in bitops.h.
- Make code a bit easier to read by adding parenthesis.

Approved by:	re, gjb @
</content>
</entry>
<entry>
<title>MFC r246482 (rrs) + r246581:</title>
<updated>2013-11-25T20:01:34Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-11-25T20:01:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46e56fc3c499ff995c0e694e3bc01a67bfa502ac'/>
<id>urn:sha1:46e56fc3c499ff995c0e694e3bc01a67bfa502ac</id>
<content type='text'>
This fixes a out-of-order problem with several of the newer
drivers. The basic problem was that the driver was pulling
the mbuf off the drbr ring and then when sending with xmit(),
encounting a full transmit ring. Thus the lower layer xmit()
function would return an error, and the drivers would then
append the data back on to the ring.  For TCP this is a
horrible scenario sure to bring on a fast-retransmit.

The fix is to use drbr_peek() to pull the data pointer but
not remove it from the ring. If it fails then we either call
the new drbr_putback or drbr_advance method. Advance moves
it forward (we do this sometimes when the xmit() function
frees the mbuf). When we succeed we always call advance.
The putback will always copy the mbuf back to the top of the
ring. Note that the putback *cannot* be used with a
drbr_dequeue() only with drbr_peek(). We most of the time,
in putback, would not need to copy it back since most likey
the mbuf is still the same, but sometimes xmit() functions
will change the mbuf via a pullup or other call. So the
optimial case for the single consumer is to always copy it
back.  If we ever do a multiple_consumer (for lagg?) we
will need a test and atomic in the put back possibly a
seperate putback_mc() in the ring buf.

Reviewed by:	jhb@freebsd.org, jlv@freebsd.org
</content>
</entry>
<entry>
<title>MFC 254576: Stop an ipoib interface before detaching it.</title>
<updated>2013-11-12T21:33:01Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2013-11-12T21:33:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=facac52e0fe9582a0ad08654c3d175f20a1d77e2'/>
<id>urn:sha1:facac52e0fe9582a0ad08654c3d175f20a1d77e2</id>
<content type='text'>
PR:		kern/181225
</content>
</entry>
<entry>
<title>MFC r250460 (by eadler):</title>
<updated>2013-10-09T19:04:48Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-10-09T19:04:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=693bd3e713471b8e40ce420745cc8e98b8b435d1'/>
<id>urn:sha1:693bd3e713471b8e40ce420745cc8e98b8b435d1</id>
<content type='text'>
Fix a bunch of typos.
</content>
</entry>
<entry>
<title>MFC r253604: rename scheduler-&gt;swapper and SI_SUB_RUN_SCHEDULER-&gt;SI_SUB_LAST</title>
<updated>2013-08-23T13:20:11Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2013-08-23T13:20:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=56c4b060f9dbf3122976c214a8d5cdcbe2326036'/>
<id>urn:sha1:56c4b060f9dbf3122976c214a8d5cdcbe2326036</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC 253048,253423,253449,253653,253774,253785:</title>
<updated>2013-08-06T19:23:57Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2013-08-06T19:23:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c4cd76ab08f6d82fa667f93566945f730505ad67'/>
<id>urn:sha1:c4cd76ab08f6d82fa667f93566945f730505ad67</id>
<content type='text'>
- Allow mlx4 devices to switch between Ethernet and Infiniband:
  - Fix sysfs attribute handling by using sysctl_handle_string() and
    properly handling trailing newlines in attribute values.
  - Remove check forbidding requests that would result in one port being
    set to Ethernet and the subsequent port being set to IB.
- Avoid trashing IP fragments by correctly managing hardware checksumming.
- Fix panics when downing or unloading the mlx4 driver.

PR:		kern/179999, kern/174213, kern/180430, kern/180791
</content>
</entry>
<entry>
<title>MFC/backport core kernel and userspace parts of r237263 (TCP_OFFLOAD</title>
<updated>2013-07-03T09:25:29Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2013-07-03T09:25:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bd85dcc4ec5bce61d07b9624cf50cb9ff6806500'/>
<id>urn:sha1:bd85dcc4ec5bce61d07b9624cf50cb9ff6806500</id>
<content type='text'>
rework).  MFC r237563, r239511, r243603, r245915, r245916, r245919,
r245921, r245922, r245924, r245925, r245932, r245934 too.

Build tested with make universe.

r237263:
- Updated TOE support in the kernel.
...

r237563:
Fix clang warning when compiling iw_cxgb.

r239511:
Correctly handle the case where an inp has already been dropped by the time
the TOE driver reports that an active open failed.  toe_connect_failed is
supposed to handle this but it should be provided the inpcb instead of the
tcpcb which may no longer be around.

r243603:
Make sure that tcp_timer_activate() correctly sees TCP_OFFLOAD (or not).

r245915:
Heed SO_NO_OFFLOAD.

r245916:
Teach toe_4tuple_check() to deal with IPv6 4-tuples too.

r245919:
Add TCP_OFFLOAD hook in syncache_respond for IPv6 too, just like the one
that exists for IPv4.

r245921:
There is no need to call into the TOE driver twice in pru_rcvd (tod_rcvd
and then tod_output right after that).

r245922:
Avoid NULL dereference in nd6_storelladdr when no mbuf is provided.  It
is called this way from a couple of places in the OFED code.  (toecore
calls it too but that's going to change shortly).

r245924:
Move lle_event to if_llatbl.h

lle_event replaced arp_update_event after the ARP rewrite and ended up
in if_ether.h simply because arp_update_event used to be there too.
IPv6 neighbor discovery is going to grow lle_event support and this is a
good time to move it to if_llatbl.h.

The two in-tree consumers of this event - OFED and toecore - are not
affected.

r245925:
Generate lle_event in the IPv6 neighbor discovery code too.

r245932:
Teach toe_l2_resolve to resolve IPv6 destinations too.

r245934:
Add checks for SO_NO_OFFLOAD in a couple of places that I missed earlier
in r245915.
</content>
</entry>
<entry>
<title>MFC 251617:</title>
<updated>2013-06-20T19:56:26Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2013-06-20T19:56:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3b95c1e2d615e0586a8cbfbbec4161534baea459'/>
<id>urn:sha1:3b95c1e2d615e0586a8cbfbbec4161534baea459</id>
<content type='text'>
Store a reference to the vnode associated with a file descriptor in the
linux_file structure and use it instead of directly accessing td_fpop
when destroying the linux_file structure.  The td_fpop pointer is not
valid when a cdevpriv destructor is run, and the type-specific close
method has already been called, so f_vnode may not be valid (and the
vnode might have been recycled without our own reference).
</content>
</entry>
<entry>
<title>MFC 249066:</title>
<updated>2013-06-04T14:38:50Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2013-06-04T14:38:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f579b7f5fe89f33f4955df323723768b89f3d2aa'/>
<id>urn:sha1:f579b7f5fe89f33f4955df323723768b89f3d2aa</id>
<content type='text'>
Check for SS_NBIO in the socket state field rather than socket buffer
flags.
</content>
</entry>
<entry>
<title>MFC r250374:</title>
<updated>2013-05-22T00:31:33Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-05-22T00:31:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=538f89d128d364ac5e4c8214fd3a59ea532b0599'/>
<id>urn:sha1:538f89d128d364ac5e4c8214fd3a59ea532b0599</id>
<content type='text'>
According to the documentation, on Linux, cancel_delayed_work() does not
do drain (flush_workqueue() in Linux terms) but instead returns true if
the work was removed before it is run, or false otherwise.

Simulate this by removing the taskqueue_drain() and return the value
derived from taskqueue_cancel()'s return value.

This would solve a witness warning caused by calling taskqueue_drain()
with a non-sleepable lock held, like:

taskqueue_drain with the following non-sleepable locks held:
exclusive rw lle (lle) r = 0 (0xfffffe001450b410) locked @
/usr/src/sys/netinet/in.c:1484
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff848d4f7690
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff848d4f7740
witness_warn() at witness_warn+0x4a8/frame 0xffffff848d4f7800
taskqueue_drain() at taskqueue_drain+0x3a/frame 0xffffff848d4f7840
set_timeout() at set_timeout+0x4a/frame 0xffffff848d4f7860
netevent_callback() at netevent_callback+0x16/frame 0xffffff848d4f7870
arpintr() at arpintr+0x9b5/frame 0xffffff848d4f7930

This do not affect kernel without OFED compiled in.

Reported by:	Garrett Cooper &lt;yaneurabeya gmail com&gt;
</content>
</entry>
</feed>
