The NetBSD Project

CVS log for src/sys/net/if_gif.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / net

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.31.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:15 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.31.2.2: +5 -10 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:57 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.31.2.1: +2 -3 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)

Merge changes from current as of 20200406

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:06 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.34: +2 -3 lines
Diff to previous 1.34 (colored) next main 1.35 (colored)

Sync with head.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Feb 1 02:57:45 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, thorpej-altq-separation-base, thorpej-altq-separation, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-sunxi-drm-base, bouyer-sunxi-drm, ad-namecache-base3, HEAD
Changes since 1.34: +2 -3 lines
Diff to previous 1.34 (colored)

Switch if_gif to atomic_load/store_*.

Revision 1.34 / (download) - annotate - [select for diffs], Wed Oct 30 03:45:59 2019 UTC (4 years, 5 months ago) by knakahara
Branch: MAIN
CVS Tags: phil-wifi-20191119, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.33: +3 -1 lines
Diff to previous 1.33 (colored)

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.

Revision 1.25.8.5 / (download) - annotate - [select for diffs], Tue Sep 24 18:27:09 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.25.8.4: +4 -11 lines
Diff to previous 1.25.8.4 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)

Pull up following revision(s) (requested by knakahara in ticket #1385):

	sys/net/if.c				1.461
	sys/net/if.h				1.277
	sys/net/if_gif.c			1.149
	sys/net/if_gif.h			1.33
	sys/net/if_ipsec.c			1.19,1.20,1.24
	sys/net/if_ipsec.h			1.5
	sys/net/if_l2tp.c			1.33,1.36-1.39
	sys/net/if_l2tp.h			1.7,1.8
	sys/net/route.c				1.220,1.221
	sys/net/route.h				1.125
	sys/netinet/in_gif.c			1.95
	sys/netinet/in_l2tp.c			1.17
	sys/netinet/ip_input.c			1.391,1.392
	sys/netinet/wqinput.c			1.6
	sys/netinet6/in6_gif.c			1.94
	sys/netinet6/in6_l2tp.c			1.18
	sys/netinet6/ip6_forward.c		1.97
	sys/netinet6/ip6_input.c		1.210,1.211
	sys/netipsec/ipsec_output.c		1.82,1.83 (patched)
	sys/netipsec/ipsecif.c			1.12,1.13,1.15,1.17 (patched)
	sys/netipsec/key.c			1.259,1.260

ipsecif(4) support input drop packet counter.

ipsecif(4) should not increment drop counter by errors not related to if_snd. Pointed out by ozaki-r@n.o, thanks.
Remove unnecessary addresses in PF_KEY message.

MOBIKE Extensions for PF_KEY draft-schilcher-mobike-pfkey-extension-01.txt says
====================
5.  SPD Update
// snip
   SADB_X_SPDADD:
// snip
      sadb_x_ipsecrequest_reqid:
         An ID for that SA can be passed to the kernel in the
         sadb_x_ipsecrequest_reqid field.
      If tunnel mode is specified, the sadb_x_ipsecrequest structure is
      followed by two sockaddr structures that define the tunnel
      endpoint addresses.  In the case that transport mode is used, no
      additional addresses are specified.
====================
see: <a  rel="nofollow" href="https://tools.ietf.org/html/draft-schilcher-mobike-pfkey-extension-01">https://tools.ietf.org/html/draft-schilcher-mobike-pfkey-extension-01</a>

ipsecif(4) uses transport mode, so it should not add addresses.

ipsecif(4) supports multiple peers in the same NAPT.

E.g. ipsec0 connects between NetBSD_A and NetBSD_B, ipsec1 connects
NetBSD_A and NetBSD_C at the following figure.
                                        +----------+
                                   +----| NetBSD_B |
 +----------+           +------+   |    +----------+
 | NetBSD_A |--- ... ---| NAPT |---+
 +----------+           +------+   |    +----------+
                                   +----| NetBSD_C |
                                        +----------+

Add ATF later.

l2tp(4): fix output bytes counter. Pointed by k-goda@IIJ, thanks.
remove a variable which is no longer used.

l2tp: initialize mowner variables for MBUFTRACE

Avoid having a rtcache directly in a percpu storage
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by knakahara@ and yamaguchi@


wqinput: avoid having struct wqinput_worklist directly in a percpu storage
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.

A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Input handlers of wqinput normally involves sleepable operations so we must
avoid dereferencing a percpu data (struct wqinput_worklist) after executing
an input handler.  Address this situation by having just a pointer to the data
in a percpu storage instead.

Reviewed by knakahara@ and yamaguchi@

Add missing #include <sys/kmem.h>

Divide Tx context of l2tp(4) to improve performance.
It seems l2tp(4) call path is too long for instruction cache. So, dividing
l2tp(4) Tx context improves CPU use efficiency.

After this commit, l2tp(4) throughput gains 10% on my machine(Atom C3000).

Apply some missing changes lost on the previous commit

Avoid having a rtcache directly in a percpu storage for tunnel protocols.
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@

l2tp(4): avoid having struct ifqueue directly in a percpu storage.

percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.

A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Tx processing of l2tp(4) uses normally involves sleepable operations so we
must avoid dereferencing a percpu data (struct ifqueue) after executing Tx
processing.  Address this situation by having just a pointer to the data in
a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@

Revision 1.32.4.1 / (download) - annotate - [select for diffs], Tue Sep 24 03:10:35 2019 UTC (4 years, 6 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.32: +4 -11 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #238):

	sys/netipsec/ipsec_output.c: revision 1.83
	sys/net/route.h: revision 1.125
	sys/netinet6/ip6_input.c: revision 1.210
	sys/netinet6/ip6_input.c: revision 1.211
	sys/net/if.c: revision 1.461
	sys/net/if_gif.h: revision 1.33
	sys/net/route.c: revision 1.220
	sys/net/route.c: revision 1.221
	sys/net/if.h: revision 1.277
	sys/netinet6/ip6_forward.c: revision 1.97
	sys/netinet/wqinput.c: revision 1.6
	sys/net/if_ipsec.h: revision 1.5
	sys/netinet6/in6_l2tp.c: revision 1.18
	sys/netinet6/in6_gif.c: revision 1.94
	sys/net/if_l2tp.h: revision 1.7
	sys/net/if_gif.c: revision 1.149
	sys/net/if_l2tp.h: revision 1.8
	sys/netinet/in_gif.c: revision 1.95
	sys/netinet/in_l2tp.c: revision 1.17
	sys/netipsec/ipsecif.c: revision 1.17
	sys/net/if_ipsec.c: revision 1.24
	sys/net/if_l2tp.c: revision 1.37
	sys/netinet/ip_input.c: revision 1.391
	sys/net/if_l2tp.c: revision 1.38
	sys/netinet/ip_input.c: revision 1.392
	sys/net/if_l2tp.c: revision 1.39

Avoid having a rtcache directly in a percpu storage

percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.

A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.
Reviewed by knakahara@ and yamaguchi@

 -

wqinput: avoid having struct wqinput_worklist directly in a percpu storage

percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.

A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Input handlers of wqinput normally involves sleepable operations so we must
avoid dereferencing a percpu data (struct wqinput_worklist) after executing
an input handler.  Address this situation by having just a pointer to the data
in a percpu storage instead.
Reviewed by knakahara@ and yamaguchi@

 -

Add missing #include <sys/kmem.h>

 -

Divide Tx context of l2tp(4) to improve performance.

It seems l2tp(4) call path is too long for instruction cache. So, dividing
l2tp(4) Tx context improves CPU use efficiency.

After this commit, l2tp(4) throughput gains 10% on my machine(Atom C3000).

 -

Apply some missing changes lost on the previous commit

 -

Avoid having a rtcache directly in a percpu storage for tunnel protocols.
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.

A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@

 -

l2tp(4): avoid having struct ifqueue directly in a percpu storage.
percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.

A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Tx processing of l2tp(4) uses normally involves sleepable operations so we
must avoid dereferencing a percpu data (struct ifqueue) after executing Tx
processing.  Address this situation by having just a pointer to the data in
a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@

Revision 1.33 / (download) - annotate - [select for diffs], Thu Sep 19 06:07:24 2019 UTC (4 years, 6 months ago) by knakahara
Branch: MAIN
Changes since 1.32: +4 -11 lines
Diff to previous 1.32 (colored)

Avoid having a rtcache directly in a percpu storage for tunnel protocols.

percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users.  If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing.  Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by ozaki-r@ and yamaguchi@

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:45 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.31: +3 -1 lines
Diff to previous 1.31 (colored)

Sync with HEAD

Revision 1.25.8.4 / (download) - annotate - [select for diffs], Sun Oct 21 11:55:54 2018 UTC (5 years, 5 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.25.8.3: +3 -1 lines
Diff to previous 1.25.8.3 (colored) to branchpoint 1.25 (colored)

Pull up following revision(s) (requested by knakahara in ticket #1066):

	sys/net/if_vlan.c: revision 1.133
	sys/net/if_gif.h: revision 1.32
	sys/net/if_ipsec.c: revision 1.18
	sys/net/if_ipsec.h: revision 1.4
	sys/net/if_gif.c: revision 1.144
	sys/net/if_l2tp.h: revision 1.6
	sys/net/if_l2tp.c: revision 1.30

Fix panic when doing ioctl to multiple pseudo interfaces. Pointed out by k-goda@IIJ.

XXX pullup-8

Revision 1.29.2.3 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:45 2018 UTC (5 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.29.2.2: +3 -1 lines
Diff to previous 1.29.2.2 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Sync with head

Revision 1.32 / (download) - annotate - [select for diffs], Fri Oct 19 00:12:56 2018 UTC (5 years, 5 months ago) by knakahara
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, netbsd-9-base, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.31: +3 -1 lines
Diff to previous 1.31 (colored)

Fix panic when doing ioctl to multiple pseudo interfaces. Pointed out by k-goda@IIJ.

XXX pullup-8

Revision 1.25.8.3 / (download) - annotate - [select for diffs], Thu May 17 14:07:03 2018 UTC (5 years, 10 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2
Changes since 1.25.8.2: +2 -2 lines
Diff to previous 1.25.8.2 (colored) to branchpoint 1.25 (colored)

Pull up following revision(s) (requested by knakahara in ticket #829):

	sys/net/if_l2tp.c: revision 1.24
	sys/net/if_ipsec.c: revision 1.13
	sys/net/if_gif.h: revision 1.31
	sys/netipsec/ipsecif.c: revision 1.8
	sys/net/if_gif.c: revision 1.140
	sys/netinet6/in6_l2tp.c: revision 1.15
	sys/net/if_ipsec.h: revision 1.3
	sys/netinet6/in6_gif.c: revision 1.92
	sys/net/if_l2tp.h: revision 1.5
	sys/netinet/in_l2tp.c: revision 1.13
	sys/netinet/in_gif.c: revision 1.93

Fix LOCKDEBUG kernel panic when many(about 200) tunnel interfaces is created.

The tunnel interfaces are gif(4), l2tp(4), and ipsecif(4). They use mutex
itself in percpu area. When percpu_cpu_enlarge() run, the address of the
mutex in percpu area becomes different from the address which lockdebug
saved. That can cause "already initialized" false detection.

Revision 1.29.2.2 / (download) - annotate - [select for diffs], Wed May 2 07:20:22 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.29.2.1: +2 -2 lines
Diff to previous 1.29.2.1 (colored) to branchpoint 1.29 (colored)

Synch with HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Fri Apr 27 09:55:27 2018 UTC (5 years, 11 months ago) by knakahara
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502
Branch point for: phil-wifi
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

Fix LOCKDEBUG kernel panic when many(about 200) tunnel interfaces is created.

The tunnel interfaces are gif(4), l2tp(4), and ipsecif(4). They use mutex
itself in percpu area. When percpu_cpu_enlarge() run, the address of the
mutex in percpu area becomes different from the address which lockdebug
saved. That can cause "already initialized" false detection.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sun Apr 22 07:20:27 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored)

Sync with HEAD

Revision 1.30 / (download) - annotate - [select for diffs], Thu Apr 19 21:20:43 2018 UTC (5 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-compat-0422
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored)

s/static inline/static __inline/g for consistency.

Revision 1.25.8.2 / (download) - annotate - [select for diffs], Tue Jan 2 10:48:51 2018 UTC (6 years, 3 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-0-RC1
Changes since 1.25.8.1: +70 -13 lines
Diff to previous 1.25.8.1 (colored) to branchpoint 1.25 (colored)

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

Revision 1.19.26.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:02 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.19: +89 -19 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

update from HEAD

Revision 1.29 / (download) - annotate - [select for diffs], Mon Nov 27 05:03:11 2017 UTC (6 years, 4 months ago) by knakahara
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.28: +7 -6 lines
Diff to previous 1.28 (colored)

update gif(4) locking notes.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Nov 27 05:02:22 2017 UTC (6 years, 4 months ago) by knakahara
Branch: MAIN
Changes since 1.27: +64 -8 lines
Diff to previous 1.27 (colored)

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.

Revision 1.25.8.1 / (download) - annotate - [select for diffs], Tue Oct 24 08:47:24 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.25: +19 -3 lines
Diff to previous 1.25 (colored)

Pull up following revision(s) (requested by knahakara in ticket #303):
	sys/net/if_gif.c: 1.129-1.130
	sys/net/if_gif.h: 1.26-1.27
	sys/netinet/in_gif.c: 1.88
	sys/netinet6/in6_gif.c: 1.86
add lock for percpu route like l2tp(4).
--
add lock for sclist to exclude ifconfig gifX add/delete and ifconfig gifX tunnel
--
update locking notes.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Sep 21 09:48:15 2017 UTC (6 years, 6 months ago) by knakahara
Branch: MAIN
Changes since 1.26: +13 -2 lines
Diff to previous 1.26 (colored)

update locking notes.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Sep 21 09:42:03 2017 UTC (6 years, 6 months ago) by knakahara
Branch: MAIN
Changes since 1.25: +7 -2 lines
Diff to previous 1.25 (colored)

add lock for percpu route like l2tp(4).

Revision 1.19.44.5 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:58 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.19.44.4: +5 -6 lines
Diff to previous 1.19.44.4 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Sync with HEAD

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:50 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.24: +5 -6 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.25 / (download) - annotate - [select for diffs], Wed Dec 14 11:19:15 2016 UTC (7 years, 4 months ago) by knakahara
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.24: +5 -6 lines
Diff to previous 1.24 (colored)

fix race of gif_softc->gif_ro when we send multiple flows over gif on NET_MPSAFE enabled kernel.

make gif_softc->gif_ro percpu as well as ipforward_rt to resolve this race.
and add future TODO comment for etherip(4).

Revision 1.19.44.4 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:21 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.19.44.3: +2 -8 lines
Diff to previous 1.19.44.3 (colored) to branchpoint 1.19 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Fri Jun 24 04:38:12 2016 UTC (7 years, 9 months ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.23: +1 -2 lines
Diff to previous 1.23 (colored)

eliminate gif(4) Tx softint

- remove gif_si from struct gif_softc
- directly call gifintr() from gif_output()
- rename gifintr() to gif_start()
- remove Tx softint processing from gif_set_tunnel() and gif_delete_tunnel()

Revision 1.23 / (download) - annotate - [select for diffs], Tue May 31 03:52:40 2016 UTC (7 years, 10 months ago) by knakahara
Branch: MAIN
Changes since 1.22: +2 -7 lines
Diff to previous 1.22 (colored)

modify some functions static. no functional change.

Revision 1.19.44.3 / (download) - annotate - [select for diffs], Sun May 29 08:44:38 2016 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.19.44.2: +2 -2 lines
Diff to previous 1.19.44.2 (colored) to branchpoint 1.19 (colored)

Sync with HEAD

Revision 1.22 / (download) - annotate - [select for diffs], Thu Apr 28 00:16:56 2016 UTC (7 years, 11 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Constify rtentry of if_output

We no longer need to change rtentry below if_output.

The change makes it clear where rtentries are changed (or not)
and helps forthcoming locking (os psrefing) rtentries.

Revision 1.19.44.2 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:32 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.19.44.1: +1 -13 lines
Diff to previous 1.19.44.1 (colored) to branchpoint 1.19 (colored)

Sync with HEAD

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jan 4 07:50:08 2016 UTC (8 years, 3 months ago) by knakahara
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422, nick-nhusb-base-20160319
Changes since 1.20: +1 -13 lines
Diff to previous 1.20 (colored)

Revert extra wating codes.

PR kern/50522 is actually fixed by sys/kern/kern_softint.c:r1.42, so waiting
codes in if_gif.c is not required.

Revision 1.19.44.1 / (download) - annotate - [select for diffs], Sun Dec 27 12:10:06 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.19: +17 -1 lines
Diff to previous 1.19 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.20 / (download) - annotate - [select for diffs], Fri Dec 11 07:59:14 2015 UTC (8 years, 4 months ago) by knakahara
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226
Changes since 1.19: +17 -1 lines
Diff to previous 1.19 (colored)

PR kern/50522: gif(4) ioctl causes panic while someone is using the gif(4) interface.

It is required to wait other CPU's softint completion before disestablishing
the softint handler.

Revision 1.18.32.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:14 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

sync with head.

Revision 1.18.42.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:11 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Sync with HEAD.

Revision 1.18.28.1 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:31 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Sync with HEAD.

Revision 1.18.38.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:25 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Nov 12 12:36:28 2008 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, mjf-devfs2-base, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, khorben-n900, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, haad-nbase2, haad-dm-base2, haad-dm-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver, ad-audiomp2-base, ad-audiomp2
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.

Revision 1.11.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:42:06 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.11.2.3: +2 -10 lines
Diff to previous 1.11.2.3 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

sync with head.

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Sun Jul 15 13:27:53 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.16.2.1: +1 -3 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Sync with head.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Jul 14 21:02:40 2007 UTC (16 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs-base, mjf-devfs, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup-nbase, hpcarm-cleanup-base, hpcarm-cleanup, haad-dm-base1, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1
Branch point for: yamt-nfs-mp, nick-hppapmap, mjf-devfs2, haad-dm
Changes since 1.17: +1 -3 lines
Diff to previous 1.17 (colored)

Generic soft interrupts are mandatory.

Revision 1.16.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:10:56 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.16: +1 -7 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Sync with head.

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:35 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.16: +1 -7 lines
Diff to previous 1.16 (colored)

Sync with head.

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Mon May 7 10:55:53 2007 UTC (16 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.14.2.2: +1 -7 lines
Diff to previous 1.14.2.2 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

sync with head.

Revision 1.17 / (download) - annotate - [select for diffs], Wed May 2 20:40:23 2007 UTC (16 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, mjf-ufs-trans-base
Changes since 1.16: +1 -7 lines
Diff to previous 1.16 (colored)

Eliminate address family-specific route caches (struct route, struct
route_in6, struct route_iso), replacing all caches with a struct
route.

The principle benefit of this change is that all of the protocol
families can benefit from route cache-invalidation, which is
necessary for correct routing.  Route-cache invalidation fixes an
ancient PR, kern/3508, at long last; it fixes various other PRs,
also.

Discussions with and ideas from Joerg Sonnenberger influenced this
work tremendously.  Of course, all design oversights and bugs are
mine.

DETAILS

1 I added to each address family a pool of sockaddrs.  I have
  introduced routines for allocating, copying, and duplicating,
  and freeing sockaddrs:

        struct sockaddr *sockaddr_alloc(sa_family_t af, int flags);
        struct sockaddr *sockaddr_copy(struct sockaddr *dst,
                                       const struct sockaddr *src);
        struct sockaddr *sockaddr_dup(const struct sockaddr *src, int flags);
        void sockaddr_free(struct sockaddr *sa);

  sockaddr_alloc() returns either a sockaddr from the pool belonging
  to the specified family, or NULL if the pool is exhausted.  The
  returned sockaddr has the right size for that family; sa_family
  and sa_len fields are initialized to the family and sockaddr
  length---e.g., sa_family = AF_INET and sa_len = sizeof(struct
  sockaddr_in).  sockaddr_free() puts the given sockaddr back into
  its family's pool.

  sockaddr_dup() and sockaddr_copy() work analogously to strdup()
  and strcpy(), respectively.  sockaddr_copy() KASSERTs that the
  family of the destination and source sockaddrs are alike.

  The 'flags' argumet for sockaddr_alloc() and sockaddr_dup() is
  passed directly to pool_get(9).

2 I added routines for initializing sockaddrs in each address
  family, sockaddr_in_init(), sockaddr_in6_init(), sockaddr_iso_init(),
  etc.  They are fairly self-explanatory.

3 structs route_in6 and route_iso are no more.  All protocol families
  use struct route.  I have changed the route cache, 'struct route',
  so that it does not contain storage space for a sockaddr.  Instead,
  struct route points to a sockaddr coming from the pool the sockaddr
  belongs to.  I added a new method to struct route, rtcache_setdst(),
  for setting the cache destination:

        int rtcache_setdst(struct route *, const struct sockaddr *);

  rtcache_setdst() returns 0 on success, or ENOMEM if no memory is
  available to create the sockaddr storage.

  It is now possible for rtcache_getdst() to return NULL if, say,
  rtcache_setdst() failed.  I check the return value for NULL
  everywhere in the kernel.

4 Each routing domain (struct domain) has a list of live route
  caches, dom_rtcache.  rtflushall(sa_family_t af) looks up the
  domain indicated by 'af', walks the domain's list of route caches
  and invalidates each one.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:59:11 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.14.2.1: +2 -2 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored)

Sync with HEAD.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:16 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:42 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.11.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:11:34 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.11.2.2: +2 -2 lines
Diff to previous 1.11.2.2 (colored) to branchpoint 1.11 (colored)

sync with head.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Feb 17 22:34:08 2007 UTC (17 years, 1 month ago) by dyoung
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

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.

Revision 1.13.20.1 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:11 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.13: +1 -2 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Sync with head.

Revision 1.11.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:20 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.11.2.1: +1 -2 lines
Diff to previous 1.11.2.1 (colored) to branchpoint 1.11 (colored)

sync with head.

Revision 1.13.22.1 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:00 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.13: +1 -2 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

sync with head.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Dec 9 05:33:06 2006 UTC (17 years, 4 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.13: +1 -2 lines
Diff to previous 1.13 (colored)

Here are various changes designed to protect against bad IPv4
routing caused by stale route caches (struct route).  Route caches
are sprinkled throughout PCBs, the IP fast-forwarding table, and
IP tunnel interfaces (gre, gif, stf).

Stale IPv6 and ISO route caches will be treated by separate patches.

Thank you to Christoph Badura for suggesting the general approach
to invalidating route caches that I take here.

Here are the details:

Add hooks to struct domain for tracking and for invalidating each
domain's route caches: dom_rtcache, dom_rtflush, and dom_rtflushall.

Introduce helper subroutines, rtflush(ro) for invalidating a route
cache, rtflushall(family) for invalidating all route caches in a
routing domain, and rtcache(ro) for notifying the domain of a new
cached route.

Chain together all IPv4 route caches where ro_rt != NULL.  Provide
in_rtcache() for adding a route to the chain.  Provide in_rtflush()
and in_rtflushall() for invalidating IPv4 route caches.  In
in_rtflush(), set ro_rt to NULL, and remove the route from the
chain.  In in_rtflushall(), walk the chain and remove every route
cache.

In rtrequest1(), call rtflushall() to invalidate route caches when
a route is added.

In gif(4), discard the workaround for stale caches that involves
expiring them every so often.

Replace the pattern 'RTFREE(ro->ro_rt); ro->ro_rt = NULL;' with a
call to rtflush(ro).

Update ipflow_fastforward() and all other users of route caches so
that they expect a cached route, ro->ro_rt, to turn to NULL.

Take care when moving a 'struct route' to rtflush() the source and
to rtcache() the destination.

In domain initializers, use .dom_xxx tags.

KNF here and there.

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:10:27 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.11: +10 -10 lines
Diff to previous 1.11 (colored)

sync with head.

Revision 1.9.12.1 / (download) - annotate - [select for diffs], Mon Jan 9 13:12:03 2006 UTC (18 years, 3 months ago) by tron
Branch: netbsd-2
Changes since 1.9: +3 -1 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

Pull up following revision(s) (requested by mlelstv in ticket #10214):
	sys/netinet6/in6_gif.c: revision 1.43
	sys/netinet/in_gif.c: revision 1.45
	sys/net/if_gif.h: revision 1.11
expire cached route. Fixes PR 22792.

Revision 1.9.20.1 / (download) - annotate - [select for diffs], Sun Jan 8 15:48:46 2006 UTC (18 years, 3 months ago) by riz
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1
Changes since 1.9: +3 -1 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

Pull up following revision(s) (requested by mlelstv in ticket #1092):
	sys/netinet6/in6_gif.c: revision 1.43
	sys/netinet/in_gif.c: revision 1.45
	sys/net/if_gif.h: revision 1.11
expire cached route. Fixes PR 22792.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Dec 11 23:05:25 2005 UTC (18 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.12: +9 -9 lines
Diff to previous 1.12 (colored)

ANSI function decls and application of static.

Revision 1.9.6.2 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:19 2005 UTC (18 years, 4 months ago) by christos
Branch: ktrace-lwp
Changes since 1.9.6.1: +2 -2 lines
Diff to previous 1.9.6.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)

Sync with head.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Dec 10 23:21:38 2005 UTC (18 years, 4 months ago) by elad
Branch: MAIN
CVS Tags: ktrace-lwp-base
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

Multiple inclusion protection, as suggested by christos@ on tech-kern@
few days ago.

Revision 1.9.6.1 / (download) - annotate - [select for diffs], Thu Nov 10 14:10:32 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.9: +4 -2 lines
Diff to previous 1.9 (colored)

Sync with HEAD. Here we go again...

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jun 26 10:39:21 2005 UTC (18 years, 9 months ago) by mlelstv
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-lazymbuf
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored)

expire cached route. Fixes PR 22792.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Jun 6 06:06:50 2005 UTC (18 years, 10 months ago) by martin
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

Since we decided "const struct mbuf *" would not do the right thing (tm),
remove ~all const from mbuf pointers.

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Wed Dec 11 06:46:32 2002 UTC (21 years, 4 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.6.2.1: +2 -0 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Nov 11 18:35:27 2002 UTC (21 years, 5 months ago) by itojun
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, nathanw_sa_before_merge, nathanw_sa_base, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Branch point for: netbsd-3, netbsd-2, ktrace-lwp
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored)

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>

Revision 1.6.4.2 / (download) - annotate - [select for diffs], Sat Aug 25 06:16:57 2001 UTC (22 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.6.4.1: +4 -1 lines
Diff to previous 1.6.4.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Fri Aug 24 00:12:11 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.6: +9 -8 lines
Diff to previous 1.6 (colored)

Catch up with -current.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Aug 16 17:45:26 2001 UTC (22 years, 8 months ago) by itojun
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf, newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, gehenna-devsw-base, gehenna-devsw, eeh-devprop-base, eeh-devprop
Changes since 1.7: +4 -1 lines
Diff to previous 1.7 (colored)

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.

Revision 1.6.4.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:13:50 2001 UTC (22 years, 8 months ago) by lukem
Branch: kqueue
Changes since 1.6: +6 -8 lines
Diff to previous 1.6 (colored)

update to -current

Revision 1.7 / (download) - annotate - [select for diffs], Sun Jul 29 05:08:32 2001 UTC (22 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.6: +6 -8 lines
Diff to previous 1.6 (colored)

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.

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:10:02 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.3: +21 -10 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jul 2 00:21:42 2000 UTC (23 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Branch point for: nathanw_sa, kqueue
Changes since 1.5: +3 -1 lines
Diff to previous 1.5 (colored)

Convert `gif' to be a cloning interface.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Apr 19 06:30:53 2000 UTC (24 years ago) by itojun
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.4: +17 -10 lines
Diff to previous 1.4 (colored)

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).

Revision 1.3.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:09 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.3: +2 -0 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

Pull up to last week's -current.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Dec 2 07:22:19 1999 UTC (24 years, 4 months ago) by itojun
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.3: +2 -0 lines
Diff to previous 1.3 (colored)

rcsid police

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Tue Nov 30 13:35:04 1999 UTC (24 years, 4 months ago) by itojun
Branch: kame
CVS Tags: kame_141_19991130
Changes since 1.1.2.1: +13 -2 lines
Diff to previous 1.1.2.1 (colored) next main 1.2 (colored)

bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code).  Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Mon Aug 2 22:32:28 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.2.2.2: +4 -0 lines
Diff to previous 1.2.2.2 (colored) next main 1.3 (colored)

Update from trunk.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Jul 9 23:41:16 1999 UTC (24 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi
Changes since 1.2: +4 -0 lines
Diff to previous 1.2 (colored)

defopt INET6, and put it in opt_inet.h (most places already include this
file, which is why the file list is so short).

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:45:19 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.2.2.1: +73 -0 lines
Diff to previous 1.2.2.1 (colored)

Sync w/ -current.

Revision 1.2.2.1, Thu Jul 1 08:12:48 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.2: +0 -73 lines
FILE REMOVED

file if_gif.h was added on branch chs-ubc2 on 1999-07-01 23:45:19 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 1 08:12:48 1999 UTC (24 years, 9 months ago) by itojun
Branch: MAIN
Branch point for: chs-ubc2
Changes since 1.1: +73 -0 lines
Diff to previous 1.1 (colored)

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.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Mon Jun 28 06:36:56 1999 UTC (24 years, 9 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990705, kame_14_19990628
Changes since 1.1: +73 -0 lines
Diff to previous 1.1 (colored)

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.

Revision 1.1, Mon Jun 28 06:36:56 1999 UTC (24 years, 9 months ago) by itojun
Branch: MAIN
Branch point for: kame
FILE REMOVED

file if_gif.h was initially added on branch kame.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>