Hi guys,
           I have a problem about how to use TTL info in RED code segment.Like 
this:
//modify file: red.c
...
/*
 * Make uniform instead of geometric interdrop periods.
 */
double
REDQueue::modify_p(double p, int count, int count_bytes, int bytes, 
   int mean_pktsize, int wait, int size)
{
 double count1 = (double) count;
 if (bytes)
  count1 = (double) (count_bytes/mean_pktsize);
 if (wait) {
  if (count1 * p < 1.0)
   p = 0.0;
  else if (count1 * p < 2.0)
   p /= (2 - count1 * p);
  else
   p = 1.0;
 } else {
  if (count1 * p < 1.0)
   {
    //modification!!!
    //=========================
    p * = (double) ttl() /(double) TTL_START;
    //=========================
    p /= (1.0 - count1 * p);
   }
  else
   p = 1.0;
 }
 if (bytes && p < 1.0) {
  p = p * size / mean_pktsize;
 }
 if (p > 1.0)
  p = 1.0;
  return p;
}

/*
 * 
 */
...

The modification is failed.How to solve this problem?
Thanks!




LuoWeiDong
2006-11-28

Reply via email to