]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-sflow.c
Add CAP_FCNTL and use cap_fcntls_limit().
[tcpdump] / print-sflow.c
index cad42c129154998c913cc75df06fb0bca691d15b..da72848d15f71adb64b089bb8ed4a616faefd2b8 100644 (file)
  */
 
 struct sflow_datagram_t {
-    u_int8_t   version[4];
-    u_int8_t   ip_version[4];
-    u_int8_t   agent[4];
-    u_int8_t   agent_id[4];
-    u_int8_t   seqnum[4];
-    u_int8_t   uptime[4];
-    u_int8_t   samples[4];
+    uint8_t    version[4];
+    uint8_t    ip_version[4];
+    uint8_t    agent[4];
+    uint8_t    agent_id[4];
+    uint8_t    seqnum[4];
+    uint8_t    uptime[4];
+    uint8_t    samples[4];
 };
 
 struct sflow_sample_header {
-    u_int8_t   format[4];
-    u_int8_t   len[4];
+    uint8_t    format[4];
+    uint8_t    len[4];
 };
 
 #define                SFLOW_FLOW_SAMPLE               1
@@ -82,29 +82,29 @@ static const struct tok sflow_format_values[] = {
 };
 
 struct sflow_flow_sample_t {
-    u_int8_t    seqnum[4];
-    u_int8_t    typesource[4];
-    u_int8_t    rate[4];
-    u_int8_t    pool[4];
-    u_int8_t    drops[4];
-    u_int8_t    in_interface[4];
-    u_int8_t    out_interface[4];
-    u_int8_t    records[4];
+    uint8_t    seqnum[4];
+    uint8_t    typesource[4];
+    uint8_t    rate[4];
+    uint8_t    pool[4];
+    uint8_t    drops[4];
+    uint8_t    in_interface[4];
+    uint8_t    out_interface[4];
+    uint8_t    records[4];
 
 };
 
 struct sflow_expanded_flow_sample_t {
-    u_int8_t    seqnum[4];
-    u_int8_t    type[4];
-    u_int8_t    index[4];
-    u_int8_t    rate[4];
-    u_int8_t    pool[4];
-    u_int8_t    drops[4];
-    u_int8_t    in_interface_format[4];
-    u_int8_t    in_interface_value[4];
-    u_int8_t    out_interface_format[4];
-    u_int8_t    out_interface_value[4];
-    u_int8_t    records[4];
+    uint8_t    seqnum[4];
+    uint8_t    type[4];
+    uint8_t    index[4];
+    uint8_t    rate[4];
+    uint8_t    pool[4];
+    uint8_t    drops[4];
+    uint8_t    in_interface_format[4];
+    uint8_t    in_interface_value[4];
+    uint8_t    out_interface_format[4];
+    uint8_t    out_interface_value[4];
+    uint8_t    records[4];
 };
 
 #define        SFLOW_FLOW_RAW_PACKET                   1
