Ethereal-dev: [Ethereal-dev] calling upper layer dissector

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "bunty " <bunty123_4@xxxxxxxxxxxxxx>
Date: 9 May 2005 02:14:25 -0000

 
hello,
  I am confused about code given in pacekt-ip.c.
      if (!dissector_try_port(ip_dissector_table, nxt, next_tvb, pinfo, tree)) {
    /* Unknown protocol */
    if (update_col_info) {
      if (check_col(pinfo->cinfo, COL_INFO))
        col_add_fstr(pinfo->cinfo, COL_INFO, "%s (0x%02x)", ipprotostr(iph->ip_p), iph->ip_p);
    }
    call_dissector(data_handle,next_tvb, pinfo, tree);
  }
    I know that to call upper layer dissector routine call_dissector used but why its always in if condition calling dissector_try_port?
  What purpose dissector_try_port is used?
thanks in advance.
regards,
bunty.