[Xorp-users] Xorp 1.8.6 causes kernel panic in FreeBSD 8.3

Daniel Spisak dspisak at agiosat.net
Tue Jan 15 17:45:06 PST 2013


Hi there, I'm new to the list!

Myself and a colleague have been trying to use Xorp 1.8.6 (we pulled the 
source from the git repo about a two months ago) to handle multicast 
routing over GRE tunnels for a rather convoluted scenario. In the course 
of trying to get that setup working (which will be another separate 
email to the list) we seem to be running into behavior from Xorp that is 
causing kernel panics to happen on FreeBSD 8.3-RELEASE.

Currently, we are able to startup Xorp normally with no apparent 
problems. However, as soon as we try to shutdown the Xorp service or 
initiate a system reboot the system will kernel panic. We are running 
Xorp on ALIX1.D single board computers. You can see more about the 
hardware specs here:

http://pcengines.ch/alix1d.htm

I have created a file dump of some of the kernel panics along with some 
kdbg backtraces for developers to take a look at (along with a 
kernel.debug for our kernel build). If I am reading the backtraces 
right, it looks like there might be an issue being caused by IGMP 
somehow. Perhaps a mismatch between v2 and v3?

http://www.mediafire.com/?ojxdc172mp7q6

I'm pretty new to Xorp and multicast so its possible I've missed 
something here. Below is the xorp.config of the box in question that 
does the kernel panics:

/* XORP configuration file
  *
  * Configuration format: 1.1
  * XORP version: 1.8.6-WIP
  * Date: 2012/12/05 00:04:02.421583
  * Host: dispatch-dev
  * User: root
  */

protocols {
     fib2mrib {
         disable: false
     }
     igmp {
         disable: false
         interface vr0 {
             vif vr0 {
                 disable: false
                 version: 2
                 enable-ip-router-alert-option-check: false
                 query-interval: 125
                 query-last-member-interval: 1
                 query-response-interval: 10
                 robust-count: 2
             }
         }
         traceoptions {
             flag {
                 all {
                     disable: false
                 }
             }
         }
     }
     pimsm4 {
         disable: false
         interface vr0 {
             vif vr0 {
                 disable: false
                 dr-priority: 100
                 hello-period: 30
                 hello-triggered-delay: 5
             }
         }
         interface "register_vif" {
             vif "register_vif" {
                 disable: false
                 dr-priority: 1
                 hello-period: 30
                 hello-triggered-delay: 5
             }
         }
         static-rps {
             rp 10.255.254.254 {
                 group-prefix 239.0.0.1/32 {
                     rp-priority: 192
                     hash-mask-len: 30
                 }
             }
         }
         switch-to-spt-threshold {
             disable: false
             interval: 100
             bytes: 102400
         }
         traceoptions {
             flag {
                 all {
                     disable: false
                 }
             }
         }
     }
}
interfaces {
     restore-original-config-on-shutdown: false
     interface vr0 {
         description: "Ethernet Iface"
         disable: false
         discard: false
         unreachable: false
         management: false
         parent-ifname: ""
         iface-type: ""
         vid: ""
         vif vr0 {
             disable: false
         }
         default-system-config
     }
}
plumbing {
     mfea4 {
         disable: false
         interface vr0 {
             vif vr0 {
                 disable: false
             }
         }
         interface "register_vif" {
             vif "register_vif" {
                 disable: false
             }
         }
         traceoptions {
             flag {
                 all {
                     disable: false
                 }
             }
         }
     }
}

Output from fbsd for interfaces:

dispatch-dev# ifconfig -a
vr0: flags=8a43<UP,BROADCAST,RUNNING,ALLMULTI,SIMPLEX,MULTICAST> metric 
0 mtu 1500
         options=8280b<RXCSUM,TXCSUM,VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
         ether 00:0d:b9:0e:32:d4
         inet XX.XX.XXX.XX netmask 0xfffffffc broadcast XX.XX.XXX.XX
         inet 192.168.10.2 netmask 0xffffff00 broadcast 192.168.10.255
         inet 10.13.8.253 netmask 0xffffff80 broadcast 10.13.8.255
         media: Ethernet autoselect (100baseTX <full-duplex>)
         status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
         options=3<RXCSUM,TXCSUM>
         inet 127.0.0.1 netmask 0xff000000
enc0: flags=0<> metric 0 mtu 1536
pflog0: flags=0<> metric 0 mtu 33200
gre0: flags=9010<POINTOPOINT,LINK0,MULTICAST> metric 0 mtu 1476

If anyone has any input/insight as to what is causing the kernel panics 
and how to fix it, that would be great. Thanks!

-- 
Daniel Spisak
Network Engineer
Agiosat Government Services
dspisak at agiosat.net



More information about the Xorp-users mailing list