Hi.

I'm trying to use hitbox (hxbt) to reproduce an issue, and although I'm running this on Solaris 10, I'm getting an lbolt wrap issue. The source was downloaded from http://hub.opensolaris.org/bin/view/Community+Group+networking/. Originally I was using the pre-compiled snv binaries, but I've also just compiled from an S10 workspace in case there was some interface change, etc... between s10 and snv.

After enabling either a delay (-l 200) or a bandwidth limitation (-b 200), I see "hxbt: WARNING: hxbt_timeout: lbolt wrap..." repeatedly on the console.

The CE_WARN comes from hxbt_timeout:

       /* Avoid lbolt wrap */
lbolt_wrap:
       if ((pkt = ifp->hbif_pkt_q) != NULL && pkt->pkt_stime > cur_time) {
cmn_err(CE_WARN, "hxbt_timeout: lbolt wrap (%lld, %lld)...\n",
                   pkt->pkt_stime, cur_time);
               while (pkt != NULL) {
                       putnext(ifp->hbif_wq, pkt->pkt_mp);
                       ifp->hbif_pkt_q = pkt->pkt_next;
                       kmem_free(pkt, sizeof (pkt_t));
                       pkt = ifp->hbif_pkt_q;
                       ifp->hbif_cnt--;
               }
       }


I've expanded the cmn_err to include the values used to come to this conclusion, and they only differ by one:


Sep 7 14:13:02 nfsserver hxbt: WARNING: hxbt_timeout: lbolt wrap (35361300, 35361299)... Sep 7 14:13:02 nfsserver hxbt: WARNING: hxbt_timeout: lbolt wrap (35361323, 35361322)... Sep 7 14:13:03 nfsserver hxbt: WARNING: hxbt_timeout: lbolt wrap (35361424, 35361423)... Sep 7 14:13:04 nfsserver hxbt: WARNING: hxbt_timeout: lbolt wrap (35361524, 35361523)... Sep 7 14:13:06 nfsserver hxbt: WARNING: hxbt_timeout: lbolt wrap (35361726, 35361725)...

I've also confirmed that the "goto lbolt_wrap" later in the same function is not being used, so the above message is being produced on entry to this function.

It seems that the pkt_stime is the time the packet should be sent, so it is possible for this to be "in the future" according to cur_time, and suggests to me that the timeout functionality is broken, unless the delay is smaller than an lbolt increment (such that pkt_stime == cur_time).

Does anybody else have any experience of using hxbt with delays such as 200ms or above, or with the timeout/delay code?

Thanks,
Brian


--
Brian Ruthven
Solaris Network RPE (Sustaining)
Oracle UK

_______________________________________________
networking-discuss mailing list
[email protected]
  • [networking-discuss... Brian Ruthven - Solaris Network Sustaining - Oracle UK

Reply via email to