History log of /haiku/src/libs/compat/freebsd_network/compat/sys/mbuf.h
Revision Date Author Comments
# 8548a4ad 12-May-2022 Augustin Cavalier <waddlesplash@gmail.com>

freebsd_network: Adaptations in preparation for the OpenBSD layer.

Most of these changes however add things that FreeBSD has (with a few
exceptions noted in comments) which the OpenBSD shim layer merely needs
to make use of.

(FreeBSD used to have support for IFF_NEEDSGIANT but removed it. The
support instated here is very similar to what FreeBSD used to have.)


# f733714a 07-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

freebsd_network: Changes for FreeBSD 12 net80211.


# a029a69c 03-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

freebsd_network: Properly align mbuf members.


# 8267c193 29-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

freebsd_network: Lots of additions and modifications for iflib.


# 92d70a24 28-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

freebsd_network: Fix and implement some mbuf functions.

Spotted while reviewing the code during iflib porting.


# dba28784 24-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

freebsd11_network -> freebsd_network.

FreeBSD 12 has no major changes to the ifnet KPIs that constitute a
source compatibility break, save a single one related to locking
which doesn't really apply to us, and so we don't need to create
a "freebsd12_network" directory to work through the upgrades.


# 35226072 27-Mar-2017 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

__FreeBSD_version__ is always 8, remove old #if

Reduce number of todos...


# ca16bde3 28-Dec-2009 Colin Günther <coling@gmx.de>

Enhancing the freebsd compat layer in preparation of including crypto support
for the wlan stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34794 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 92d96f01 18-Dec-2009 Colin Günther <coling@gmx.de>

* Whitespace cleanup. No functional change.
* Use C++ comment styles.
* Use a common pointer orientation throughout the code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34693 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fafb3210 18-Dec-2009 Colin Günther <coling@gmx.de>

* Removed code duplication by merging destruct_pkt_mbuf and mb_free_ext.
This gets rid of one layer of indirection, too.
Also, this removed a potential memory leakage, when deleting external memory
in destruct_pkt_mbuf. In the case where memory of type EXT_JUMBO9 was
previously allocated, this would have been wrongly catched by the condition
(ext_type & EXT_CLUSTER) != 0.
* Renamed some variables to more human readable style.
* Commented some constants in mbuf.h to make more clear what they indicate and
to show that they should not be treatet as flags, as it was the case one
some locations before.
* Removed the EXT_PACKET constant, as it requests the same cache as
EXT_CLUSTER. EXT_PACKET is a optimizing technique from BSD, where a cache
exists holding some preallocated mbuf + cluster memory. Such a thing is not
implemented in the compat layer, at all. Though EXT_CLUSTER tells more
clearly what the size of the external data buffer is.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34692 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f47e4d7f 01-Dec-2009 Colin Günther <coling@gmx.de>

* Adding another mbuf cache for handling MJUMPAGESIZE sized clusters.
* This should fix ticket #5063.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34429 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14627e08 22-Oct-2009 Colin Günther <coling@gmx.de>

* reordering of headerfile inclusion to comply to FreeBSD 8
ordering.
this makes porting driver (especially wifi ones) more
convinient
* based on FreeBSD svn revision 196691

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 855b7c29 02-Dec-2008 Jérôme Duval <korli@users.berlios.de>

added some missing functions for freebsd current


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28760 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1dc91130 10-Nov-2008 Jérôme Duval <korli@users.berlios.de>

added m_cljget() with support for jumbo9 size: it should help with broadcom570x


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28603 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 554ff457 02-Nov-2008 Jérôme Duval <korli@users.berlios.de>

* imported m_collapse()
* added an expected header dependency in rman.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28466 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 28de9015 28-Sep-2008 Axel Dörfler <axeld@pinc-software.de>