@@ -156,47 +156,47 @@ static const struct tok sflow_flow_raw_protocol_values[] = {
 };
 
 struct sflow_expanded_flow_raw_t {
-    u_int8_t    protocol[4];
-    u_int8_t    length[4];
-    u_int8_t    stripped_bytes[4];
-    u_int8_t    header_size[4];
+    uint8_t    protocol[4];
+    uint8_t    length[4];
+    uint8_t    stripped_bytes[4];
+    uint8_t    header_size[4];
 };
 
 struct sflow_ethernet_frame_t {
-    u_int8_t length[4];
-    u_int8_t src_mac[8];
-    u_int8_t dst_mac[8];
-    u_int8_t type[4];
+    uint8_t length[4];
+    uint8_t src_mac[8];
+    uint8_t dst_mac[8];
+    uint8_t type[4];
 };
 
 struct sflow_extended_switch_data_t {
-    u_int8_t src_vlan[4];
-    u_int8_t src_pri[4];
-    u_int8_t dst_vlan[4];
-    u_int8_t dst_pri[4];
+    uint8_t src_vlan[4];
+    uint8_t src_pri[4];
+    uint8_t dst_vlan[4];
+    uint8_t dst_pri[4];
 };
 
 struct sflow_counter_record_t {
-    u_int8_t    format[4];
-    u_int8_t    length[4];
+    uint8_t    format[4];
+    uint8_t    length[4];
 };
 
 struct sflow_flow_record_t {
-    u_int8_t    format[4];
-    u_int8_t    length[4];
+    uint8_t    format[4];
+    uint8_t    length[4];
 };
 
 struct sflow_counter_sample_t {
-    u_int8_t    seqnum[4];
-    u_int8_t    typesource[4];
-    u_int8_t    records[4];
+    uint8_t    seqnum[4];
+    uint8_t    typesource[4];
+    uint8_t    records[4];
 };
 
 struct sflow_expanded_counter_sample_t {
-    u_int8_t    seqnum[4];
-    u_int8_t    type[4];
-    u_int8_t    index[4];
-    u_int8_t    records[4];
+    uint8_t    seqnum[4];
+    uint8_t    type[4];
+    uint8_t    index[4];
+    uint8_t    records[4];
 };
 
 #define         SFLOW_COUNTER_GENERIC           1
