1# -*- mode: perl -*-
2# ============================================================================
3
4package Net::SNMP::Transport::IPv6::TCP;
5
6# $Id: TCP.pm,v 3.0 2009/09/09 15:05:33 dtown Rel $
7
8# Object that handles the TCP/IPv6 Transport Domain for the SNMP Engine.
9
10# Copyright (c) 2004-2009 David M. Town <dtown@cpan.org>
11# All rights reserved.
12
13# This program is free software; you may redistribute it and/or modify it
14# under the same terms as the Perl 5 programming language system itself.
15
16# ============================================================================
17
18use strict;
19
20use Net::SNMP::Transport::IPv4::TCP qw( DOMAIN_TCPIPV6 DOMAIN_TCPIPV6Z );
21
22## Version of the Net::SNMP::Transport::IPv6::TCP module
23
24our $VERSION = v3.0.0;
25
26## Handle importing/exporting of symbols
27
28use base qw( Net::SNMP::Transport::IPv6 Net::SNMP::Transport::IPv4::TCP );
29
30## RFC 3411 - snmpEngineMaxMessageSize::=INTEGER (484..2147483647)
31
32sub MSG_SIZE_DEFAULT_TCP6  { 1440 }  # Ethernet(1500) - IPv6(40) - TCP(20)
33
34# [public methods] -----------------------------------------------------------
35
36sub domain
37{
38   return DOMAIN_TCPIPV6; # transportDomainTcpIpv6
39}
40
41sub type
42{
43   return 'TCP/IPv6'; # tcpIpv6(6)
44}
45
46# [private methods] ----------------------------------------------------------
47
48sub _msg_size_default
49{
50   return MSG_SIZE_DEFAULT_TCP6;
51}
52
53sub _tdomain
54{
55   return $_[0]->_scope_id($_[1]) ? DOMAIN_TCPIPV6Z : DOMAIN_TCPIPV6;
56}
57
58# ============================================================================
591; # [end Net::SNMP::Transport::TCP6]
60
61