OpenBSD ignoring RFC-compliant IPv6 neighbor solicitation?

2013-02-11 Thread Martin Schmitt
All,

I got my first non-tunneled IPv6 uplink a while ago, and now I have
issues with NDP.

Over the same shared LAN, the ISP apparently serves several (more than
one, but as far as I can see not neccessarily more than two) customer
routers, with a logical /125 transfer network for each customer. What I
currently see, is this:

1) 2001:db8:1234:5678::08/125 - Someone else's transfer network
2) 2001:db8:1234:5678::10/125 - My transfer network

What happens now is that the ISP router sometimes sends neigbor
solicitation requests for my OpenBSD router using a source IP from its
proper physical interface, but a different logical network. In this
case: 2001:db8:1234:5678::9

When the NDP solicitations from 2001:db8:1234:5678::9 come in, OpenBSD
does not respond to them, apparently because their source IP doesn't
match the OpenBSD router's own prefix. The ISP router receives no
neighbor advertisement from my OpenBSD router, and deems it unreachable.
IPv6 is now down until a while later, when the solicitations happen to
come from 2001:db8:1234:5678::11 again.

RFC4861 says about the source IP for neighbor solicitations, that it has
to be an address assigned to the interface from which this message is
sent. The ISP router firmware interprets this to mean any address from
the interface, thus using an IP from a different logical subnet.
OpenBSD, in turn, does not seem to be willing to respond to requests
from a different subnet.

This was reproduced with OpenBSD 5.2-release, with pf turned off. It
also happens on the production router, which happens to still run
OpenBSD 4.6.

To try to better understand the issue, I also set up a Linux system
(Debian 6), which does in fact send advertisements in response to those
wrong-prefix solicitations.

What I understand is that either OpenBSD or the ISP router interpret the
RFC in a way that leads to unintended results.

Is this a bug in OpenBSD? Is there a workaround, e.g. in the form of a
sysctl or a pf.conf hack that will make OpenBSD's NDP more liberal?

Thanks for all input,

-martin



Re: OpenBSD ignoring RFC-compliant IPv6 neighbor solicitation?

2013-02-11 Thread Martin Schmitt
Am 11.02.2013 12:12, schrieb Stefan Sperling:

 I believe the code path you're hitting is this one in netinet6/nd6_nbr.c,
 in nd6_ns_input():

   } else {
   /*
* Make sure the source address is from a neighbor's address.
*/
   if (!in6_ifpprefix(ifp, saddr6)) {
   nd6log((LOG_INFO, nd6_ns_input: 
   NS packet from non-neighbor\n));
   goto bad;
   }
   }

Thanks for your quick response!

The ISP has now worked around the issue by adding a fixed NDP entry for
my router's address so I can't really test with it, but I have added
another address on the interface, which gives me this, after sysctl
net.inet6.icmp6.nd6_debug=1:

nd6_ns_input: src=2001:0db8:1234:5678::0009
nd6_ns_input: dst=ff02:0001::0001:ff00:0015
nd6_ns_input: tgt=2001:0db8:1234:5678::0015
nd6_ns_input: NS packet from non-neighbor

 Have you tried using a /64 netmask at your end of the transfer link,
 instead of the /125?

I had already tried /123, which made it work. Such a workaround comes
across a bit desperate, because with further expansion of the ISP's IPv6
customer base, further widening of the prefix will be required. I'm not
sure whether this is how the uplink is intended to work and if it has
the potential to do any damage.

How is your understanding of NDP? Do you think OpenBSD is at fault for
ignoring these solicitations, or do you think the ISP router's OS
selects the wrong source IP? The wording in the RFC is really very terse
and leaves room for interpretation.

-martin

[demime 1.01d removed an attachment of type application/pgp-signature which had 
a name of signature.asc]



PPPoE for IPv6

2011-01-31 Thread Martin Schmitt
Now I'm in trouble! ;-)

I've been using IPv6 via tunnel for a while, with decent success.

Lately, I have found an ISP here in Germany who hands out free native
IPv6 access, which is to be used on top of the existing DSL line. And I
already have an account with them.

How do I configure PPPoE for IPv6? Is the example from pppoe(4), with
the 0.0.0.0 etc. dummy addresses, also valid for a pure IPv6 connection,
or do I have to set it up in a different way? (I have never before
configured PPPoE on OpenBSD.)

Kind regards,

-martin

--
Martin Schmitt / Schmitt Systemberatung / www.scsy.de
-- http://www.pug.org/index.php/Benutzer:Martin --

[demime 1.01d removed an attachment of type application/pgp-signature which had 
a name of signature.asc]



Postprocessing pf label data

2009-01-11 Thread Martin Schmitt
Hi all!

Now that pfctl -sl gives me a neat lot of detailed traffic stats, I'm
wondering: Is there some tool around that can handle this data right out
of the box, similar to what Cacti does for interface statistics?

-martin

-- 
Martin Schmitt / Schmitt Systemberatung / www.scsy.de
-- http://www.pug.org/index.php/Benutzer:Martin --



Re: alix help

2008-09-21 Thread Martin Schmitt
Kendall Shaw schrieb:

 If I were able to upgrade the bios, I don't know how I will actually install 
 openbsd on the disk.  Aside from transfering files using Xmodem, what is the 
 procedure for actually installing an image onto the CF card?

