[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: Monitor kernel variable with ddb(4)
From:       Eugene Grosbein <eugen () grosbein ! net>
Date:       2017-08-12 20:12:33
Message-ID: 598F6131.3090002 () grosbein ! net
[Download RAW message or body]

13.08.2017 2:42, Farhan Khan пишет:
> Hi all,
> 
> I am trying to figure out where a net80211's vap flags are modified. I see
> that memory is originally allocated here:
> http://src.illumos.org/source/xref/freebsd-head/sys/net/if.c#445. However,
> I cannot figure out where the ifp->if_flags and if->if_drv_flags are ever
> modified in the kernel.
> 
> Someone suggested using ddb(4), so I entered the live debugger using sysctl
> debug.kdb.enter=1
> 
> I then set a breakpoint at if_alloc.
> 
> However, I cannot seem to figure out the next steps to monitor where the
> ifp->if_flags or if->if_drv_flags are updated.
> 
> Full explanation - My kernel module is immediately unloading, but I am not
> certain why. I traced it back in the ieee80211 code to those flags, but not
> sure where they are updated.
> 
> Any ideas? Thank you!

What driver do you use? There are lots of kernel level files
that change ifp->if_flags and if->if_drv_flags:

$ grep -lER '\<if(_drv)?_flags =' /usr/src/sys | wc -l
    148

Perhaps, you need ieee80211_vap_setup() function in the /usr/src/sys/net80211/ieee80211.c
or if_setdrvflagbits() in the /usr/src/sys/net/if.c or one of many driver source files
in /usr/src/sys/dev


_______________________________________________
freebsd-hackers@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic