The only thing I can think of at the moment, look in your ethernetif_input() and make sure IPv6 is not filtered out, my version does this:

switch( htons( ethhdr->type ) )
{
    /* IP packet? */
    case ETHTYPE_IP:
    case ETHTYPE_ARP:
    case ETHTYPE_IPV6:
        /* pass to network layer */
        if (pxNetIf->input( p, pxNetIf ) != ERR_OK)
        {
            pbuf_free( p );
        }
        break;

    default:
        pbuf_free( p );
        break;
}

So make sure ETHTYPE_IPV6 is included. otherwise your packet is freed.

Cheers
Ivan


Date: Sun, 9 Nov 2014 07:03:01 -0700 (MST)
From: mfkexpress <[email protected]>
To: [email protected]
Subject: Re: [lwip-users] IPv6 packet not sent or received
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii

Hi Ivan,

First of all thanks for your reply. I'm using ethernet and thus I've already set output_ip6 and linkoutput as you have mentioned. I tested IPv4 and it is
working properly but when I tested IPv6 by disabling IPv4 in my PC, it
didn't work. I even captured interrupt and printed it using p->payload, but
it does not match exactly with what my PC is sending.

And what about nd6_input that is not being called anytime?

Thanks &  Regards,
Mohsin




_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to