* As Adek336 found out, our definition of MHLEN was wrong, and that actually
caused lots of bugs (like #2758, and obviously also #1641). Thanks a lot!!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27771 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 619780e1 24-Sep-2008 Axel Dörfler <axeld@pinc-software.de>

* Patch by tqh from ticket #2761 that adds max_hdr, and puts some extra
parenthesis around the mtod() definition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27719 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 239239c8 25-Nov-2007 Axel Dörfler <axeld@pinc-software.de>

* Updated the FreeBSD compatibility layer for network drivers to FreeBSD 7
(RELENG_7_BP).
* There are many white spots, though, most notable PCI MSI(-X) support, and
jumbo frames.
* Fixed removing interrupts for the INTR_FAST case. Since FreeBSD 7 added
a new interrupt "filter" mechanism, we can finally report if the interface
was handled by a device or not (though only very few devices support this
yet).
* Updated the 3com, rtl8139, e1000, and via_rhine drivers to the latest code
base. They all compile, but I haven't tested them after the changes yet!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22991 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a275df5 09-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dcaf1f47 08-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: splited freebsd original code into own files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21079 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25d42ceb 08-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: a few more definitions, preparing for a DMA-using driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 00212abe 04-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: a few more methods, preparing for pcnet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21026 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6d043beb 03-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: added mii placeholders, callout implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21006 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a8ff4e33 03-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: ifnet and ethernet methods. missing MII and callout


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21000 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ac156738 03-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: added freebsd's busdma implementation. we are still missing MII and the ifp/ether methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 82256564 02-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: added mbuf allocation and if_media support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20990 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 750ddafd 02-May-2007 Hugo Santos <hugosantos@nowhere.fake>

initial work towards a FreeBSD network driver source level compatibility layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca16bde32bab17710e72baf2315b4e1ba17fb91c 28-Dec-2009 Colin Günther <coling@gmx.de>

Enhancing the freebsd compat layer in preparation of including crypto support
for the wlan stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34794 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 92d96f010585d04f0d51408c30db7b519ac92d4f 18-Dec-2009 Colin Günther <coling@gmx.de>

* Whitespace cleanup. No functional change.
* Use C++ comment styles.
* Use a common pointer orientation throughout the code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34693 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fafb321062bf7e9db8bc6327d4cc953e4a55db1f 18-Dec-2009 Colin Günther <coling@gmx.de>

* Removed code duplication by merging destruct_pkt_mbuf and mb_free_ext.
This gets rid of one layer of indirection, too.
Also, this removed a potential memory leakage, when deleting external memory
in destruct_pkt_mbuf. In the case where memory of type EXT_JUMBO9 was
previously allocated, this would have been wrongly catched by the condition
(ext_type & EXT_CLUSTER) != 0.
* Renamed some variables to more human readable style.
* Commented some constants in mbuf.h to make more clear what they indicate and
to show that they should not be treatet as flags, as it was the case one
some locations before.
* Removed the EXT_PACKET constant, as it requests the same cache as
EXT_CLUSTER. EXT_PACKET is a optimizing technique from BSD, where a cache
exists holding some preallocated mbuf + cluster memory. Such a thing is not
implemented in the compat layer, at all. Though EXT_CLUSTER tells more
clearly what the size of the external data buffer is.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34692 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f47e4d7f93a90cc606d62135e5f2c6d39152d34b 01-Dec-2009 Colin Günther <coling@gmx.de>

* Adding another mbuf cache for handling MJUMPAGESIZE sized clusters.
* This should fix ticket #5063.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34429 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14627e087b920676d05d45cec5f28688744e1fdb 22-Oct-2009 Colin Günther <coling@gmx.de>

* reordering of headerfile inclusion to comply to FreeBSD 8
ordering.
this makes porting driver (especially wifi ones) more
convinient
* based on FreeBSD svn revision 196691

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 855b7c292e2f5a0102339980518b711e9b97922a 02-Dec-2008 Jérôme Duval <korli@users.berlios.de>

added some missing functions for freebsd current


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28760 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1dc9113089f9274b2dadb6912e9d82c44706f1d2 10-Nov-2008 Jérôme Duval <korli@users.berlios.de>

added m_cljget() with support for jumbo9 size: it should help with broadcom570x


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28603 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 554ff457ee38c0e03c1761c6fe801f628e9bb748 02-Nov-2008 Jérôme Duval <korli@users.berlios.de>

* imported m_collapse()
* added an expected header dependency in rman.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28466 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 28de90159db6cc70d9779634c656c56052c9cd6a 28-Sep-2008 Axel Dörfler <axeld@pinc-software.de>

* As Adek336 found out, our definition of MHLEN was wrong, and that actually
caused lots of bugs (like #2758, and obviously also #1641). Thanks a lot!!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27771 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 619780e1beef691fd871273276ad213ee444f72a 24-Sep-2008 Axel Dörfler <axeld@pinc-software.de>

* Patch by tqh from ticket #2761 that adds max_hdr, and puts some extra
parenthesis around the mtod() definition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27719 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 239239c8a0c6a2671f8f236ba32abf03e78f0c27 25-Nov-2007 Axel Dörfler <axeld@pinc-software.de>

* Updated the FreeBSD compatibility layer for network drivers to FreeBSD 7
(RELENG_7_BP).
* There are many white spots, though, most notable PCI MSI(-X) support, and
jumbo frames.
* Fixed removing interrupts for the INTR_FAST case. Since FreeBSD 7 added
a new interrupt "filter" mechanism, we can finally report if the interface
was handled by a device or not (though only very few devices support this
yet).
* Updated the 3com, rtl8139, e1000, and via_rhine drivers to the latest code
base. They all compile, but I haven't tested them after the changes yet!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22991 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a275df505bbca8550b30cc6a92b86e6a3c94f2a 09-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dcaf1f47c5ca382a5e1f5d71af88fec28d6c20c0 08-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: splited freebsd original code into own files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21079 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25d42ceb99f745c136482397667bc9ebb6bd5013 08-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: a few more definitions, preparing for a DMA-using driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 00212abe1c16a1cd1fdef6f0fddb2a67e48af934 04-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: a few more methods, preparing for pcnet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21026 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6d043beb03c572d3fd2f6995c83e13516913790a 03-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: added mii placeholders, callout implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21006 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a8ff4e33f19740283612a360581fe7f5590112a5 03-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: ifnet and ethernet methods. missing MII and callout


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21000 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ac156738e97ccf179f4baa62cd2b27af10d2876c 03-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: added freebsd's busdma implementation. we are still missing MII and the ifp/ether methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 82256564e26214c7041963436ea6ede7fdc9706e 02-May-2007 Hugo Santos <hugosantos@nowhere.fake>

freebsd compat. layer: added mbuf allocation and if_media support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20990 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 750ddafd50d75eff1baf4e34ed5f037863fb9cdc 02-May-2007 Hugo Santos <hugosantos@nowhere.fake>

initial work towards a FreeBSD network driver source level compatibility layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20985 a95241bf-73f2-0310-859d-f6bbb57e9c96