# coding: utf-8

"""
IpEndpointStatistics.py

 The Clear BSD License

 Copyright (c) – 2016, NetApp, Inc. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

 * Neither the name of NetApp, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

 NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""

from pprint import pformat
from six import iteritems


class IpEndpointStatistics(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self):
        """
        IpEndpointStatistics - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {
            'interfaces': 'list[str]',  # (required parameter)
            'ipv4_received_pdus': 'int',  # (required parameter)
            'ipv4_sent_pdus': 'int',  # (required parameter)
            'ipv4_reassembled_packets': 'int',  # (required parameter)
            'ipv4_fragmentation': 'int',  # (required parameter)
            'ipv4_fragmented_pdus_creates': 'int',  # (required parameter)
            'ipv4_tx_byte_count': 'int',  # (required parameter)
            'ipv4_rx_byte_count': 'int',  # (required parameter)
            'ipv4_rx_error_count': 'int',  # (required parameter)
            'ipv4_overlapped_frag_count': 'int',  # (required parameter)
            'ipv4_out_of_order_frag_count': 'int',  # (required parameter)
            'ipv4_timeout_count': 'int',  # (required parameter)
            'ipv6_received_pdus': 'int',  # (required parameter)
            'ipv6_sent_pdus': 'int',  # (required parameter)
            'ipv6_reassembled_packets': 'int',  # (required parameter)
            'ipv6_fragmentation': 'int',  # (required parameter)
            'ipv6_fragmented_pdus_creates': 'int',  # (required parameter)
            'ipv6_tx_byte_count': 'int',  # (required parameter)
            'ipv6_rx_byte_count': 'int',  # (required parameter)
            'ipv6_rx_error_count': 'int',  # (required parameter)
            'ipv6_overlapped_frag_count': 'int',  # (required parameter)
            'ipv6_out_of_order_frag_count': 'int',  # (required parameter)
            'ipv6_timeout_count': 'int'
        }

        self.attribute_map = {
            'interfaces': 'interfaces',  # (required parameter)
            'ipv4_received_pdus': 'ipv4ReceivedPdus',  # (required parameter)
            'ipv4_sent_pdus': 'ipv4SentPdus',  # (required parameter)
            'ipv4_reassembled_packets': 'ipv4ReassembledPackets',  # (required parameter)
            'ipv4_fragmentation': 'ipv4Fragmentation',  # (required parameter)
            'ipv4_fragmented_pdus_creates': 'ipv4FragmentedPdusCreates',  # (required parameter)
            'ipv4_tx_byte_count': 'ipv4TxByteCount',  # (required parameter)
            'ipv4_rx_byte_count': 'ipv4RxByteCount',  # (required parameter)
            'ipv4_rx_error_count': 'ipv4RxErrorCount',  # (required parameter)
            'ipv4_overlapped_frag_count': 'ipv4OverlappedFragCount',  # (required parameter)
            'ipv4_out_of_order_frag_count': 'ipv4OutOfOrderFragCount',  # (required parameter)
            'ipv4_timeout_count': 'ipv4TimeoutCount',  # (required parameter)
            'ipv6_received_pdus': 'ipv6ReceivedPdus',  # (required parameter)
            'ipv6_sent_pdus': 'ipv6SentPdus',  # (required parameter)
            'ipv6_reassembled_packets': 'ipv6ReassembledPackets',  # (required parameter)
            'ipv6_fragmentation': 'ipv6Fragmentation',  # (required parameter)
            'ipv6_fragmented_pdus_creates': 'ipv6FragmentedPdusCreates',  # (required parameter)
            'ipv6_tx_byte_count': 'ipv6TxByteCount',  # (required parameter)
            'ipv6_rx_byte_count': 'ipv6RxByteCount',  # (required parameter)
            'ipv6_rx_error_count': 'ipv6RxErrorCount',  # (required parameter)
            'ipv6_overlapped_frag_count': 'ipv6OverlappedFragCount',  # (required parameter)
            'ipv6_out_of_order_frag_count': 'ipv6OutOfOrderFragCount',  # (required parameter)
            'ipv6_timeout_count': 'ipv6TimeoutCount'
        }

        self._interfaces = None
        self._ipv4_received_pdus = None
        self._ipv4_sent_pdus = None
        self._ipv4_reassembled_packets = None
        self._ipv4_fragmentation = None
        self._ipv4_fragmented_pdus_creates = None
        self._ipv4_tx_byte_count = None
        self._ipv4_rx_byte_count = None
        self._ipv4_rx_error_count = None
        self._ipv4_overlapped_frag_count = None
        self._ipv4_out_of_order_frag_count = None
        self._ipv4_timeout_count = None
        self._ipv6_received_pdus = None
        self._ipv6_sent_pdus = None
        self._ipv6_reassembled_packets = None
        self._ipv6_fragmentation = None
        self._ipv6_fragmented_pdus_creates = None
        self._ipv6_tx_byte_count = None
        self._ipv6_rx_byte_count = None
        self._ipv6_rx_error_count = None
        self._ipv6_overlapped_frag_count = None
        self._ipv6_out_of_order_frag_count = None
        self._ipv6_timeout_count = None

    @property
    def interfaces(self):
        """
        Gets the interfaces of this IpEndpointStatistics.
        The interface(s) for which the statistics apply. In some cases, the statistics may be aggregated across multiple interfaces. Even though this is shown as an array, it will only be a single instance.

        :return: The interfaces of this IpEndpointStatistics.
        :rtype: list[str]
        :required/optional: required
        """
        return self._interfaces

    @interfaces.setter
    def interfaces(self, interfaces):
        """
        Sets the interfaces of this IpEndpointStatistics.
        The interface(s) for which the statistics apply. In some cases, the statistics may be aggregated across multiple interfaces. Even though this is shown as an array, it will only be a single instance.

        :param interfaces: The interfaces of this IpEndpointStatistics.
        :type: list[str]
        """
        self._interfaces = interfaces

    @property
    def ipv4_received_pdus(self):
        """
        Gets the ipv4_received_pdus of this IpEndpointStatistics.
        The number of IPV4 input datagrams received.

        :return: The ipv4_received_pdus of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_received_pdus

    @ipv4_received_pdus.setter
    def ipv4_received_pdus(self, ipv4_received_pdus):
        """
        Sets the ipv4_received_pdus of this IpEndpointStatistics.
        The number of IPV4 input datagrams received.

        :param ipv4_received_pdus: The ipv4_received_pdus of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_received_pdus = ipv4_received_pdus

    @property
    def ipv4_sent_pdus(self):
        """
        Gets the ipv4_sent_pdus of this IpEndpointStatistics.
        The number of IPV4 output datagrams sent.

        :return: The ipv4_sent_pdus of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_sent_pdus

    @ipv4_sent_pdus.setter
    def ipv4_sent_pdus(self, ipv4_sent_pdus):
        """
        Sets the ipv4_sent_pdus of this IpEndpointStatistics.
        The number of IPV4 output datagrams sent.

        :param ipv4_sent_pdus: The ipv4_sent_pdus of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_sent_pdus = ipv4_sent_pdus

    @property
    def ipv4_reassembled_packets(self):
        """
        Gets the ipv4_reassembled_packets of this IpEndpointStatistics.
        The number of IPV4 datagrams successfully reassembled.

        :return: The ipv4_reassembled_packets of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_reassembled_packets

    @ipv4_reassembled_packets.setter
    def ipv4_reassembled_packets(self, ipv4_reassembled_packets):
        """
        Sets the ipv4_reassembled_packets of this IpEndpointStatistics.
        The number of IPV4 datagrams successfully reassembled.

        :param ipv4_reassembled_packets: The ipv4_reassembled_packets of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_reassembled_packets = ipv4_reassembled_packets

    @property
    def ipv4_fragmentation(self):
        """
        Gets the ipv4_fragmentation of this IpEndpointStatistics.
        The number of IPV4 packet fragments received.

        :return: The ipv4_fragmentation of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_fragmentation

    @ipv4_fragmentation.setter
    def ipv4_fragmentation(self, ipv4_fragmentation):
        """
        Sets the ipv4_fragmentation of this IpEndpointStatistics.
        The number of IPV4 packet fragments received.

        :param ipv4_fragmentation: The ipv4_fragmentation of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_fragmentation = ipv4_fragmentation

    @property
    def ipv4_fragmented_pdus_creates(self):
        """
        Gets the ipv4_fragmented_pdus_creates of this IpEndpointStatistics.
        The number of IPV4 packet fragments transmitted.

        :return: The ipv4_fragmented_pdus_creates of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_fragmented_pdus_creates

    @ipv4_fragmented_pdus_creates.setter
    def ipv4_fragmented_pdus_creates(self, ipv4_fragmented_pdus_creates):
        """
        Sets the ipv4_fragmented_pdus_creates of this IpEndpointStatistics.
        The number of IPV4 packet fragments transmitted.

        :param ipv4_fragmented_pdus_creates: The ipv4_fragmented_pdus_creates of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_fragmented_pdus_creates = ipv4_fragmented_pdus_creates

    @property
    def ipv4_tx_byte_count(self):
        """
        Gets the ipv4_tx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes transmitted in IPV4 packets.

        :return: The ipv4_tx_byte_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_tx_byte_count

    @ipv4_tx_byte_count.setter
    def ipv4_tx_byte_count(self, ipv4_tx_byte_count):
        """
        Sets the ipv4_tx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes transmitted in IPV4 packets.

        :param ipv4_tx_byte_count: The ipv4_tx_byte_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_tx_byte_count = ipv4_tx_byte_count

    @property
    def ipv4_rx_byte_count(self):
        """
        Gets the ipv4_rx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes received in IPV4 packets.

        :return: The ipv4_rx_byte_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_rx_byte_count

    @ipv4_rx_byte_count.setter
    def ipv4_rx_byte_count(self, ipv4_rx_byte_count):
        """
        Sets the ipv4_rx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes received in IPV4 packets.

        :param ipv4_rx_byte_count: The ipv4_rx_byte_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_rx_byte_count = ipv4_rx_byte_count

    @property
    def ipv4_rx_error_count(self):
        """
        Gets the ipv4_rx_error_count of this IpEndpointStatistics.
        # of IPV4 packets received with errors

        :return: The ipv4_rx_error_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_rx_error_count

    @ipv4_rx_error_count.setter
    def ipv4_rx_error_count(self, ipv4_rx_error_count):
        """
        Sets the ipv4_rx_error_count of this IpEndpointStatistics.
        # of IPV4 packets received with errors

        :param ipv4_rx_error_count: The ipv4_rx_error_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_rx_error_count = ipv4_rx_error_count

    @property
    def ipv4_overlapped_frag_count(self):
        """
        Gets the ipv4_overlapped_frag_count of this IpEndpointStatistics.
        The number of IPV4 datagrams with fragments that overlapped.

        :return: The ipv4_overlapped_frag_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_overlapped_frag_count

    @ipv4_overlapped_frag_count.setter
    def ipv4_overlapped_frag_count(self, ipv4_overlapped_frag_count):
        """
        Sets the ipv4_overlapped_frag_count of this IpEndpointStatistics.
        The number of IPV4 datagrams with fragments that overlapped.

        :param ipv4_overlapped_frag_count: The ipv4_overlapped_frag_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_overlapped_frag_count = ipv4_overlapped_frag_count

    @property
    def ipv4_out_of_order_frag_count(self):
        """
        Gets the ipv4_out_of_order_frag_count of this IpEndpointStatistics.
        The number of IPV4 datagrams with fragments received that were out of order.

        :return: The ipv4_out_of_order_frag_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_out_of_order_frag_count

    @ipv4_out_of_order_frag_count.setter
    def ipv4_out_of_order_frag_count(self, ipv4_out_of_order_frag_count):
        """
        Sets the ipv4_out_of_order_frag_count of this IpEndpointStatistics.
        The number of IPV4 datagrams with fragments received that were out of order.

        :param ipv4_out_of_order_frag_count: The ipv4_out_of_order_frag_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_out_of_order_frag_count = ipv4_out_of_order_frag_count

    @property
    def ipv4_timeout_count(self):
        """
        Gets the ipv4_timeout_count of this IpEndpointStatistics.
        The number of timed-out IPV4 datagrams waiting for reassembly.

        :return: The ipv4_timeout_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv4_timeout_count

    @ipv4_timeout_count.setter
    def ipv4_timeout_count(self, ipv4_timeout_count):
        """
        Sets the ipv4_timeout_count of this IpEndpointStatistics.
        The number of timed-out IPV4 datagrams waiting for reassembly.

        :param ipv4_timeout_count: The ipv4_timeout_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv4_timeout_count = ipv4_timeout_count

    @property
    def ipv6_received_pdus(self):
        """
        Gets the ipv6_received_pdus of this IpEndpointStatistics.
        The number of IPV6 input datagrams received.

        :return: The ipv6_received_pdus of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_received_pdus

    @ipv6_received_pdus.setter
    def ipv6_received_pdus(self, ipv6_received_pdus):
        """
        Sets the ipv6_received_pdus of this IpEndpointStatistics.
        The number of IPV6 input datagrams received.

        :param ipv6_received_pdus: The ipv6_received_pdus of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_received_pdus = ipv6_received_pdus

    @property
    def ipv6_sent_pdus(self):
        """
        Gets the ipv6_sent_pdus of this IpEndpointStatistics.
        The number of IPV6output datagrams sent.

        :return: The ipv6_sent_pdus of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_sent_pdus

    @ipv6_sent_pdus.setter
    def ipv6_sent_pdus(self, ipv6_sent_pdus):
        """
        Sets the ipv6_sent_pdus of this IpEndpointStatistics.
        The number of IPV6output datagrams sent.

        :param ipv6_sent_pdus: The ipv6_sent_pdus of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_sent_pdus = ipv6_sent_pdus

    @property
    def ipv6_reassembled_packets(self):
        """
        Gets the ipv6_reassembled_packets of this IpEndpointStatistics.
        The number of IPV6 datagrams successfully reassembled.

        :return: The ipv6_reassembled_packets of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_reassembled_packets

    @ipv6_reassembled_packets.setter
    def ipv6_reassembled_packets(self, ipv6_reassembled_packets):
        """
        Sets the ipv6_reassembled_packets of this IpEndpointStatistics.
        The number of IPV6 datagrams successfully reassembled.

        :param ipv6_reassembled_packets: The ipv6_reassembled_packets of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_reassembled_packets = ipv6_reassembled_packets

    @property
    def ipv6_fragmentation(self):
        """
        Gets the ipv6_fragmentation of this IpEndpointStatistics.
        The number of IPV6packet fragments received.

        :return: The ipv6_fragmentation of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_fragmentation

    @ipv6_fragmentation.setter
    def ipv6_fragmentation(self, ipv6_fragmentation):
        """
        Sets the ipv6_fragmentation of this IpEndpointStatistics.
        The number of IPV6packet fragments received.

        :param ipv6_fragmentation: The ipv6_fragmentation of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_fragmentation = ipv6_fragmentation

    @property
    def ipv6_fragmented_pdus_creates(self):
        """
        Gets the ipv6_fragmented_pdus_creates of this IpEndpointStatistics.
        The number of IPV6 packet fragments transmitted.

        :return: The ipv6_fragmented_pdus_creates of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_fragmented_pdus_creates

    @ipv6_fragmented_pdus_creates.setter
    def ipv6_fragmented_pdus_creates(self, ipv6_fragmented_pdus_creates):
        """
        Sets the ipv6_fragmented_pdus_creates of this IpEndpointStatistics.
        The number of IPV6 packet fragments transmitted.

        :param ipv6_fragmented_pdus_creates: The ipv6_fragmented_pdus_creates of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_fragmented_pdus_creates = ipv6_fragmented_pdus_creates

    @property
    def ipv6_tx_byte_count(self):
        """
        Gets the ipv6_tx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes transmitted in IPV6 packets.

        :return: The ipv6_tx_byte_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_tx_byte_count

    @ipv6_tx_byte_count.setter
    def ipv6_tx_byte_count(self, ipv6_tx_byte_count):
        """
        Sets the ipv6_tx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes transmitted in IPV6 packets.

        :param ipv6_tx_byte_count: The ipv6_tx_byte_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_tx_byte_count = ipv6_tx_byte_count

    @property
    def ipv6_rx_byte_count(self):
        """
        Gets the ipv6_rx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes received in IPV6 packets.

        :return: The ipv6_rx_byte_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_rx_byte_count

    @ipv6_rx_byte_count.setter
    def ipv6_rx_byte_count(self, ipv6_rx_byte_count):
        """
        Sets the ipv6_rx_byte_count of this IpEndpointStatistics.
        The number of data payload bytes received in IPV6 packets.

        :param ipv6_rx_byte_count: The ipv6_rx_byte_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_rx_byte_count = ipv6_rx_byte_count

    @property
    def ipv6_rx_error_count(self):
        """
        Gets the ipv6_rx_error_count of this IpEndpointStatistics.
        The number of IPV6 packets received with errors.

        :return: The ipv6_rx_error_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_rx_error_count

    @ipv6_rx_error_count.setter
    def ipv6_rx_error_count(self, ipv6_rx_error_count):
        """
        Sets the ipv6_rx_error_count of this IpEndpointStatistics.
        The number of IPV6 packets received with errors.

        :param ipv6_rx_error_count: The ipv6_rx_error_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_rx_error_count = ipv6_rx_error_count

    @property
    def ipv6_overlapped_frag_count(self):
        """
        Gets the ipv6_overlapped_frag_count of this IpEndpointStatistics.
        The number of IPV6 datagrams with fragments that overlapped.

        :return: The ipv6_overlapped_frag_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_overlapped_frag_count

    @ipv6_overlapped_frag_count.setter
    def ipv6_overlapped_frag_count(self, ipv6_overlapped_frag_count):
        """
        Sets the ipv6_overlapped_frag_count of this IpEndpointStatistics.
        The number of IPV6 datagrams with fragments that overlapped.

        :param ipv6_overlapped_frag_count: The ipv6_overlapped_frag_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_overlapped_frag_count = ipv6_overlapped_frag_count

    @property
    def ipv6_out_of_order_frag_count(self):
        """
        Gets the ipv6_out_of_order_frag_count of this IpEndpointStatistics.
        The number of IPV6 datagrams with fragments received that were out of order.

        :return: The ipv6_out_of_order_frag_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_out_of_order_frag_count

    @ipv6_out_of_order_frag_count.setter
    def ipv6_out_of_order_frag_count(self, ipv6_out_of_order_frag_count):
        """
        Sets the ipv6_out_of_order_frag_count of this IpEndpointStatistics.
        The number of IPV6 datagrams with fragments received that were out of order.

        :param ipv6_out_of_order_frag_count: The ipv6_out_of_order_frag_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_out_of_order_frag_count = ipv6_out_of_order_frag_count

    @property
    def ipv6_timeout_count(self):
        """
        Gets the ipv6_timeout_count of this IpEndpointStatistics.
        The number of timed-out IPV6 datagrams waiting for reassembly.

        :return: The ipv6_timeout_count of this IpEndpointStatistics.
        :rtype: int
        :required/optional: required
        """
        return self._ipv6_timeout_count

    @ipv6_timeout_count.setter
    def ipv6_timeout_count(self, ipv6_timeout_count):
        """
        Sets the ipv6_timeout_count of this IpEndpointStatistics.
        The number of timed-out IPV6 datagrams waiting for reassembly.

        :param ipv6_timeout_count: The ipv6_timeout_count of this IpEndpointStatistics.
        :type: int
        """
        self._ipv6_timeout_count = ipv6_timeout_count

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}

        for attr, _ in iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value

        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return pformat(self.to_dict())

    def __repr__(self):
        """
        For `print` and `pprint`
        """
        if self is None:
           return None
        return self.to_str()

    def __eq__(self, other):
        """
        Returns true if both objects are equal
        """
        if self is None or other is None:
            return None
        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """
        Returns true if both objects are not equal
        """
        return not self == other

