CVS log for src/sys/net/if_gif.h
Up to [cvs.NetBSD.org] / src / sys / net
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.31.2.3: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:05:15 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.31.2.2: preferred, colored; branchpoint 1.31: preferred, colored; next MAIN 1.32: preferred, colored
Changes since revision 1.31.2.2: +5 -10
lines
Mostly merge changes from HEAD upto 20200411
Revision 1.31.2.2: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:08:57 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.31.2.1: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.1: +2 -3
lines
Merge changes from current as of 20200406
Revision 1.34.2.1: download - view: text, markup, annotated - select for diffs
Sat Feb 29 20:21:06 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.34: preferred, colored; next MAIN 1.35: preferred, colored
Changes since revision 1.34: +2 -3
lines
Sync with head.
Revision 1.35: download - view: text, markup, annotated - select for diffs
Sat Feb 1 02:57:45 2020 UTC (4 years, 10 months ago) by riastradh
Branches: 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,
perseant-exfatfs-base-20240630,
perseant-exfatfs-base,
perseant-exfatfs,
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
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +2 -3
lines
Switch if_gif to atomic_load/store_*.
Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed Oct 30 03:45:59 2019 UTC (5 years, 1 month ago) by knakahara
Branches: MAIN
CVS tags: phil-wifi-20191119,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base
Branch point for: ad-namecache
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +3 -1
lines
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 - view: text, markup, annotated - select for diffs
Tue Sep 24 18:27:09 2019 UTC (5 years, 2 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE,
netbsd-8-2-RELEASE
Diff to: previous 1.25.8.4: preferred, colored; branchpoint 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25.8.4: +4 -11
lines
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 - view: text, markup, annotated - select for diffs
Tue Sep 24 03:10:35 2019 UTC (5 years, 2 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-4-RELEASE,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1
Diff to: previous 1.32: preferred, colored; next MAIN 1.33: preferred, colored
Changes since revision 1.32: +4 -11
lines
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 - view: text, markup, annotated - select for diffs
Thu Sep 19 06:07:24 2019 UTC (5 years, 2 months ago) by knakahara
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +4 -11
lines
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 - view: text, markup, annotated - select for diffs
Mon Jun 10 22:09:45 2019 UTC (5 years, 5 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +3 -1
lines
Sync with HEAD
Revision 1.25.8.4: download - view: text, markup, annotated - select for diffs
Sun Oct 21 11:55:54 2018 UTC (6 years, 1 month ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-1-RELEASE,
netbsd-8-1-RC1
Diff to: previous 1.25.8.3: preferred, colored; branchpoint 1.25: preferred, colored
Changes since revision 1.25.8.3: +3 -1
lines
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 - view: text, markup, annotated - select for diffs
Sat Oct 20 06:58:45 2018 UTC (6 years, 1 month ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.29.2.2: preferred, colored; branchpoint 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.2.2: +3 -1
lines
Sync with head
Revision 1.32: download - view: text, markup, annotated - select for diffs
Fri Oct 19 00:12:56 2018 UTC (6 years, 1 month ago) by knakahara
Branches: 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
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +3 -1
lines
Fix panic when doing ioctl to multiple pseudo interfaces. Pointed out by k-goda@IIJ.
XXX pullup-8
Revision 1.25.8.3: download - view: text, markup, annotated - select for diffs
Thu May 17 14:07:03 2018 UTC (6 years, 6 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-0-RELEASE,
netbsd-8-0-RC2
Diff to: previous 1.25.8.2: preferred, colored; branchpoint 1.25: preferred, colored
Changes since revision 1.25.8.2: +2 -2
lines
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 - view: text, markup, annotated - select for diffs
Wed May 2 07:20:22 2018 UTC (6 years, 7 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.29.2.1: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.2.1: +2 -2
lines
Synch with HEAD
Revision 1.31: download - view: text, markup, annotated - select for diffs
Fri Apr 27 09:55:27 2018 UTC (6 years, 7 months ago) by knakahara
Branches: 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
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -2
lines
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 - view: text, markup, annotated - select for diffs
Sun Apr 22 07:20:27 2018 UTC (6 years, 7 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +4 -4
lines
Sync with HEAD
Revision 1.30: download - view: text, markup, annotated - select for diffs
Thu Apr 19 21:20:43 2018 UTC (6 years, 7 months ago) by christos
Branches: MAIN
CVS tags: pgoyette-compat-0422
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +4 -4
lines
s/static inline/static __inline/g for consistency.
Revision 1.25.8.2: download - view: text, markup, annotated - select for diffs
Tue Jan 2 10:48:51 2018 UTC (6 years, 11 months ago) by snj
Branches: netbsd-8
CVS tags: netbsd-8-0-RC1
Diff to: previous 1.25.8.1: preferred, colored; branchpoint 1.25: preferred, colored
Changes since revision 1.25.8.1: +70 -13
lines
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 - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:02 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19: +89 -19
lines
update from HEAD
Revision 1.29: download - view: text, markup, annotated - select for diffs
Mon Nov 27 05:03:11 2017 UTC (7 years ago) by knakahara
Branches: 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
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +7 -6
lines
update gif(4) locking notes.
Revision 1.28: download - view: text, markup, annotated - select for diffs
Mon Nov 27 05:02:22 2017 UTC (7 years ago) by knakahara
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +64 -8
lines
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 - view: text, markup, annotated - select for diffs
Tue Oct 24 08:47:24 2017 UTC (7 years, 1 month ago) by snj
Branches: netbsd-8
CVS tags: matt-nb8-mediatek-base,
matt-nb8-mediatek
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +19 -3
lines
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 - view: text, markup, annotated - select for diffs
Thu Sep 21 09:48:15 2017 UTC (7 years, 2 months ago) by knakahara
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +13 -2
lines
update locking notes.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Thu Sep 21 09:42:03 2017 UTC (7 years, 2 months ago) by knakahara
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +7 -2
lines
add lock for percpu route like l2tp(4).
Revision 1.19.44.5: download - view: text, markup, annotated - select for diffs
Sun Feb 5 13:40:58 2017 UTC (7 years, 9 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.19.44.4: preferred, colored; branchpoint 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19.44.4: +5 -6
lines
Sync with HEAD
Revision 1.24.2.1: download - view: text, markup, annotated - select for diffs
Sat Jan 7 08:56:50 2017 UTC (7 years, 10 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24: +5 -6
lines
Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Dec 14 11:19:15 2016 UTC (7 years, 11 months ago) by knakahara
Branches: 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
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +5 -6
lines
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 - view: text, markup, annotated - select for diffs
Sat Jul 9 20:25:21 2016 UTC (8 years, 4 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.19.44.3: preferred, colored; branchpoint 1.19: preferred, colored
Changes since revision 1.19.44.3: +2 -8
lines
Sync with HEAD
Revision 1.24: download - view: text, markup, annotated - select for diffs
Fri Jun 24 04:38:12 2016 UTC (8 years, 5 months ago) by knakahara
Branches: 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
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +1 -2
lines
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 - view: text, markup, annotated - select for diffs
Tue May 31 03:52:40 2016 UTC (8 years, 6 months ago) by knakahara
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -7
lines
modify some functions static. no functional change.
Revision 1.19.44.3: download - view: text, markup, annotated - select for diffs
Sun May 29 08:44:38 2016 UTC (8 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.19.44.2: preferred, colored; branchpoint 1.19: preferred, colored
Changes since revision 1.19.44.2: +2 -2
lines
Sync with HEAD
Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Apr 28 00:16:56 2016 UTC (8 years, 7 months ago) by ozaki-r
Branches: MAIN
CVS tags: nick-nhusb-base-20160529
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2
lines
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 - view: text, markup, annotated - select for diffs
Sat Mar 19 11:30:32 2016 UTC (8 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.19.44.1: preferred, colored; branchpoint 1.19: preferred, colored
Changes since revision 1.19.44.1: +1 -13
lines
Sync with HEAD
Revision 1.21: download - view: text, markup, annotated - select for diffs
Mon Jan 4 07:50:08 2016 UTC (8 years, 11 months ago) by knakahara
Branches: MAIN
CVS tags: nick-nhusb-base-20160422,
nick-nhusb-base-20160319
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -13
lines
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 - view: text, markup, annotated - select for diffs
Sun Dec 27 12:10:06 2015 UTC (8 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +17 -1
lines
Sync with HEAD (as of 26th Dec)
Revision 1.20: download - view: text, markup, annotated - select for diffs
Fri Dec 11 07:59:14 2015 UTC (8 years, 11 months ago) by knakahara
Branches: MAIN
CVS tags: nick-nhusb-base-20151226
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +17 -1
lines
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 - view: text, markup, annotated - select for diffs
Mon May 4 08:14:14 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18: +2 -2
lines
sync with head.
Revision 1.18.42.1: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:20:11 2009 UTC (15 years, 10 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18: +2 -2
lines
Sync with HEAD.
Revision 1.18.28.1: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:29:31 2009 UTC (15 years, 10 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18: +2 -2
lines
Sync with HEAD.
Revision 1.18.38.1: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:15:25 2008 UTC (15 years, 11 months ago) by haad
Branches: haad-dm
Diff to: previous 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18: +2 -2
lines
Update haad-dm branch to haad-dm-base2.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Wed Nov 12 12:36:28 2008 UTC (16 years ago) by ad
Branches: 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
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -2
lines
Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
Revision 1.11.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:42:06 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.11.2.3: preferred, colored; branchpoint 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11.2.3: +2 -10
lines
sync with head.
Revision 1.16.2.2: download - view: text, markup, annotated - select for diffs
Sun Jul 15 13:27:53 2007 UTC (17 years, 4 months ago) by ad
Branches: vmlocking
Diff to: previous 1.16.2.1: preferred, colored; branchpoint 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16.2.1: +1 -3
lines
Sync with head.
Revision 1.18: download - view: text, markup, annotated - select for diffs
Sat Jul 14 21:02:40 2007 UTC (17 years, 4 months ago) by ad
Branches: 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
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -3
lines
Generic soft interrupts are mandatory.
Revision 1.16.4.1: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:10:56 2007 UTC (17 years, 4 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16: +1 -7
lines
Sync with head.
Revision 1.16.2.1: download - view: text, markup, annotated - select for diffs
Fri Jun 8 14:17:35 2007 UTC (17 years, 6 months ago) by ad
Branches: vmlocking
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -7
lines
Sync with head.
Revision 1.14.2.3: download - view: text, markup, annotated - select for diffs
Mon May 7 10:55:53 2007 UTC (17 years, 7 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.14.2.2: preferred, colored; branchpoint 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14.2.2: +1 -7
lines
sync with head.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Wed May 2 20:40:23 2007 UTC (17 years, 7 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-idlelwp-base8,
mjf-ufs-trans-base
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -7
lines
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 - view: text, markup, annotated - select for diffs
Mon Mar 12 05:59:11 2007 UTC (17 years, 8 months ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.14.2.1: preferred, colored; branchpoint 1.14: preferred, colored
Changes since revision 1.14.2.1: +2 -2
lines
Sync with HEAD.
Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Mar 4 06:03:16 2007 UTC (17 years, 9 months ago) by christos
Branches: MAIN
CVS tags: thorpej-atomic-base,
thorpej-atomic,
reinoud-bufcleanup
Branch point for: vmlocking,
mjf-ufs-trans
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -2
lines
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
Revision 1.14.2.1: download - view: text, markup, annotated - select for diffs
Tue Feb 27 16:54:42 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +2 -2
lines
- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.11.2.3: download - view: text, markup, annotated - select for diffs
Mon Feb 26 09:11:34 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.11.2.2: preferred, colored; branchpoint 1.11: preferred, colored
Changes since revision 1.11.2.2: +2 -2
lines
sync with head.
Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Feb 17 22:34:08 2007 UTC (17 years, 9 months ago) by dyoung
Branches: MAIN
CVS tags: ad-audiomp-base,
ad-audiomp
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +2 -2
lines
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 - view: text, markup, annotated - select for diffs
Fri Jan 12 01:04:11 2007 UTC (17 years, 10 months ago) by ad
Branches: newlock2
Diff to: previous 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13: +1 -2
lines
Sync with head.
Revision 1.11.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:50:20 2006 UTC (17 years, 11 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.11.2.1: preferred, colored; branchpoint 1.11: preferred, colored
Changes since revision 1.11.2.1: +1 -2
lines
sync with head.
Revision 1.13.22.1: download - view: text, markup, annotated - select for diffs
Sun Dec 10 07:19:00 2006 UTC (17 years, 11 months ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13: +1 -2
lines
sync with head.
Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Dec 9 05:33:06 2006 UTC (18 years ago) by dyoung
Branches: MAIN
CVS tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
post-newlock2-merge,
newlock2-nbase,
newlock2-base
Branch point for: yamt-idlelwp
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +1 -2
lines
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 - view: text, markup, annotated - select for diffs
Wed Jun 21 15:10:27 2006 UTC (18 years, 5 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +10 -10
lines
sync with head.
Revision 1.9.12.1: download - view: text, markup, annotated - select for diffs
Mon Jan 9 13:12:03 2006 UTC (18 years, 10 months ago) by tron
Branches: netbsd-2
Diff to: previous 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9: +3 -1
lines
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 - view: text, markup, annotated - select for diffs
Sun Jan 8 15:48:46 2006 UTC (18 years, 11 months ago) by riz
Branches: 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
Diff to: previous 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9: +3 -1
lines
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 - view: text, markup, annotated - select for diffs
Sun Dec 11 23:05:25 2005 UTC (18 years, 11 months ago) by thorpej
Branches: 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
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +9 -9
lines
ANSI function decls and application of static.
Revision 1.9.6.2: download - view: text, markup, annotated - select for diffs
Sun Dec 11 10:29:19 2005 UTC (18 years, 11 months ago) by christos
Branches: ktrace-lwp
Diff to: previous 1.9.6.1: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.6.1: +2 -2
lines
Sync with head.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Dec 10 23:21:38 2005 UTC (18 years, 11 months ago) by elad
Branches: MAIN
CVS tags: ktrace-lwp-base
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -2
lines
Multiple inclusion protection, as suggested by christos@ on tech-kern@
few days ago.
Revision 1.9.6.1: download - view: text, markup, annotated - select for diffs
Thu Nov 10 14:10:32 2005 UTC (19 years ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +4 -2
lines
Sync with HEAD. Here we go again...
Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Jun 26 10:39:21 2005 UTC (19 years, 5 months ago) by mlelstv
Branches: 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
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -1
lines
expire cached route. Fixes PR 22792.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Mon Jun 6 06:06:50 2005 UTC (19 years, 6 months ago) by martin
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -2
lines
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 - view: text, markup, annotated - select for diffs
Wed Dec 11 06:46:32 2002 UTC (21 years, 11 months ago) by thorpej
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.6.2.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.2.1: +2 -0
lines
Sync with HEAD.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Mon Nov 11 18:35:27 2002 UTC (22 years ago) by itojun
Branches: 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
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -1
lines
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 - view: text, markup, annotated - select for diffs
Sat Aug 25 06:16:57 2001 UTC (23 years, 3 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.6.4.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.4.1: +4 -1
lines
Merge Aug 24 -current into the kqueue branch.
Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Fri Aug 24 00:12:11 2001 UTC (23 years, 3 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +9 -8
lines
Catch up with -current.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu Aug 16 17:45:26 2001 UTC (23 years, 3 months ago) by itojun
Branches: 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
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +4 -1
lines
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 - view: text, markup, annotated - select for diffs
Fri Aug 3 04:13:50 2001 UTC (23 years, 4 months ago) by lukem
Branches: kqueue
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +6 -8
lines
update to -current
Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun Jul 29 05:08:32 2001 UTC (23 years, 4 months ago) by itojun
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +6 -8
lines
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 - view: text, markup, annotated - select for diffs
Mon Nov 20 18:10:02 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +21 -10
lines
Update thorpej_scsipi to -current as of a month ago
Revision 1.6: download - view: text, markup, annotated - select for diffs
Sun Jul 2 00:21:42 2000 UTC (24 years, 5 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej_scsipi_nbase,
thorpej_scsipi_beforemerge,
thorpej_scsipi_base
Branch point for: nathanw_sa,
kqueue
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -1
lines
Convert `gif' to be a cloning interface.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Wed Apr 19 06:30:53 2000 UTC (24 years, 7 months ago) by itojun
Branches: 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
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +17 -10
lines
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 - view: text, markup, annotated - select for diffs
Mon Dec 27 18:36:09 1999 UTC (24 years, 11 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +2 -0
lines
Pull up to last week's -current.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Dec 2 07:22:19 1999 UTC (25 years ago) by itojun
Branches: MAIN
CVS tags: wrstuden-devbsize-base,
wrstuden-devbsize-19991221,
chs-ubc2-newbase
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -0
lines
rcsid police
Revision 1.1.2.2: download - view: text, markup, annotated - select for diffs
Tue Nov 30 13:35:04 1999 UTC (25 years ago) by itojun
Branches: kame
CVS tags: kame_141_19991130
Diff to: previous 1.1.2.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.2.1: +13 -2
lines
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 - view: text, markup, annotated - select for diffs
Mon Aug 2 22:32:28 1999 UTC (25 years, 4 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.2.2.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2.2.2: +4 -0
lines
Update from trunk.
Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Jul 9 23:41:16 1999 UTC (25 years, 5 months ago) by thorpej
Branches: 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
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +4 -0
lines
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 - view: text, markup, annotated - select for diffs
Thu Jul 1 23:45:19 1999 UTC (25 years, 5 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.2.2.1: preferred, colored
Changes since revision 1.2.2.1: +73 -0
lines
Sync w/ -current.
Revision 1.2.2.1
Thu Jul 1 08:12:48 1999 UTC (25 years, 5 months ago) by thorpej
Branches: chs-ubc2
FILE REMOVED
Changes since revision 1.2: +0 -73
lines
file if_gif.h was added on branch chs-ubc2 on 1999-07-01 23:45:19 +0000
Revision 1.2: download - view: text, markup, annotated - select for diffs
Thu Jul 1 08:12:48 1999 UTC (25 years, 5 months ago) by itojun
Branches: MAIN
Branch point for: chs-ubc2
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +73 -0
lines
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 - view: text, markup, annotated - select for diffs
Mon Jun 28 06:36:56 1999 UTC (25 years, 5 months ago) by itojun
Branches: kame
CVS tags: kame_14_19990705,
kame_14_19990628
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +73 -0
lines
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 (25 years, 5 months ago) by itojun
Branches: MAIN
Branch point for: kame
FILE REMOVED
file if_gif.h was initially added on branch kame.
CVSweb <webmaster@jp.NetBSD.org>