<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/macppc/dev/if_mc.c, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/macppc/dev/if_mc.c?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/macppc/dev/if_mc.c?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2017-01-22T10:17:37Z</updated>
<entry>
<title>move counting if_opackets next to counting if_obytes in if_enqueue.</title>
<updated>2017-01-22T10:17:37Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2017-01-22T10:17:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=88a08f2af426247cf5e32d11f8df17f5717812a1'/>
<id>urn:sha1:88a08f2af426247cf5e32d11f8df17f5717812a1</id>
<content type='text'>
this means packets are consistently counted in one place, unlike the
many and various ways that drivers thought they should do it.

ok mpi@ deraadt@
</content>
</entry>
<entry>
<title>G/C IFQ_SET_READY().</title>
<updated>2016-04-13T11:33:59Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2016-04-13T11:33:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=621bd93d1959ca5c0723c92037944a11d0c21f97'/>
<id>urn:sha1:621bd93d1959ca5c0723c92037944a11d0c21f97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>No trailers has been the default and only option for 20 years, yet some</title>
<updated>2015-12-08T13:34:22Z</updated>
<author>
<name>tedu</name>
<email>tedu@openbsd.org</email>
</author>
<published>2015-12-08T13:34:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9d022f3e0978d35ded0224320d050804cd1170d1'/>
<id>urn:sha1:9d022f3e0978d35ded0224320d050804cd1170d1</id>
<content type='text'>
drivers still set IFF_NOTRAILERS while others do not. Remove all usage of
the flag from the drivers which in ancient times used it (and the modern
drivers which blindly copied it from those drivers of yore).
suggested by guenther. ok mpi
</content>
</entry>
<entry>
<title>replace IFF_OACTIVE manipulation with mpsafe operations.</title>
<updated>2015-11-25T03:09:57Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2015-11-25T03:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=de6cd8fb8d837003eb7d453f93d5caf7b62ec0d5'/>
<id>urn:sha1:de6cd8fb8d837003eb7d453f93d5caf7b62ec0d5</id>
<content type='text'>
there are two things shared between the network stack and drivers
in the send path: the send queue and the IFF_OACTIVE flag. the send
queue is now protected by a mutex. this diff makes the oactive
functionality mpsafe too.

IFF_OACTIVE is part of if_flags. there are two problems with that.
firstly, if_flags is a short and we dont have any MI atomic operations
to manipulate a short. secondly, while we could make the IFF_OACTIVE
operates mpsafe, all changes to other flags would have to be made
safe at the same time, otherwise a read-modify-write cycle on their
updates could clobber the oactive change.

instead, this moves the oactive mark into struct ifqueue and provides
an API for changing it. there's ifq_set_oactive, ifq_clr_oactive,
and ifq_is_oactive. these are modelled on ifsq_set_oactive,
ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd.

this diff includes changes to all the drivers manipulating IFF_OACTIVE
to now use the ifsq_{set,clr_is}_oactive API too.

ok kettenis@ mpi@ jmatthew@ deraadt@
</content>
</entry>
<entry>
<title>You only need &lt;net/if_dl.h&gt; if you're using LLADDR() or a sockaddr_dl.</title>
<updated>2015-11-24T17:11:38Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2015-11-24T17:11:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=32f46ff2e93ccf3546bbc539f0fa971e842cb956'/>
<id>urn:sha1:32f46ff2e93ccf3546bbc539f0fa971e842cb956</id>
<content type='text'>
</content>
</entry>
<entry>
<title>No need to include &lt;net/bpfdesc.h&gt;</title>
<updated>2015-11-14T17:26:40Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2015-11-14T17:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=7402f5da28305b40553f04859871b5a99863b79e'/>
<id>urn:sha1:7402f5da28305b40553f04859871b5a99863b79e</id>
<content type='text'>
Now that "struct bpf_d" depends on &lt;sys/srp.h&gt; this is one of the offender
for removing the header from &lt;sys/param.h&gt;
</content>
</entry>
<entry>
<title>arp_ifinit() is no longer needed.</title>
<updated>2015-10-25T13:22:09Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2015-10-25T13:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=82ab6bfd1d45b6e718818eff2e091ec8c3341c80'/>
<id>urn:sha1:82ab6bfd1d45b6e718818eff2e091ec8c3341c80</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFREE(9) is dead, long live m_freem(9)!</title>
<updated>2015-07-08T07:21:49Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2015-07-08T07:21:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=822e8206f63c536bfbab8b733f9bbbbfa73787c7'/>
<id>urn:sha1:822e8206f63c536bfbab8b733f9bbbbfa73787c7</id>
<content type='text'>
ok bluhm@, claudio@, dlg@
</content>
</entry>
<entry>
<title>Increment if_ipackets in if_input().</title>
<updated>2015-06-24T09:40:53Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2015-06-24T09:40:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=db4dc9aafbed936e879d4362ca141e998a6e925c'/>
<id>urn:sha1:db4dc9aafbed936e879d4362ca141e998a6e925c</id>
<content type='text'>
Note that pseudo-drivers not using if_input() are not affected by this
conversion.

ok mikeb@, kettenis@, claudio@, dlg@
</content>
</entry>
<entry>
<title>tweak the new if_input function so it takes an mbuf_list instead</title>
<updated>2015-02-09T03:09:57Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2015-02-09T03:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=8666626419f6e75a751c24169e7929156574f07d'/>
<id>urn:sha1:8666626419f6e75a751c24169e7929156574f07d</id>
<content type='text'>
of a single mbuf. this forces us to batch work between the hardware
rx handlers and the stack.

this includes a converstion of bge from ether_input to if_input.

ok claudio@ pelikan@ mpi@
</content>
</entry>
</feed>
