diff --git a/libnetutil/IPv4Header.h b/libnetutil/IPv4Header.h index 83a91e0fd..6adc474dc 100644 --- a/libnetutil/IPv4Header.h +++ b/libnetutil/IPv4Header.h @@ -249,6 +249,7 @@ class IPv4Header : public NetworkLayerElement { u8 getNextProto() const; int setNextHeader(u8 val); u8 getNextHeader() const; + virtual u8 getNextHeader(){return 0;} /* Checksum */ int setSum(); @@ -261,16 +262,18 @@ class IPv4Header : public NetworkLayerElement { int setDestinationAddress(struct in_addr d); const u8 *getDestinationAddress() const; struct in_addr getDestinationAddress(struct in_addr *result) const; - + virtual u8 *getDestinationAddress(){return NULL;} /* Source IP */ int setSourceAddress(u32 d); int setSourceAddress(struct in_addr d); const u8 *getSourceAddress() const; struct in_addr getSourceAddress(struct in_addr *result) const; + virtual u8 *getSourceAddress(){return NULL;} u16 getAddressLength() const; - + virtual u16 getAddressLength(){return 0;} + /* IP Options */ int setOpts(const char *txt); int setOpts(u8 *opts_buff, u32 opts_len); diff --git a/libnetutil/IPv6Header.h b/libnetutil/IPv6Header.h index 7ab47ebcc..b86a3f33c 100644 --- a/libnetutil/IPv6Header.h +++ b/libnetutil/IPv6Header.h @@ -213,7 +213,8 @@ class IPv6Header : public NetworkLayerElement { int setNextHeader(u8 val); int setNextHeader(const char *p); u8 getNextHeader() const; - + virtual u8 getNextHeader(){return 0;} + /* Hop Limit */ int setHopLimit(u8 val); u8 getHopLimit() const; @@ -223,14 +224,17 @@ class IPv6Header : public NetworkLayerElement { int setSourceAddress(struct in6_addr val); const u8 *getSourceAddress() const; struct in6_addr getSourceAddress(struct in6_addr *result) const; - + virtual u8 *getSourceAddress(){return NULL;} + /* Destination Address*/ int setDestinationAddress(u8 *val); int setDestinationAddress(struct in6_addr val); const u8 *getDestinationAddress() const; struct in6_addr getDestinationAddress(struct in6_addr *result) const; + virtual u8 *getDestinationAddress(){return NULL;} u16 getAddressLength() const; + virtual u16 getAddressLength(){return 0;} }; #endif