On Tue, Apr 30, 2013 at 04:53:13PM -0400, John Baldwin wrote:
> Try 'p phd' to start.  INP_PCBPORTHASH is a macro, so you will
> have to do it by hand:
> 
> 'p pcbinfo->ipi_porthashbase[lport & pcbinfo->ipi_porthashmask]'
> 
> (That should be what 'porthash' is.)
> 

Thanks for the pointers.  (Hah!)

Hopefully this is the info you are looking for:

Script started on Tue Apr 30 17:16:07 2013
root@orion:/usr/obj/usr/src/sys/ORION # kgdb ./kernel.debug /var/crash/vmcore.4
[...]
#0  doadump (textdump=<value optimized out>) at pcpu.h:231
231             __asm("movq %%gs:%1,%0" : "=r" (td)
(kgdb) frame 6
#6  0xffffffff80736cec in in_pcblookup_local (pcbinfo=0xffffffff80dc9180, laddr=
      {s_addr = 50374848}, lport=339, lookupflags=1, cred=0xfffffe016cdad100)
    at /usr/src/sys/netinet/in_pcb.c:1438
1438                    LIST_FOREACH(phd, porthash, phd_hash) {
(kgdb) p phd
$1 = (struct inpcbport *) 0x9e17b100fffffe00
(kgdb) p pcbinfo->ipi_porthashbase[lport & pcbinfo->ipi_porthashmask]
$2 = {lh_first = 0x0}
(kgdb) p lport
$3 = 339
(kgdb) p pcbinfo->ipi_porthashmask
$4 = 127
(kgdb) root@orion:/usr/obj/usr/src/sys/ORION # ^D

Script done on Tue Apr 30 17:16:55 2013

Glen

Attachment: pgp_ehcyNbq1m.pgp
Description: PGP signature

Reply via email to