History log of /src/sys/netinet6/in6_gif.h |
Revision | | Date | Author | Comments |
1.18 |
| 30-Oct-2019 |
knakahara | Add sysctl nodes to control fragmentation with IPv[46] over IPv6 gif(4).
New sysctl node "net.inet6.ip6.gifpmtu" means - 0 (default) Fragment by IPV6_MMTU. All packets reach the destination certainly, however the long packet performance is poor. This is same behavior as before. - 1 Fragment by outer interface's MTU. The long packet performance would be good, however the packets may be dropped in some network paths whose path MTU less than the interface's MTU. - others undefined yet
New sysctl node "net.interfaces.gif*.pmtu" means - -1 (default) Use system default value (net.inet6.ip6.gifpmtu). - 0 Fragment by IPV6_MMTU for this gif(4) tunnel. - 1 Fragment by outer interface's MTU for this gif(4) tunnel. - others undefined yet
See RFC4459 for more information and other solutions.
|
1.17 |
| 27-Nov-2017 |
knakahara | branches: 1.17.4; preserve gif(4) configs by psref(9) like vlan(4) and l2tp(4).
After Tx side does not use softint, gif(4) can use psref(9) for config preservation like vlan(4) and l2tp(4).
update locking notes later.
|
1.16 |
| 15-Nov-2017 |
knakahara | Add argument to encapsw->pr_input() instead of m_tag.
|
1.15 |
| 04-Jul-2016 |
knakahara | branches: 1.15.10; fix: gif(4) receive side race
A panic cause in rn_match() called by encap[46]_lookup(). The reason is that gif(4) does not suspend receive packet processing in spite of suspending transmit packet processing while anyone is doing gif(4) ioctl.
|
1.14 |
| 26-Feb-2016 |
knakahara | To eliminate gif_softc_list linear search, add extra argument to encapsw.pr_ctlinput().
|
1.13 |
| 24-Apr-2008 |
ad | branches: 1.13.46; 1.13.66; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.12 |
| 17-Feb-2007 |
dyoung | branches: 1.12.38; 1.12.40; KNF: de-__P, bzero -> memset, bcmp -> memcmp. Remove extraneous parentheses in return statements.
Cosmetic: don't open-code TAILQ_FOREACH().
Cosmetic: change types of variables to avoid oodles of casts: in in6_src.c, avoid casts by changing several route_in6 pointers to struct route pointers. Remove unnecessary casts to caddr_t elsewhere.
Pave the way for eliminating address family-specific route caches: soon, struct route will not embed a sockaddr, but it will hold a reference to an external sockaddr, instead. We will set the destination sockaddr using rtcache_setdst(). (I created a stub for it, but it isn't used anywhere, yet.) rtcache_free() will free the sockaddr. I have extracted from rtcache_free() a helper subroutine, rtcache_clear(). rtcache_clear() will "forget" a cached route, but it will not forget the destination by releasing the sockaddr. I use rtcache_clear() instead of rtcache_free() in rtcache_update(), because rtcache_update() is not supposed to forget the destination.
Constify:
1 Introduce const accessor for route->ro_dst, rtcache_getdst().
2 Constify the 'dst' argument to ifnet->if_output(). This led me to constify a lot of code called by output routines.
3 Constify the sockaddr argument to protosw->pr_ctlinput. This led me to constify a lot of code called by ctlinput routines.
4 Introduce const macros for converting from a generic sockaddr to family-specific sockaddrs, e.g., sockaddr_in: satocsin6, satocsin, et cetera.
|
1.11 |
| 10-Dec-2005 |
elad | branches: 1.11.26; Multiple inclusion protection, as suggested by christos@ on tech-kern@ few days ago.
|
1.10 |
| 02-Jun-2005 |
tron | branches: 1.10.2; Change the first argument of the encapsulation check function from "const struct mbuf *" to "struct mbuf *". Without this change the actual implementation cannot even use m_copydata() on the mbuf chain which is broken.
|
1.9 |
| 11-Nov-2002 |
itojun | branches: 1.9.6; make USE_ENCAPCHECK (in netinet*/*gif.c) to global option, GIF_ENCAPCHECK. #ifdef out unneeded code when possible. From: Krister Walfridsson <cato@df.lth.se>
|
1.8 |
| 21-Dec-2001 |
itojun | use radix table for inbound tunnel lookup (would increase performance for machines with a lot of tunnels). update route cache for IPvX-over-IPv6 tunnel on path MTU discovery. snyc with kame
|
1.7 |
| 21-Dec-2001 |
itojun | move in6_gif_hlim decl to in6_gif.c. sync with kame
|
1.6 |
| 16-Aug-2001 |
itojun | gif interface now uses generic software interrupt (on archs that support it). also, make gif ALTQ-capable on outgoing. sync with kame, comments from thorpej.
|
1.5 |
| 29-Jul-2001 |
itojun | sync gif interface code with latest kame. IFF_RUNNING is clearified. attach/detach logic is more clearner. the old code mistakenly set IFF_UP by itself, now the behavior is gone.
|
1.4 |
| 19-Apr-2000 |
itojun | branches: 1.4.6; 1.4.8; introduce sys/netinet/ip_encap.c, to dispatch inbound packets to protocol handlers, based on src/dst (for ip proto #4/41). see comment in ip_encap.c for details of the problem we have. there are too many protocol specs for ip proto #4/41. backward compatibility with MROUTING case is now provided in ip_encap.c.
fix ipip to work with gif (using ip_encap.c). sorry for breakage.
gif now uses ip_encap.c.
introduce stf pseudo interface (implements 6to4, another IPv6-over-IPv4 code with ip proto #41).
|
1.3 |
| 03-Jul-1999 |
thorpej | branches: 1.3.2; RCS ID police.
|
1.2 |
| 01-Jul-1999 |
itojun | branches: 1.2.2; IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628. (Sorry for a big commit, I can't separate this into several pieces...) Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.
- sys/kern: do not assume single mbuf, accept chained mbuf on passing data from userland to kernel (or other way round). - "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ package (ftp://ftp.csl.sony.co.jp/pub/kjc/). - sys/netinet/tcp*: IPv4/v6 dual stack tcp support. - sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those file to be there so we patch it up. - sys/netinet: IPsec additions are here and there. - sys/netinet6/*: most of IPv6 code sits here. - sys/netkey: IPsec key management code - dev/pci/pcidevs: regen
In my understanding no code here is subject to export control so it should be safe.
|
1.1 |
| 28-Jun-1999 |
itojun | branches: 1.1.2; file in6_gif.h was initially added on branch kame.
|
1.1.2.1 |
| 28-Jun-1999 |
itojun | KAME/NetBSD 1.4 SNAP kit, dated 19990628.
NOTE: this branch (kame) is used just for refernce. this may not compile due to multiple reasons.
|
1.2.2.3 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.2.2.2 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.2.2.1 |
| 01-Jul-1999 |
thorpej | file in6_gif.h was added on branch chs-ubc2 on 1999-07-01 23:48:27 +0000
|
1.3.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.4.8.3 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.4.8.2 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.4.8.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.4.6.3 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.4.6.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.4.6.1 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.9.6.2 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.9.6.1 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.10.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.10.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.11.26.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.12.40.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.38.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.13.66.2 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.13.66.1 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.13.46.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.15.10.2 |
| 02-Jan-2018 |
snj | Pull up following revision(s) (requested by knakahara in ticket #462): sys/net/if_gif.c: revision 1.133, 1.134, 1.137 sys/net/if_gif.h: revision 1.28-1.29 sys/netinet/in_gif.c: revision 1.90-1.91 sys/netinet/in_gif.h: revision 1.18 sys/netinet6/in6_gif.c: revision 1.88-1.89 sys/netinet6/in6_gif.h: revision 1.17 preserve gif(4) configs by psref(9) like vlan(4) and l2tp(4). After Tx side does not use softint, gif(4) can use psref(9) for config preservation like vlan(4) and l2tp(4). update locking notes later. -- update gif(4) locking notes. -- IFF_RUNNING checking in Rx and Tx processing is unnecessary now. Because the configs of gif (members of gif_var) are protected by psref(9). -- remove duplicated null ckeck
|
1.15.10.1 |
| 10-Dec-2017 |
snj | Pull up following revision(s) (requested by knakahara in ticket #419): sys/net/if_stf.c: revision 1.103 sys/net/if_stf.h: revision 1.8 sys/netinet/in_gif.c: revision 1.89 sys/netinet/in_gif.h: revision 1.17 sys/netinet/in_l2tp.c: revision 1.4 sys/netinet/ip_encap.c: revision 1.66 sys/netinet/ip_encap.h: revision 1.23 sys/netinet/ip_mroute.c: revision 1.148 sys/netinet6/in6_gif.c: revision 1.87 sys/netinet6/in6_gif.h: revision 1.16 sys/netinet6/in6_l2tp.c: revision 1.7 sys/netipsec/xform.h: revision 1.13 sys/netipsec/xform_ipip.c: revision 1.55 Add argument to encapsw->pr_input() instead of m_tag.
|
1.17.4.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|