I have tried two methods for installing OpenBSD, and haven't decided yet
which one of the two I like better.

First, there's Flashdist from http://www.nmedia.net/flashdist/ which is
well optimized for flash enviroments and is installed by writing out an
image to a CF card. This has a somewhat bullet-proof appearance, but
it's not simple to customize.

Second, I have recently received a shipment of Microdrives, allowing for
a regular install that doesn't need to be optimized for read-only
operation. The PXE environment needs to be set up as described in
http://www.openbsd.org/faq/faq6.html#PXE and the bsd.rd kernel needs
to be booted for installation. This has the big advantage that it works
just like any OpenBSD installer.

Kind regards,

-martin


-- 
Martin Schmitt / Schmitt Systemberatung / www.scsy.de
-- http://www.pug.org/index.php/Benutzer:Martin --



PPP / demand-dial / failing first outbound connection

2008-09-20 Thread Martin Schmitt
Hi all!

I have the -current snapshot from Sep. 10 on my ALIX board, and have
configured pppd for demand-dialing on a UMTS modem.

# cat /etc/ppp/peers/umts
cuaU0
7372800
debug
noauth
nocrtscts
:10.11.12.13
ipcp-accept-local
defaultroute
demand
user none
persist
idle 600
holdoff 300
connect /usr/sbin/chat -v -f /etc/ppp/tmobile-chat

The first outbound connection causes pppd to successfully pull up the
connection. However, the connecting client runs into a TCP timeout and
needs to be started again. On subsequent dials (after the line was
pulled down due to idle), the behaviour is the same and the initiating
connection times out.

I recall that this was a very common problem many years ago when I used
to dial into ISDN with my Linux boxes, but I can't quite recall how we
used to get rid of this back then.

How do I fix this little problem? Your suggestions are greatly appreciated.

Thanks for your time,

-martin

-- 
Martin Schmitt / Schmitt Systemberatung / www.scsy.de
-- http://www.pug.org/index.php/Benutzer:Martin --



Huawei E220 on ALIX

2008-07-16 Thread Martin Schmitt
Hi all!

I'm trying to use a Huawei E220 UMTS USB modem on an ALIX, using OpenBSD
Flashdist 20080504.

I have extended the GEODE configuration as follows:

# diff -c /opt/flashdist-20080504/GEODE /usr/src/sys/arch/i386/conf/GEODE
*** /opt/flashdist-20080504/GEODE   Sun May  4 21:32:07 2008
--- /usr/src/sys/arch/i386/conf/GEODE   Wed Jul 16 21:36:15 2008
***
*** 87,93 
--- 87,95 
  uhub* at usb? # USB Hubs
  uhub* at uhub?# USB Hubs
  umodem*   at uhub?# USB Modems/Serial
+ umsm*   at uhub?# Qualcomm MSM EVDO
  ucom* at umodem?
+ ucom*   at umsm?
  #ubsa*at uhub?# Belkin serial adapter
  #ucom*at ubsa?
  #uftdi*   at uhub?# FTDI FT8U100AX serial adapter

With the kernel built from this configuration, Flashdist sees the Huawei
thing as ugen0, while I expected to see it as ucom0.

Is there anyone in here who can weigh in with some advice regarding
initialization of the Huawei E220? I do know that the E220 needs some
trickery to kill off its mass storage part in order to make the serial
part available. However, I have never worked with this myself, neither
on OpenBSD nor on Linux where the procedure appears to be fairly common.

Also, how can I tell if the kernel built from the above configuration
really has support for umsm?

Thanks for your time,

-martin

[demime 1.01d removed an attachment of type application/pgp-signature which had 
a name of signature.asc]



Re: Huawei E220 on ALIX

2008-07-16 Thread Martin Schmitt
Stuart Henderson schrieb:

 Please try this with the GENERIC kernel, and report back to us if you
 still have a problem.

 Make sure it's -current or a snapshot, not 4.3, for E220.
 If it still fails, send output from dmesg and usbdevs -v.

I plugged it into my development box (4.3) where it misbehaved as
expected (the umass driver is not in the GEODE kernel from Flashdist):

umass0 at uhub0 port 1 configuration 1 interface 2 HUAWEI Technologies
HUAWEI Mobile rev 1.10/0.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus2 at umass0: 2 targets
umass0: BBB reset failed, STALLED
umass0: BBB reset failed, STALLED

I'll read up on checking out and building a -current kernel. Judging
from the commit log for umsm.c, it's the only way to go.

-martin

[demime 1.01d removed an attachment of type application/pgp-signature which had 
a name of signature.asc]



Re: Huawei E220 on ALIX

2008-07-16 Thread Martin Schmitt
Got it!

# cu -s 115200 -l /dev/ttyU0
ati
Manufacturer: huawei
Model: E220
Revision: 11.110.05.00.00
IMEI: 355083018404928
+GCAP: +CGSM,+DS,+ES

OK

This is not on the ALIX yet, I'll get to that later.

Thanks,

-martin

[demime 1.01d removed an attachment of type application/pgp-signature which had 
a name of signature.asc]