@@ -232,67 +232,67 @@ static const struct tok sflow_iface_direction_values[] = {
 };
 
 struct sflow_generic_counter_t {
-    u_int8_t    ifindex[4];
-    u_int8_t    iftype[4];
-    u_int8_t    ifspeed[8];
-    u_int8_t    ifdirection[4];
-    u_int8_t    ifstatus[4];
-    u_int8_t    ifinoctets[8];
-    u_int8_t    ifinunicastpkts[4];
-    u_int8_t    ifinmulticastpkts[4];
-    u_int8_t    ifinbroadcastpkts[4];
-    u_int8_t    ifindiscards[4];
-    u_int8_t    ifinerrors[4];
-    u_int8_t    ifinunkownprotos[4];
-    u_int8_t    ifoutoctets[8];
-    u_int8_t    ifoutunicastpkts[4];
-    u_int8_t    ifoutmulticastpkts[4];
-    u_int8_t    ifoutbroadcastpkts[4];
-    u_int8_t    ifoutdiscards[4];
-    u_int8_t    ifouterrors[4];
-    u_int8_t    ifpromiscmode[4];
+    uint8_t    ifindex[4];
+    uint8_t    iftype[4];
+    uint8_t    ifspeed[8];
+    uint8_t    ifdirection[4];
+    uint8_t    ifstatus[4];
+    uint8_t    ifinoctets[8];
+    uint8_t    ifinunicastpkts[4];
+    uint8_t    ifinmulticastpkts[4];
+    uint8_t    ifinbroadcastpkts[4];
+    uint8_t    ifindiscards[4];
+    uint8_t    ifinerrors[4];
+    uint8_t    ifinunkownprotos[4];
+    uint8_t    ifoutoctets[8];
+    uint8_t    ifoutunicastpkts[4];
+    uint8_t    ifoutmulticastpkts[4];
+    uint8_t    ifoutbroadcastpkts[4];
+    uint8_t    ifoutdiscards[4];
+    uint8_t    ifouterrors[4];
+    uint8_t    ifpromiscmode[4];
 };
 
 struct sflow_ethernet_counter_t {
-    u_int8_t    alignerrors[4];
-    u_int8_t    fcserrors[4];
-    u_int8_t    single_collision_frames[4];
-    u_int8_t    multiple_collision_frames[4];
-    u_int8_t    test_errors[4];
-    u_int8_t    deferred_transmissions[4];
-    u_int8_t    late_collisions[4];
-    u_int8_t    excessive_collisions[4];
-    u_int8_t    mac_transmit_errors[4];
-    u_int8_t    carrier_sense_errors[4];
-    u_int8_t    frame_too_longs[4];
-    u_int8_t    mac_receive_errors[4];
-    u_int8_t    symbol_errors[4];
+    uint8_t    alignerrors[4];
+    uint8_t    fcserrors[4];
+    uint8_t    single_collision_frames[4];
+    uint8_t    multiple_collision_frames[4];
+    uint8_t    test_errors[4];
+    uint8_t    deferred_transmissions[4];
+    uint8_t    late_collisions[4];
+    uint8_t    excessive_collisions[4];
+    uint8_t    mac_transmit_errors[4];
+    uint8_t    carrier_sense_errors[4];
+    uint8_t    frame_too_longs[4];
+    uint8_t    mac_receive_errors[4];
+    uint8_t    symbol_errors[4];
 };
 
 struct sflow_100basevg_counter_t {
-    u_int8_t    in_highpriority_frames[4];
-    u_int8_t    in_highpriority_octets[8];
-    u_int8_t    in_normpriority_frames[4];
-    u_int8_t    in_normpriority_octets[8];
-    u_int8_t    in_ipmerrors[4];
-    u_int8_t    in_oversized[4];
-    u_int8_t    in_data_errors[4];
-    u_int8_t    in_null_addressed_frames[4];
-    u_int8_t    out_highpriority_frames[4];
-    u_int8_t    out_highpriority_octets[8];
-    u_int8_t    transitioninto_frames[4];
-    u_int8_t    hc_in_highpriority_octets[8];
-    u_int8_t    hc_in_normpriority_octets[8];
-    u_int8_t    hc_out_highpriority_octets[8];
+    uint8_t    in_highpriority_frames[4];
+    uint8_t    in_highpriority_octets[8];
+    uint8_t    in_normpriority_frames[4];
+    uint8_t    in_normpriority_octets[8];
+    uint8_t    in_ipmerrors[4];
+    uint8_t    in_oversized[4];
+    uint8_t    in_data_errors[4];
+    uint8_t    in_null_addressed_frames[4];
+    uint8_t    out_highpriority_frames[4];
+    uint8_t    out_highpriority_octets[8];
+    uint8_t    transitioninto_frames[4];
+    uint8_t    hc_in_highpriority_octets[8];
+    uint8_t    hc_in_normpriority_octets[8];
+    uint8_t    hc_out_highpriority_octets[8];
 };
 
 struct sflow_vlan_counter_t {
-    u_int8_t    vlan_id[4];
-    u_int8_t    octets[8];
-    u_int8_t    unicast_pkt[4];
-    u_int8_t    multicast_pkt[4];
-    u_int8_t    broadcast_pkt[4];
-    u_int8_t    discards[4];
+    uint8_t    vlan_id[4];
+    uint8_t    octets[8];
+    uint8_t    unicast_pkt[4];
+    uint8_t    multicast_pkt[4];
+    uint8_t    broadcast_pkt[4];
+    uint8_t    discards[4];
 };
 
 static int
@@ -437,11 +437,11 @@ print_sflow_counter_vlan(netdissect_options *ndo,
 }
 
 struct sflow_processor_counter_t {
-    u_int8_t five_sec_util[4];
-    u_int8_t one_min_util[4];
-    u_int8_t five_min_util[4];
-    u_int8_t total_memory[8];
-    u_int8_t free_memory[8];
+    uint8_t five_sec_util[4];
+    uint8_t one_min_util[4];
+    uint8_t five_min_util[4];
+    uint8_t total_memory[8];
+    uint8_t free_memory[8];
 };
 
 static int
@@ -825,8 +825,8 @@ sflow_print(netdissect_options *ndo,
 
     const u_char *tptr;
     u_int tlen;
-    u_int32_t sflow_sample_type, sflow_sample_len;
-    u_int32_t nsamples;
+    uint32_t sflow_sample_type, sflow_sample_len;
+    uint32_t nsamples;
 
 
     tptr = pptr;