Cleanup in iosource/Packet

This commit is contained in:
Tim Wojtulewicz 2020-03-06 16:22:01 -07:00
parent c6f7665953
commit ce17a1f38b
2 changed files with 13 additions and 11 deletions

View file

@ -43,16 +43,16 @@ void Packet::Init(int arg_link_type, pkt_timeval *arg_ts, uint32_t arg_caplen,
time = ts.tv_sec + double(ts.tv_usec) / 1e6;
hdr_size = GetLinkHeaderSize(arg_link_type);
l3_proto = L3_UNKNOWN;
eth_type = 0;
vlan = 0;
inner_vlan = 0;
l2_src = 0;
l2_dst = 0;
l2_src = nullptr;
l2_dst = nullptr;
l2_valid = false;
l2_checksummed = false;
l3_proto = L3_UNKNOWN;
l3_checksummed = false;
if ( data && cap_len < hdr_size )

View file

@ -19,8 +19,10 @@ class RecordVal;
/**
* The Layer 3 type of a packet, as determined by the parsing code in Packet.
* This enum is sized as an int32_t to make the Packet structure align
* correctly.
*/
enum Layer3Proto {
enum Layer3Proto : int32_t {
L3_UNKNOWN = -1, /// Layer 3 type could not be determined.
L3_IPV4 = 1, /// Layer 3 is IPv4.
L3_IPV6 = 2, /// Layer 3 is IPv6.
@ -110,7 +112,7 @@ public:
* Returns true if parsing the layer 2 fields failed, including when
* no data was passed into the constructor in the first place.
*/
bool Layer2Valid()
bool Layer2Valid() const
{
return l2_valid;
}
@ -212,14 +214,14 @@ public:
bool l3_checksummed;
private:
// Calculate layer 2 attributes. Sets
// Calculate layer 2 attributes.
void ProcessLayer2();
// Wrapper to generate a packet-level weird.
void Weird(const char* name);
// Renders an MAC address into its ASCII representation.
Val *FmtEUI48(const u_char *mac) const;
Val* FmtEUI48(const u_char *mac) const;
// True if we need to delete associated packet memory upon
// destruction.