Diff for /embedaddon/libnet/src/libnet_internal.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 22:14:23 version 1.1.1.2, 2013/07/22 11:54:42
Line 40 Line 40
 #endif  #endif
   
 void  void
libnet_diag_dump_hex(u_int8_t *packet, u_int32_t len, int swap, FILE *stream)libnet_diag_dump_hex(const uint8_t *packet, uint32_t len, int swap, FILE *stream)
 {  {
     int i, s_cnt;      int i, s_cnt;
    u_int16_t *p;    uint16_t *p;
   
    p     = (u_int16_t *)packet;    p     = (uint16_t *)packet;
    s_cnt = len / sizeof(u_int16_t);    s_cnt = len / sizeof(uint16_t);
   
     fprintf(stream, "\t");      fprintf(stream, "\t");
     for (i = 0; --s_cnt >= 0; i++)      for (i = 0; --s_cnt >= 0; i++)
Line 67  libnet_diag_dump_hex(u_int8_t *packet, u_int32_t len,  Line 67  libnet_diag_dump_hex(u_int8_t *packet, u_int32_t len, 
         {          {
             fprintf(stream, "\n%02x\t", (i * 2));              fprintf(stream, "\n%02x\t", (i * 2));
         }          }
        fprintf(stream, "%02x ", *(u_int8_t *)p);        fprintf(stream, "%02x ", *(uint8_t *)p);
     }      }
     fprintf(stream, "\n");      fprintf(stream, "\n");
 }  }
Line 115  libnet_diag_dump_context(libnet_t *l) Line 115  libnet_diag_dump_context(libnet_t *l)
     fprintf(stderr, "link offset:\t%d\n", l->link_offset);      fprintf(stderr, "link offset:\t%d\n", l->link_offset);
     fprintf(stderr, "aligner:\t%d\n", l->aligner);      fprintf(stderr, "aligner:\t%d\n", l->aligner);
     fprintf(stderr, "device:\t\t%s\n", l->device);      fprintf(stderr, "device:\t\t%s\n", l->device);
    fprintf(stderr, "packets sent:\t%lld\n", l->stats.packets_sent);    fprintf(stderr, "packets sent:\t%lld\n", (long long int)l->stats.packets_sent);
    fprintf(stderr, "packet errors:\t%lld\n", l->stats.packet_errors);    fprintf(stderr, "packet errors:\t%lld\n", (long long int)l->stats.packet_errors);
    fprintf(stderr, "bytes written:\t%lld\n", l->stats.bytes_written);    fprintf(stderr, "bytes written:\t%lld\n", (long long int)l->stats.bytes_written);
     fprintf(stderr, "ptag state:\t%d\n", l->ptag_state);      fprintf(stderr, "ptag state:\t%d\n", l->ptag_state);
     fprintf(stderr, "context label:\t%s\n", l->label);      fprintf(stderr, "context label:\t%s\n", l->label);
     fprintf(stderr, "last errbuf:\t%s\n", l->err_buf);      fprintf(stderr, "last errbuf:\t%s\n", l->err_buf);
Line 127  libnet_diag_dump_context(libnet_t *l) Line 127  libnet_diag_dump_context(libnet_t *l)
 void  void
 libnet_diag_dump_pblock(libnet_t *l)  libnet_diag_dump_pblock(libnet_t *l)
 {  {
    u_int32_t n;    uint32_t n;
     libnet_pblock_t *p;      libnet_pblock_t *p;
   
     for (p = l->protocol_blocks; p; p = p->next)      for (p = l->protocol_blocks; p; p = p->next)
Line 135  libnet_diag_dump_pblock(libnet_t *l) Line 135  libnet_diag_dump_pblock(libnet_t *l)
         fprintf(stderr, "pblock type:\t%s\n",           fprintf(stderr, "pblock type:\t%s\n", 
                 libnet_diag_dump_pblock_type(p->type));                  libnet_diag_dump_pblock_type(p->type));
         fprintf(stderr, "ptag number:\t%d\n", p->ptag);          fprintf(stderr, "ptag number:\t%d\n", p->ptag);
         fprintf(stderr, "IP offset:\t%d\n", p->ip_offset);  
         fprintf(stderr, "pblock address:\t%p\n", p);          fprintf(stderr, "pblock address:\t%p\n", p);
         fprintf(stderr, "next pblock\t%p ", p->next);          fprintf(stderr, "next pblock\t%p ", p->next);
         if (p->next)          if (p->next)
Line 171  libnet_diag_dump_pblock(libnet_t *l) Line 170  libnet_diag_dump_pblock(libnet_t *l)
 }  }
   
 char *  char *
