anchor.diff:            ok;
           [{netlink, error, [], _, _, {ErrNo, SubData}}|_] ->
             SubMsg = netlink:nl_ct_dec(SubData),
  -          lager:warning("Errno2 (~p): ~p~n", [ErrNo, SubMsg]);
  +          lager:warning("Errno2 (~p): ~p~n", [ErrNo, SubMsg]),
  +          {error, ErrNo};
           [Msg|_] ->
             {error, Msg};
           Other ->
  
positive.code:         {dst_port, [{min_port, Mapping#mapping.new_dst_port}, {max_port, Mapping#mapping.new_dst_port}]}]}
    ]},
    Msg = [#ctnetlink{type = new, flags = [create, request, ack], seq = Seq, pid = 0, msg = Cmd}],
    Status = nfnl_query2(Socket, Msg),
    case Status of
      {error, Error} ->
        lager:warning("Mapping Status Error: ~p", [Error]);
      _ ->
        lager:debug("Mapping Status: ~p", [Status])
    end.
  
  
negative.code:       gen_socket:socketat(NetNs, Family, Type, Protocol)
    end.
  
  try_mapping(Mapping, Socket) ->
  
    Msg = build_ctnetlink_msg_create(Mapping),
    Status = nfnl_query2(Socket, Msg),
    case Status of
      {error, 2717908991} ->
        retry_mapping(Mapping, Socket);
      {error, Error} ->
        lager:warning("Mapping Status Error: ~p", [Error]);
      _ ->
        lager:debug("Mapping Status: ~p", [Status])
    end.
  
  retry_mapping(Mapping, Socket) ->
    MsgDelete = build_ctnetlink_msg_delete(Mapping),
    _DeleteStatus = nfnl_query2(Socket, MsgDelete),
    MsgCreate = build_ctnetlink_msg_create(Mapping),
    CreateStatus = nfnl_query2(Socket, MsgCreate),
    case CreateStatus of
      {error, Error} ->
        lager:warning("Retried Mapping Status Error: ~p", [Error]);
      _ ->
        lager:debug("Retried Mapping Status: ~p", [CreateStatus])
    end.
  
  build_ctnetlink_msg_delete(Mapping) ->
    Seq = erlang:time_offset() + erlang:monotonic_time(),
    TupleOrig = tuple_orig(Mapping),
    TupleReply = tuple_reply(Mapping),
    Cmd = {inet, 0, 0, [
      TupleOrig,
      TupleReply,
      {protoinfo, [{tcp, []}]}
    ]},
    Msg = [#ctnetlink{type = delete, flags = [request, ack], seq = Seq, pid = 0, msg = Cmd}],
    Msg.
  
  build_ctnetlink_msg_create(Mapping) ->
    Seq = erlang:time_offset() + erlang:monotonic_time(),
    TupleOrig = tuple_orig(Mapping),
    TupleReply = tuple_reply(Mapping),
    Cmd = {inet, 0, 0, [
      TupleOrig,
      TupleReply,
      {timeout, 2},
      {protoinfo, [{tcp, [{state, syn_sent}]}]},
      {nat_src,
  