Patrick Klos
2011-01-21 20:05:05 UTC
Hello tech-net:
I am trying to make my own 6rd pseudo-device for NetBSD (partly, to try
to use Comcast's 6rd support, and partly to learn more about how these
kinds of drivers work?). I'm building with current (5.99.43).
I modeled my 'sixrd' driver after the 'stf' driver since they're both
doing almost the same tunneling with just a few different rules.
After creating the device, I configure it with the IPv6 address
2001:55c:62d8:93c7::1:
ifconfig sixrd0 inet6 2001:55c:62d8:93c7::1 prefixlen 32
Then I try to ping6 to 2001:55c:62d8:93c7::2 which should force the
packets to/thru my driver, but instead, I get the following:
lily# ping6 2001:55c:45fc:5042::2
PING6(56=40+8+8 bytes) 2001:55c:62d8:93c7::1 --> 2001:55c:45fc:5042::2
ping6: sendmsg: Message too long
ping6: wrote 2001:55c:45fc:5042::2 16 chars, ret=-1
ping6: sendmsg: Message too long
ping6: wrote 2001:55c:45fc:5042::2 16 chars, ret=-1
ping6: sendmsg: Message too long
ping6: wrote 2001:55c:45fc:5042::2 16 chars, ret=-1
^C
--- 2001:55c:45fc:5042::2 ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
I have a debug statement in the sixrd_output() routine, so I'd see if
any packets were trying to be sent.
It's almost as if the IPv6 stack is checking the length, and thinking
the packet is too big to send on the target interface?
My device's settings are all identical to what the stf driver uses. Any
ideas?
Thanks,
Patrick Klos
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
I am trying to make my own 6rd pseudo-device for NetBSD (partly, to try
to use Comcast's 6rd support, and partly to learn more about how these
kinds of drivers work?). I'm building with current (5.99.43).
I modeled my 'sixrd' driver after the 'stf' driver since they're both
doing almost the same tunneling with just a few different rules.
After creating the device, I configure it with the IPv6 address
2001:55c:62d8:93c7::1:
ifconfig sixrd0 inet6 2001:55c:62d8:93c7::1 prefixlen 32
Then I try to ping6 to 2001:55c:62d8:93c7::2 which should force the
packets to/thru my driver, but instead, I get the following:
lily# ping6 2001:55c:45fc:5042::2
PING6(56=40+8+8 bytes) 2001:55c:62d8:93c7::1 --> 2001:55c:45fc:5042::2
ping6: sendmsg: Message too long
ping6: wrote 2001:55c:45fc:5042::2 16 chars, ret=-1
ping6: sendmsg: Message too long
ping6: wrote 2001:55c:45fc:5042::2 16 chars, ret=-1
ping6: sendmsg: Message too long
ping6: wrote 2001:55c:45fc:5042::2 16 chars, ret=-1
^C
--- 2001:55c:45fc:5042::2 ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
I have a debug statement in the sixrd_output() routine, so I'd see if
any packets were trying to be sent.
It's almost as if the IPv6 stack is checking the length, and thinking
the packet is too big to send on the target interface?
My device's settings are all identical to what the stf driver uses. Any
ideas?
Thanks,
Patrick Klos
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de