| Summary: | delete alias from ipv6 p-t-p iface will crash kernel | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | System Admin Account <admin%dyn> | ||||
| Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | 4.2-RELEASE | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
State Changed From-To: open->feedback Does this problem still exist? State Changed From-To: feedback->closed Submitter says that this problem no longer occurs in 4.4-RELEASE. |
this works with loopback and p-t-p ifaces. $ ifconfig lo0 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 $ ifconfig lo0 inet6 delete ::1 -> this works as one would expect $ ifconfig lo0 inet6 delete fe80::1%lo0 -> but this one panics! Functions called: rtalloc1 from rtinit " in6_ifscrub " in6_purgeaddr " in6_control " ifioctl Fix: Thats what I have done, and what made it work here. As I have configured IPv6 just out of curiousity and have no real usage yet for it, I cannot say about side-effects, possibly with a routing daemon or such. The code obviousely considers _every_ immanent route on a loopback or p-t-p iface as a _host_route (and afaik this is true for classic IP), but the fe80::1%lo0 is some kind of cloneable route: $ netstat -r Destination Gateway Flags Netif Expire fe80::%lo0 fe80::1%lo0 Uc lo0 How-To-Repeat: not applicable, see piece-of-code below for the failure-reason.