Home | History | Annotate | Download | only in netinet
History log of /src/sys/external/bsd/ipf/netinet/ip_compat.h
RevisionDateAuthorComments
 1.13  03-May-2018  maxv Remove m_copy completely.
 1.12  01-May-2018  maxv Remove unused alias to tcpiphdr.
 1.11  05-Aug-2016  christos branches: 1.11.14;
unifdef
 1.10  10-Jun-2016  ozaki-r branches: 1.10.2;
Avoid storing a pointer of an interface in a mbuf

Having a pointer of an interface in a mbuf isn't safe if we remove big
kernel locks; an interface object (ifnet) can be destroyed anytime in any
packet processing and accessing such object via a pointer is racy. Instead
we have to get an object from the interface collection (ifindex2ifnet) via
an interface index (if_index) that is stored to a mbuf instead of an
pointer.

The change provides two APIs: m_{get,put}_rcvif_psref that use psref(9)
for sleep-able critical sections and m_{get,put}_rcvif that use
pserialize(9) for other critical sections. The change also adds another
API called m_get_rcvif_NOMPSAFE, that is NOT MP-safe and for transition
moratorium, i.e., it is intended to be used for places where are not
planned to be MP-ified soon.

The change adds some overhead due to psref to performance sensitive paths,
however the overhead is not serious, 2% down at worst.

Proposed on tech-kern and tech-net.
 1.9  10-Jun-2016  ozaki-r Introduce m_set_rcvif and m_reset_rcvif

The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.

No functional change.
 1.8  09-Jun-2016  pgoyette Enable building of ipfilter code as a separately-loaded module.
 1.7  20-Mar-2014  christos branches: 1.7.6;
kill sprintf
 1.6  09-Jan-2013  christos branches: 1.6.2;
Back out my last change, which was a partial fix for hash code computation problems.
Apply Darren's more complete reworking of hash code computation.
Ensure that the struct containing the red-black tree head is properly initialized.
From Geoff Adams
 1.5  20-Dec-2012  christos - Replace the seemingly broken built-in ipf rbtree implementation with ours.
- Fix typos in comments
- Fix 2 mutex errors
From Geoff Adams
 1.4  15-Sep-2012  plunky the result of the construct

#define FOO defined(BAR)

#if FOO
[conditional code]
#endif

is "undefined", according to C99 6.10.1 note 4. So, change code like
that to use the following paradigm

#if defined(BAR)
#define FOO 1
#else
#define FOO 0
#endif

#if FOO
[conditional code]
#endif
 1.3  22-Jul-2012  darrenr branches: 1.3.2;
Merge IPFilter 5.1.2 into HEAD
 1.2  23-Mar-2012  christos branches: 1.2.2; 1.2.4;
apply our changes.
- prototypes
- ip_h323_pxy.c is missing from the distribution
- original tar distribution is missing <$>Id values in most files
 1.1  23-Mar-2012  christos branches: 1.1.1;
Initial revision
 1.1.1.2  22-Jul-2012  darrenr Import IPFilter 5.1.2
 1.1.1.1  23-Mar-2012  christos import kernel portion of ipfilter 5.1.1
 1.2.4.5  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.4  23-Jan-2013  yamt sync with head
 1.2.4.3  30-Oct-2012  yamt sync with head
 1.2.4.2  17-Apr-2012  yamt sync with head
 1.2.4.1  23-Mar-2012  yamt file ip_compat.h was added on branch yamt-pagecache on 2012-04-17 00:08:15 +0000
 1.2.2.2  17-Apr-2012  joerg Re-add new ipf on the jmcneill-usbmp branch.
 1.2.2.1  23-Mar-2012  joerg file ip_compat.h was added on branch jmcneill-usbmp on 2012-04-17 19:25:18 +0000
 1.3.2.4  03-Dec-2017  jdolecek update from HEAD
 1.3.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.2  25-Feb-2013  tls resync with head
 1.3.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.2.1  18-May-2014  rmind sync with head
 1.7.6.2  05-Oct-2016  skrll Sync with HEAD
 1.7.6.1  09-Jul-2016  skrll Sync with HEAD
 1.10.2.1  06-Aug-2016  pgoyette Sync with HEAD
 1.11.14.2  21-May-2018  pgoyette Sync with HEAD
 1.11.14.1  02-May-2018  pgoyette Synch with HEAD

RSS XML Feed