The NetBSD Project

CVS log for src/sys/netinet/in_l2tp.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.21 / (download) - annotate - [select for diffs], Wed Dec 7 08:30:15 2022 UTC (3 months, 3 weeks ago) by knakahara
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, HEAD
Changes since 1.20: +5 -4 lines
Diff to previous 1.20 (colored)

gif(4), ipsec(4) and l2tp(4) use encap_attach_addr().

Revision 1.18.6.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:29:01 2021 UTC (23 months, 3 weeks ago) by thorpej
Branch: thorpej-futex
Changes since 1.18: +3 -9 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Feb 19 14:51:59 2021 UTC (2 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: 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-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.19: +3 -4 lines
Diff to previous 1.19 (colored)

- Make ALIGNED_POINTER use __alignof(t) instead of sizeof(t). This is more
  correct because it works with non-primitive types and provides the ABI
  alignment for the type the compiler will use.
- Remove all the *_HDR_ALIGNMENT macros and asserts
- Replace POINTER_ALIGNED_P with ACCESSIBLE_POINTER which is identical to
  ALIGNED_POINTER, but returns that the pointer is always aligned if the
  CPU supports unaligned accesses.
[ as proposed in tech-kern ]

Revision 1.19 / (download) - annotate - [select for diffs], Sun Feb 14 20:58:35 2021 UTC (2 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.18: +4 -9 lines
Diff to previous 1.18 (colored)

- centralize header align and pullup into a single inline function
- use a single macro to align pointers and expose the alignment, instead
  of hard-coding 3 in 1/2 the macros.
- fix an issue in the ipv6 lt2p where it was aligning for ipv4 and pulling
  for ipv6.

Revision 1.15.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:16 2020 UTC (2 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.15.2.2: +12 -14 lines
Diff to previous 1.15.2.2 (colored) to branchpoint 1.15 (colored) next main 1.16 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.15.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:58 2020 UTC (2 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.15.2.1: +3 -3 lines
Diff to previous 1.15.2.1 (colored) to branchpoint 1.15 (colored)

Merge changes from current as of 20200406

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:07 2020 UTC (3 years ago) by ad
Branch: ad-namecache
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

Sync with head.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Jan 29 04:37:24 2020 UTC (3 years, 2 months ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Branch point for: thorpej-futex
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

Adopt <net/if_stats.h>.

Revision 1.2.8.8 / (download) - annotate - [select for diffs], Tue Sep 24 18:27:10 2019 UTC (3 years, 6 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.2.8.7: +14 -16 lines
Diff to previous 1.2.8.7 (colored) to branchpoint 1.2 (colored) next main 1.3 (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.16.4.1 / (download) - annotate - [select for diffs], Tue Sep 24 03:10:35 2019 UTC (3 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.16: +14 -16 lines
Diff to previous 1.16 (colored) next main 1.17 (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.17 / (download) - annotate - [select for diffs], Thu Sep 19 06:07:25 2019 UTC (3 years, 6 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.16: +14 -16 lines
Diff to previous 1.16 (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.15.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:47 2019 UTC (3 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.15: +25 -9 lines
Diff to previous 1.15 (colored)

Sync with HEAD

Revision 1.2.8.7 / (download) - annotate - [select for diffs], Mon Sep 10 15:58:47 2018 UTC (4 years, 6 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.2.8.6: +25 -9 lines
Diff to previous 1.2.8.6 (colored) to branchpoint 1.2 (colored)

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

	sys/netinet6/in6_l2tp.c: revision 1.17
	sys/netinet/in_l2tp.c: revision 1.16

fix: l2tp(4) cannot receive packets after reset session without reset tunnel. Pointed out by k-goda@IIJ

When the following operations are done after established session, the l2tp0
cannot receive packets until done deletetunnel && tunnel "src" "dst".

====================
ifconfig l2tp0 deletesession
ifconfig l2tp0 deletecookie
ifconfig l2tp0 session 200 100
====================

XXX pullup-8

Revision 1.12.2.3 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:44 2018 UTC (4 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.12.2.2: +25 -9 lines
Diff to previous 1.12.2.2 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.16 / (download) - annotate - [select for diffs], Mon Sep 3 02:33:30 2018 UTC (4 years, 6 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, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.15: +25 -9 lines
Diff to previous 1.15 (colored)

fix: l2tp(4) cannot receive packets after reset session without reset tunnel. Pointed out by k-goda@IIJ

When the following operations are done after established session, the l2tp0
cannot receive packets until done deletetunnel && tunnel "src" "dst".
====================
ifconfig l2tp0 deletesession
ifconfig l2tp0 deletecookie
ifconfig l2tp0 session 200 100
====================

XXX pullup-8

Revision 1.2.8.6 / (download) - annotate - [select for diffs], Fri Jul 13 14:26:47 2018 UTC (4 years, 8 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE
Changes since 1.2.8.5: +5 -2 lines
Diff to previous 1.2.8.5 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) via patch (requested by knakahara in ticket #905):

	sys/netinet/ip_mroute.c: revision 1.160
	sys/netinet6/in6_l2tp.c: revision 1.16
	sys/net/if.h: revision 1.263
	sys/netinet/in_l2tp.c: revision 1.15
	sys/netinet/ip_icmp.c: revision 1.172
	sys/netinet/igmp.c: revision 1.68
	sys/netinet/ip_encap.c: revision 1.69
	sys/netinet6/ip6_mroute.c: revision 1.129

sbappendaddr() is required any lock. Currently, softnet_lock is appropriate.

When rip_input() is called as inetsw[].pr_input, rip_iput() is always called
with holding softnet_lock, that is, in case of !defined(NET_MPSAFE) it is
acquired in ipintr(), otherwise(defined(NET_MPSAFE)) it is acquire in
PR_WRAP_INPUT macro.

However, some function calls rip_input() directly without holding softnet_lock.
That causes assertion failure in sbappendaddr().
rip6_input() and icmp6_rip6_input() are also required softnet_lock for the same
reason.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Mon Jun 25 07:26:06 2018 UTC (4 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.12.2.1: +5 -2 lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored)

Sync with HEAD

Revision 1.15 / (download) - annotate - [select for diffs], Thu Jun 21 10:37:50 2018 UTC (4 years, 9 months ago) by knakahara
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.14: +5 -2 lines
Diff to previous 1.14 (colored)

sbappendaddr() is required any lock. Currently, softnet_lock is appropriate.

When rip_input() is called as inetsw[].pr_input, rip_iput() is always called
with holding softnet_lock, that is, in case of !defined(NET_MPSAFE) it is
acquired in ipintr(), otherwise(defined(NET_MPSAFE)) it is acquire in
PR_WRAP_INPUT macro.
However, some function calls rip_input() directly without holding softnet_lock.
That causes assertion failure in sbappendaddr().
rip6_input() and icmp6_rip6_input() are also required softnet_lock for the same
reason.

Revision 1.2.8.5 / (download) - annotate - [select for diffs], Thu May 17 14:07:03 2018 UTC (4 years, 10 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RC2
Changes since 1.2.8.4: +6 -6 lines
Diff to previous 1.2.8.4 (colored) to branchpoint 1.2 (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.12.2.1 / (download) - annotate - [select for diffs], Wed May 2 07:20:23 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.12: +6 -8 lines
Diff to previous 1.12 (colored)

Synch with HEAD

Revision 1.14 / (download) - annotate - [select for diffs], Tue May 1 07:21:39 2018 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0521, pgoyette-compat-0502
Changes since 1.13: +2 -4 lines
Diff to previous 1.13 (colored)

Remove now unused net_osdep.h includes, the other BSDs did the same.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Apr 27 09:55:28 2018 UTC (4 years, 11 months ago) by knakahara
Branch: MAIN
Changes since 1.12: +6 -6 lines
Diff to previous 1.12 (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.2.8.4 / (download) - annotate - [select for diffs], Thu Mar 8 13:41:41 2018 UTC (5 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RC1
Changes since 1.2.8.3: +54 -52 lines
Diff to previous 1.2.8.3 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) (requested by knakahara in ticket #614):
	sys/net/if_l2tp.c: revision 1.20
	sys/netinet6/in6_l2tp.c: revision 1.13
	sys/netinet6/in6_l2tp.c: revision 1.14
	sys/net/if_l2tp.h: revision 1.3
	sys/net/if_l2tp.c: revision 1.13
	sys/netinet/in_l2tp.c: revision 1.10
	sys/net/if_l2tp.c: revision 1.18
	sys/netinet/in_l2tp.c: revision 1.11
	sys/net/if_l2tp.c: revision 1.19
	sys/netinet/in_l2tp.c: revision 1.12

If if_attach() failed in the attach function, return. Add comments about if_initialize().
suggested by ozaki-r@n.o.

Fix null deref, m could be NULL if M_PREPEND fails.

style

Style, reduce the indentation level when possible, and add a missing NULL
check after M_PREPEND.

Several fixes in L2TP:
 * l2tp_input(): use m_copydata, and ensure there is enough space in the
   chain. Otherwise overflow.
 * l2tp_tcpmss_clamp(): ensure there is enough space in the chain.
 * in_l2tp_output(): don't check 'sc' against NULL, it can't be NULL.
 * in_l2tp_input(): no need to call m_pullup since we use m_copydata.
   Just check the space in the chain.
 * in_l2tp_input(): if there is a cookie, make sure the chain has enough
   space.
 * in6_l2tp_input(): same changes as in_l2tp_input().
Ok knakahara@

Use MH_ALIGN instead, ok knakahara@.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jan 26 07:49:15 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.11: +10 -10 lines
Diff to previous 1.11 (colored)

Several fixes in L2TP:

 * l2tp_input(): use m_copydata, and ensure there is enough space in the
   chain. Otherwise overflow.

 * l2tp_tcpmss_clamp(): ensure there is enough space in the chain.

 * in_l2tp_output(): don't check 'sc' against NULL, it can't be NULL.

 * in_l2tp_input(): no need to call m_pullup since we use m_copydata.
   Just check the space in the chain.

 * in_l2tp_input(): if there is a cookie, make sure the chain has enough
   space.

 * in6_l2tp_input(): same changes as in_l2tp_input().

Ok knakahara@

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jan 25 10:45:58 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.10: +38 -39 lines
Diff to previous 1.10 (colored)

Style, reduce the indentation level when possible, and add a missing NULL
check after M_PREPEND.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Jan 22 09:51:06 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.9: +8 -5 lines
Diff to previous 1.9 (colored)

Fix null deref, m could be NULL if M_PREPEND fails.

Revision 1.2.8.3 / (download) - annotate - [select for diffs], Tue Jan 2 10:39:57 2018 UTC (5 years, 2 months ago) by snj
Branch: netbsd-8
Changes since 1.2.8.2: +7 -9 lines
Diff to previous 1.2.8.2 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) (requested by knakahara in ticket #461):
	sys/netinet/in_l2tp.c: revision 1.9
	sys/netinet6/in6_l2tp.c: revision 1.12
fix mbuf leaks. pointed out and suggested by kre@n.o, thanks.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Dec 18 03:21:44 2017 UTC (5 years, 3 months ago) by knakahara
Branch: MAIN
Changes since 1.8: +7 -9 lines
Diff to previous 1.8 (colored)

fix mbuf leaks. pointed out and suggested by kre@n.o, thanks.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Dec 18 03:20:12 2017 UTC (5 years, 3 months ago) by knakahara
Branch: MAIN
Changes since 1.7: +7 -5 lines
Diff to previous 1.7 (colored)

backout wrong fix again, sorry.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Dec 15 05:01:16 2017 UTC (5 years, 3 months ago) by knakahara
Branch: MAIN
Changes since 1.6: +5 -7 lines
Diff to previous 1.6 (colored)

Fix pullup'ed mbuf leaks. The match function just requires enough mbuf length.

XXX need pullup-8

Revision 1.6 / (download) - annotate - [select for diffs], Fri Dec 15 04:58:31 2017 UTC (5 years, 3 months ago) by knakahara
Branch: MAIN
Changes since 1.5: +9 -5 lines
Diff to previous 1.5 (colored)

backout wrong fix as it causes atf net/ipsec/t_ipsec_l2tp failures.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 11 02:17:35 2017 UTC (5 years, 3 months ago) by knakahara
Branch: MAIN
Changes since 1.4: +5 -9 lines
Diff to previous 1.4 (colored)

fix pullup'ed mbuf leaks. pointed out by maxv@n.o, thanks.

XXX need pullup-8

Revision 1.2.8.2 / (download) - annotate - [select for diffs], Sun Dec 10 09:41:31 2017 UTC (5 years, 3 months ago) by snj
Branch: netbsd-8
Changes since 1.2.8.1: +4 -4 lines
Diff to previous 1.2.8.1 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) (requested by knakahara in ticket #419):
	sys/net/if_stf.c: revision 1.103
	sys/net/if_stf.h: revision 1.8
	sys/netinet/in_gif.c: revision 1.89
	sys/netinet/in_gif.h: revision 1.17
	sys/netinet/in_l2tp.c: revision 1.4
	sys/netinet/ip_encap.c: revision 1.66
	sys/netinet/ip_encap.h: revision 1.23
	sys/netinet/ip_mroute.c: revision 1.148
	sys/netinet6/in6_gif.c: revision 1.87
	sys/netinet6/in6_gif.h: revision 1.16
	sys/netinet6/in6_l2tp.c: revision 1.7
	sys/netipsec/xform.h: revision 1.13
	sys/netipsec/xform_ipip.c: revision 1.55
Add argument to encapsw->pr_input() instead of m_tag.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:04 2017 UTC (5 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.4.2.1: +416 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

update from HEAD

Revision 1.4.2.1, Wed Nov 15 10:42:41 2017 UTC (5 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.4: +0 -416 lines
FILE REMOVED

file in_l2tp.c was added on branch tls-maxphys on 2017-12-03 11:39:04 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Wed Nov 15 10:42:41 2017 UTC (5 years, 4 months ago) by knakahara
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Branch point for: tls-maxphys
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (colored)

Add argument to encapsw->pr_input() instead of m_tag.

Revision 1.3.4.2 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:12 2017 UTC (5 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.4.1: +416 -0 lines
Diff to previous 1.3.4.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Sync with HEAD

Revision 1.2.8.1 / (download) - annotate - [select for diffs], Wed Jul 12 13:42:11 2017 UTC (5 years, 8 months ago) by martin
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.2: +5 -3 lines
Diff to previous 1.2 (colored)

Pull up following revision(s) (requested by knakahara in ticket #121):
	sys/netinet6/in6_l2tp.c: revision 1.6
	sys/netinet/in_l2tp.c: revision 1.3
l2tp(4): fix mbuf leak when tunnel nested over the limit
XXX need pullup -8 branch

Revision 1.3.4.1, Tue Jul 11 05:03:45 2017 UTC (5 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3: +0 -416 lines
FILE REMOVED

file in_l2tp.c was added on branch nick-nhusb on 2017-08-28 17:53:12 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Tue Jul 11 05:03:45 2017 UTC (5 years, 8 months ago) by knakahara
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Branch point for: nick-nhusb
Changes since 1.2: +5 -3 lines
Diff to previous 1.2 (colored)

l2tp(4): fix mbuf leak when tunnel nested over the limit

XXX need pullup -8 branch

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:29 2017 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.1.2.2: +2 -7 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:05 2017 UTC (5 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.2.4.1: +414 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD

Revision 1.2.4.1, Thu Mar 30 23:13:54 2017 UTC (6 years ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.2: +0 -414 lines
FILE REMOVED

file in_l2tp.c was added on branch bouyer-socketcan on 2017-04-21 16:54:05 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Thu Mar 30 23:13:54 2017 UTC (6 years ago) by knakahara
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: netbsd-8, bouyer-socketcan
Changes since 1.1: +2 -7 lines
Diff to previous 1.1 (colored)

remove duplicated validation. That is already done in l2tp_lookup_session_ref().

pointed out by s-yamaguchi@IIJ, thanks.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:50 2017 UTC (6 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.1.2.1: +419 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

Sync with HEAD

Revision 1.1.2.1, Thu Feb 16 08:23:35 2017 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.1: +0 -419 lines
FILE REMOVED

file in_l2tp.c was added on branch pgoyette-localcount on 2017-03-20 06:57:50 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 16 08:23:35 2017 UTC (6 years, 1 month ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320
Branch point for: pgoyette-localcount

add missing files.

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>