anchor.diff:  expand(Pkt = #ipv4{options=Opts}) when is_list(Opts) ->
       expand(Pkt#ipv4{options=encode_options(Opts)});
   expand(Pkt = #ipv4{hlen=H, options=Opts}) when not is_integer(H), is_binary(Opts) ->
  -    expand(Pkt#ipv4{hlen=5 + (byte_size(Opts) div 4)});
  +    expand(Pkt#ipv4{hlen=?IP_MIN_HDR_LEN + (byte_size(Opts) div 4)});
   expand(Pkt = #ipv4{flags=Flags}) when is_list(Flags) ->
       expand(Pkt#ipv4{flags=encode_flags(Flags)});
   expand(Pkt = #ipv4{src=Src}) when not (is_binary(Src) andalso byte_size(Src) =:= 4) ->
  
positive.code:     decode_options(Rest, [#ipv4_opt{type=decode_option_type(Class, Number),
                                      copy=Copy, data=Data} | Acc]).
  
  encode_options([]) ->
      <<>>.
  
  check_header_checksum(Dgram,HLen,HdrChkSum) when is_binary(Dgram),
                                                   is_integer(HLen),
  
negative.code: -include("types.hrl").
  -define(IP_VERSION, 4).
  -define(IP_MIN_HDR_LEN, 5).
  
  -include_lib("eunit/include/eunit.hrl").
  
  %%====================================================================
  %% API
  