John Hay wrote:


> I have configured a 4-stable machine to be a router, routing ipv4,
ipv6
> and ipx. To be able to do Ethernet_II framing on one interface and
802.3
> on another I have used if_ef.ko.
>
> I then noticed that "... kernel: nd6_storelladdr failed" gets logged
> often and after a while all mbufs are used. It turned out that in
> sys/net/if_ethersubr.c in ether_output() when nd6_storelladdr()
fails,
> it does a return(0) and does not free the mbuf. I checked -current
> and it is still like that.

    It should not be freeing the mbuf, because that mbuf is being
passed as an argument to ether_output(). It is typically the caller
that ought to be responsible for freeing the mbuf in this case.

> Now the reason it fails is that the ef(4) device use an ifp->if_type
> (IFT_XETHER) that nd6_storelladdr() does not expect.
>
> Oh as a workaround I have configured route6d to ignore fxp1f0.
>
> John
> --
> John Hay -- [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to