11use  pcap; 
22
3- use  crate :: net:: parser:: { 
4-     dscp_to_tos,  parse_flags,  parse_microseconds,  parse_ports, 
5- } ; 
3+ use  crate :: net:: parser:: { dscp_to_tos,  parse_flags,  parse_microseconds,  parse_ports} ; 
64use  crate :: net:: NetError ; 
75use  fluereflow:: FluereRecord ; 
6+ use  log:: trace; 
87use  pnet:: packet:: { 
98    arp:: ArpPacket , 
109    ethernet:: { EtherTypes ,  EthernetPacket } , 
@@ -26,6 +25,7 @@ fn decapsulate_vxlan(payload: &[u8]) -> Option<Vec<u8>> {
2625} 
2726
2827pub  fn  parse_fluereflow ( packet :  pcap:: Packet )  -> Result < ( usize ,  [ u8 ;  9 ] ,  FluereRecord ) ,  NetError >  { 
28+     trace ! ( "Parsing packet" ) ; 
2929    if  packet. is_empty ( )  { 
3030        return  Err ( NetError :: EmptyPacket ) ; 
3131    } 
@@ -107,6 +107,7 @@ pub fn parse_fluereflow(packet: pcap::Packet) -> Result<(usize, [u8; 9], FluereR
107107    let  record_result = match  ethernet_packet. get_ethertype ( )  { 
108108        EtherTypes :: Ipv4  => { 
109109            let  i = Ipv4Packet :: new ( ethernet_packet. payload ( ) ) . unwrap ( ) ; 
110+ 
110111            if  i. payload ( ) . is_empty ( )  { 
111112                return  Err ( NetError :: EmptyPacket ) ; 
112113            } 
@@ -129,6 +130,7 @@ pub fn parse_fluereflow(packet: pcap::Packet) -> Result<(usize, [u8; 9], FluereR
129130
130131            arp_packet ( time,  i) 
131132        } 
133+ 
132134        _ => { 
133135            return  Err ( NetError :: UnknownEtherType ( 
134136                ethernet_packet. get_ethertype ( ) . to_string ( ) , 
@@ -195,6 +197,8 @@ fn ipv4_packet(time: u64, packet: Ipv4Packet) -> Result<(usize, [u8; 9], FluereR
195197    let  protocol = packet. get_next_level_protocol ( ) . 0 ; 
196198    let  src_ip = packet. get_source ( ) ; 
197199    let  dst_ip = packet. get_destination ( ) ; 
200+     trace ! ( "src_ip: {:?}" ,  src_ip) ; 
201+     trace ! ( "dst_ip: {:?}" ,  dst_ip) ; 
198202
199203    // ports parsing 
200204    let  ( src_port,  dst_port)  = parse_ports ( protocol,  packet. payload ( ) ) ?; 
0 commit comments