libnet_diag_dump_pblock_type(u_int8_t type)libnet_diag_dump_pblock_type(uint8_t type)
 {  {
     static int8_t buf[50];  
     switch (type)      switch (type)
     {      {
           /* below text can be regenerated using ./map-pblock-types */
         case LIBNET_PBLOCK_ARP_H:          case LIBNET_PBLOCK_ARP_H:
            return ("arp header");            return ("arp");
         case LIBNET_PBLOCK_DHCPV4_H:          case LIBNET_PBLOCK_DHCPV4_H:
            return ("dhcpv4 header");            return ("dhcpv4");
         case LIBNET_PBLOCK_DNSV4_H:          case LIBNET_PBLOCK_DNSV4_H:
            return ("dnsv4 header");            return ("dnsv4");
         case LIBNET_PBLOCK_ETH_H:          case LIBNET_PBLOCK_ETH_H:
            return ("ethernet header");            return ("eth");
         case LIBNET_PBLOCK_ICMPV4_H:          case LIBNET_PBLOCK_ICMPV4_H:
            return ("icmpv4 header");            return ("icmpv4");
         case LIBNET_PBLOCK_ICMPV4_ECHO_H:          case LIBNET_PBLOCK_ICMPV4_ECHO_H:
            return ("icmpv4 echo header");            return ("icmpv4_echo");
         case LIBNET_PBLOCK_ICMPV4_MASK_H:          case LIBNET_PBLOCK_ICMPV4_MASK_H:
            return ("icmpv4 mask header");            return ("icmpv4_mask");
         case LIBNET_PBLOCK_ICMPV4_UNREACH_H:          case LIBNET_PBLOCK_ICMPV4_UNREACH_H:
            return ("icmpv4 unreachable header");            return ("icmpv4_unreach");
         case LIBNET_PBLOCK_ICMPV4_TIMXCEED_H:          case LIBNET_PBLOCK_ICMPV4_TIMXCEED_H:
            return ("icmpv4 time exceeded header");            return ("icmpv4_timxceed");
         case LIBNET_PBLOCK_ICMPV4_REDIRECT_H:          case LIBNET_PBLOCK_ICMPV4_REDIRECT_H:
            return ("icmpv4 redirect header");            return ("icmpv4_redirect");
         case LIBNET_PBLOCK_ICMPV4_TS_H:          case LIBNET_PBLOCK_ICMPV4_TS_H:
            return ("icmpv4 timestamp header");            return ("icmpv4_ts");
         case LIBNET_PBLOCK_IGMP_H:          case LIBNET_PBLOCK_IGMP_H:
            return ("igmp header");            return ("igmp");
         case LIBNET_PBLOCK_IPV4_H:          case LIBNET_PBLOCK_IPV4_H:
            return ("ipv4 header");            return ("ipv4");
         case LIBNET_PBLOCK_IPO_H:          case LIBNET_PBLOCK_IPO_H:
            return ("ip options header");            return ("ipo");
         case LIBNET_PBLOCK_IPDATA:          case LIBNET_PBLOCK_IPDATA:
            return ("ip data");            return ("ipdata");
         case LIBNET_PBLOCK_OSPF_H:          case LIBNET_PBLOCK_OSPF_H:
            return ("ospf header");            return ("ospf");
         case LIBNET_PBLOCK_OSPF_HELLO_H:          case LIBNET_PBLOCK_OSPF_HELLO_H:
            return ("ospf hello header");            return ("ospf_hello");
         case LIBNET_PBLOCK_OSPF_DBD_H:          case LIBNET_PBLOCK_OSPF_DBD_H:
            return ("ospf dbd header");            return ("ospf_dbd");
         case LIBNET_PBLOCK_OSPF_LSR_H:          case LIBNET_PBLOCK_OSPF_LSR_H:
            return ("ospf lsr header");            return ("ospf_lsr");
         case LIBNET_PBLOCK_OSPF_LSU_H:          case LIBNET_PBLOCK_OSPF_LSU_H:
            return ("ospf lsu header");            return ("ospf_lsu");
         case LIBNET_PBLOCK_OSPF_LSA_H:          case LIBNET_PBLOCK_OSPF_LSA_H:
            return ("ospf lsa header");            return ("ospf_lsa");
         case LIBNET_PBLOCK_OSPF_AUTH_H:          case LIBNET_PBLOCK_OSPF_AUTH_H:
            return ("ospf authentication header");            return ("ospf_auth");
         case LIBNET_PBLOCK_OSPF_CKSUM:          case LIBNET_PBLOCK_OSPF_CKSUM:
            return ("ospf checksum");            return ("ospf_cksum");
         case LIBNET_PBLOCK_LS_RTR_H:          case LIBNET_PBLOCK_LS_RTR_H:
            return ("ospf ls rtr header");            return ("ls_rtr");
         case LIBNET_PBLOCK_LS_NET_H:          case LIBNET_PBLOCK_LS_NET_H:
            return ("ospf ls net header");            return ("ls_net");
         case LIBNET_PBLOCK_LS_SUM_H:          case LIBNET_PBLOCK_LS_SUM_H:
            return ("ospf ls sum header");            return ("ls_sum");
         case LIBNET_PBLOCK_LS_AS_EXT_H:          case LIBNET_PBLOCK_LS_AS_EXT_H:
            return ("ospf ls as extension header");            return ("ls_as_ext");
         case LIBNET_PBLOCK_NTP_H:          case LIBNET_PBLOCK_NTP_H:
            return ("ntp header");            return ("ntp");
         case LIBNET_PBLOCK_RIP_H:          case LIBNET_PBLOCK_RIP_H:
            return ("rip header");            return ("rip");
         case LIBNET_PBLOCK_TCP_H:          case LIBNET_PBLOCK_TCP_H:
            return ("tcp header");            return ("tcp");
         case LIBNET_PBLOCK_TCPO_H:          case LIBNET_PBLOCK_TCPO_H:
            return ("tcp options header");            return ("tcpo");
         case LIBNET_PBLOCK_TCPDATA:          case LIBNET_PBLOCK_TCPDATA:
            return ("tcp data");            return ("tcpdata");
         case LIBNET_PBLOCK_UDP_H:          case LIBNET_PBLOCK_UDP_H:
            return ("udp header");            return ("udp");
         case LIBNET_PBLOCK_VRRP_H:          case LIBNET_PBLOCK_VRRP_H:
            return ("vrrp header");            return ("vrrp");
         case LIBNET_PBLOCK_DATA_H:          case LIBNET_PBLOCK_DATA_H:
             return ("data");              return ("data");
         case LIBNET_PBLOCK_CDP_H:          case LIBNET_PBLOCK_CDP_H:
            return ("cdp header");            return ("cdp");
         case LIBNET_PBLOCK_IPSEC_ESP_HDR_H:          case LIBNET_PBLOCK_IPSEC_ESP_HDR_H:
            return ("ipsec esp header");            return ("ipsec_esp_hdr");
         case LIBNET_PBLOCK_IPSEC_ESP_FTR_H:          case LIBNET_PBLOCK_IPSEC_ESP_FTR_H:
            return ("ipsec esp footer");            return ("ipsec_esp_ftr");
         case LIBNET_PBLOCK_IPSEC_AH_H:          case LIBNET_PBLOCK_IPSEC_AH_H:
            return ("ipsec authentication header");            return ("ipsec_ah");
         case LIBNET_PBLOCK_802_1Q_H:          case LIBNET_PBLOCK_802_1Q_H:
            return ("802.1q header");            return ("802_1q");
         case LIBNET_PBLOCK_802_2_H:          case LIBNET_PBLOCK_802_2_H:
            return ("802.2 header");            return ("802_2");
         case LIBNET_PBLOCK_802_2SNAP_H:          case LIBNET_PBLOCK_802_2SNAP_H:
            return ("802.2SNAP header");            return ("802_2snap");
         case LIBNET_PBLOCK_802_3_H:          case LIBNET_PBLOCK_802_3_H:
            return ("802.3 header");            return ("802_3");
         case LIBNET_PBLOCK_STP_CONF_H:          case LIBNET_PBLOCK_STP_CONF_H:
            return ("stp configuration header");            return ("stp_conf");
         case LIBNET_PBLOCK_STP_TCN_H:          case LIBNET_PBLOCK_STP_TCN_H:
            return ("stp tcn header");            return ("stp_tcn");
         case LIBNET_PBLOCK_ISL_H:          case LIBNET_PBLOCK_ISL_H:
            return ("isl header");            return ("isl");
         case LIBNET_PBLOCK_IPV6_H:          case LIBNET_PBLOCK_IPV6_H:
            return ("ipv6 header");            return ("ipv6");
         case LIBNET_PBLOCK_802_1X_H:          case LIBNET_PBLOCK_802_1X_H:
            return ("802.1x header");            return ("802_1x");
         case LIBNET_PBLOCK_RPC_CALL_H:          case LIBNET_PBLOCK_RPC_CALL_H:
            return ("rpc call header");            return ("rpc_call");
         case LIBNET_PBLOCK_MPLS_H:          case LIBNET_PBLOCK_MPLS_H:
            return ("mlps header");            return ("mpls");
         case LIBNET_PBLOCK_FDDI_H:          case LIBNET_PBLOCK_FDDI_H:
            return ("fddi header");            return ("fddi");
         case LIBNET_PBLOCK_TOKEN_RING_H:          case LIBNET_PBLOCK_TOKEN_RING_H:
            return ("token ring header");            return ("token_ring");
         case LIBNET_PBLOCK_BGP4_HEADER_H:          case LIBNET_PBLOCK_BGP4_HEADER_H:
            return ("bgp header");            return ("bgp4_header");
         case LIBNET_PBLOCK_BGP4_OPEN_H:          case LIBNET_PBLOCK_BGP4_OPEN_H:
            return ("bgp open header");            return ("bgp4_open");
         case LIBNET_PBLOCK_BGP4_UPDATE_H:          case LIBNET_PBLOCK_BGP4_UPDATE_H:
            return ("bgp update header");            return ("bgp4_update");
         case LIBNET_PBLOCK_BGP4_NOTIFICATION_H:          case LIBNET_PBLOCK_BGP4_NOTIFICATION_H:
            return ("bgp notification header");            return ("bgp4_notification");
         case LIBNET_PBLOCK_GRE_H:          case LIBNET_PBLOCK_GRE_H:
            return ("gre header");            return ("gre");
         case LIBNET_PBLOCK_GRE_SRE_H:          case LIBNET_PBLOCK_GRE_SRE_H:
            return ("gre sre header");            return ("gre_sre");
         case LIBNET_PBLOCK_IPV6_FRAG_H:          case LIBNET_PBLOCK_IPV6_FRAG_H:
            return ("ipv6 fragmentation header");            return ("ipv6_frag");
         case LIBNET_PBLOCK_IPV6_ROUTING_H:          case LIBNET_PBLOCK_IPV6_ROUTING_H:
            return ("ipv6 routing header");            return ("ipv6_routing");
         case LIBNET_PBLOCK_IPV6_DESTOPTS_H:          case LIBNET_PBLOCK_IPV6_DESTOPTS_H:
            return ("ipv6 destination options header");            return ("ipv6_destopts");
         case LIBNET_PBLOCK_IPV6_HBHOPTS_H:          case LIBNET_PBLOCK_IPV6_HBHOPTS_H:
            return ("ipv6 hop by hop options header");            return ("ipv6_hbhopts");
        default:        case LIBNET_PBLOCK_SEBEK_H:
            snprintf(buf, sizeof(buf),            return ("sebek");
                    "%s(): unknown pblock type: %d", __func__, type);        case LIBNET_PBLOCK_HSRP_H:
            return (buf);            return ("hsrp");
         case LIBNET_PBLOCK_ICMPV6_H:
             return ("icmpv6");
         case LIBNET_PBLOCK_ICMPV6_UNREACH_H:
             return ("icmpv6_unreach");
         case LIBNET_PBLOCK_ICMPV6_NDP_NSOL_H:
             return ("icmpv6_ndp_nsol");
         case LIBNET_PBLOCK_ICMPV6_NDP_NADV_H:
             return ("icmpv6_ndp_nadv");
         case LIBNET_PBLOCK_ICMPV6_NDP_OPT_H:
             return ("icmpv6_ndp_opt");
     }      }
    return ("unreachable code");    return ("unrecognized pblock");
 }  }
/* EOF */

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>