Below is the planned commit message:
wtap(4): Implement IBSS mode on wtap(4)
For TSF and beacon generation, each STA has to start its local TSF timer and send beacon frames when it reaches the state IEEE80211_S_RUN, and the TSF timer will be used when:
when it reaches the state IEEE80211_S_RUN, an - IBSS merge (mentioned beacon frames sentlow)
by the STA has the largest TSF timer (oldest STA) in an IBSS.
TSF timer is kept in HAL of wtap, it’s wroking by continuously updating its- beacon frame transmission (mentioned below)
TSF timer is kept in HAL of wtap(4), it’s working by continuously updating its value on timer interrupt simulated by callout_reset().
For IBSS merge, the STA with smaller TSF timer (younger STA) will be merged
into the IBSS which is owned by a STA with larger TSF timer (older STA). After
the merging process, the younger STA will be in the IBSS created by older STA, and
and has the BSSID of this IBSS.
After being merged into other IBSS, the STA stops sending beacon frames. So
beacon frames will always be sent by the oldest STA in IBSS.
This diff depends on D35752.