Date: Tue, 13 Feb 2007 13:53:55 +0200 From: Alexander Motin <mav@alkar.net> To: Andrew Bliznak <andriko.b@gmail.com> Cc: freebsd-net@freebsd.org Subject: Re: Mpd-4.1 released Message-ID: <45D1A6D3.8060301@alkar.net> In-Reply-To: <21be38170702130321t23345ce0pe298733be438d6b0@mail.gmail.com> References: <21be38170702130035n4ee69773mddc07a2b674fb81a@mail.gmail.com> <45D194EB.10008@alkar.net> <21be38170702130321t23345ce0pe298733be438d6b0@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Andrew Bliznak wrote:
> One more questions.
> a) Device type l2tp (copy pppoe config with changed device type)
> produce INVARIANTS KASSERT in sys/netgraph/ng_l2tp.c on first packet
> from nearest cisco :(
I know about one KASSERT problem in ng_l2tp. I have already sent patches
to the commiter and waiting for his reply. You can try patch from
attachment.
> b) Now on exit not cleaned only three nodes:
> ...
> Name: <unnamed> Type: pppoe ID: 00001843 Num hooks: 1
This is current normal behavior. It doesn't usually make any problems.
> Name: ng0 Type: iface ID: 00001630 Num hooks: 0
> Name: ng2 Type: iface ID: 00000013 Num hooks: 0
This is strange. I think it can be result of using -i parameter at
bundle creation. Try to not use it.
--
Alexander Motin mav@alkar.net
Optima Telecom
[-- Attachment #2 --]
--- ng_l2tp.c.orig Sat Feb 10 06:58:03 2007
+++ ng_l2tp.c Sat Feb 10 06:58:00 2007
@@ -1121,6 +1121,10 @@
hpriv->stats.xmitPackets++;
hpriv->stats.xmitOctets += m->m_pkthdr.len;
+ /* And the global one. */
+ priv->stats.xmitPackets++;
+ priv->stats.xmitOctets += m->m_pkthdr.len;
+
/* Send packet */
NG_FWD_NEW_DATA(error, item, priv->lower, m);
return (error);
@@ -1398,12 +1402,13 @@
const priv_p priv = NG_NODE_PRIVATE(node);
struct l2tp_seq *const seq = &priv->seq;
- /* Sanity check */
- L2TP_SEQ_CHECK(seq);
-
/* If ack is still outstanding, send a ZLB */
- if (seq->xack != seq->nr)
+ if (seq->xack != seq->nr) {
ng_l2tp_xmit_ctrl(priv, NULL, seq->ns);
+ /* If there was memory error, ignore it.
+ We must keep state consistent here. */
+ seq->xack = seq->nr;
+ }
/* Done */
L2TP_SEQ_CHECK(seq);
@@ -1420,9 +1425,6 @@
struct l2tp_seq *const seq = &priv->seq;
struct mbuf *m;
u_int delay;
-
- /* Sanity check */
- L2TP_SEQ_CHECK(seq);
/* Make sure peer's ack is still outstanding before doing anything */
if (seq->rack == seq->ns)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45D1A6D3.8060301>
