Class bgp:PeerEntry (CONCRETE)

Class ID:2609
Class Label: BGP Peer Entry
Encrypted: false - Exportable: false - Persistent: true - Configurable: false - Subject to Quota: Disabled - Abstraction Layer: Concrete Model - APIC NX Processing: Disabled
Write Access: [NON CONFIGURABLE]
Read Access: [access-protocol-l3, admin, fabric-protocol-l3, tenant-ext-protocol-l3, tenant-protocol-l3]
Creatable/Deletable: no (see Container Mos for details)
Semantic Scope: Fabric
Semantic Scope Evaluation Rule: Parent
Monitoring Policy Source: Parent
Monitoring Flags : [ IsObservable: true, HasStats: false, HasFaults: true, HasHealth: true, HasEventRules: true ]

The BGP peer status specifies the status of a relationship between BGP speakers. A BGP speaker does not discover another BGP speaker automatically. You must configure the relationships between BGP speakers. A BGP peer is a BGP speaker that has an active TCP connection to another BGP speaker.

Naming Rules
RN FORMAT: ent-{[addr]}

    [1] PREFIX=ent- PROPERTY = addr




DN FORMAT: 

[0] topology/pod-{id}/node-{id}/sys/bgp/inst/dom-{name}/peer-{[addr]}/ent-{[addr]}

[1] sys/bgp/inst/dom-{name}/peer-{[addr]}/ent-{[addr]}

                


Diagram

Super Mo: l3:ProtAdjEp,
Container Mos: bgp:Peer (deletable:no),
Contained Mos: bgp:GrSt, bgp:PeerAfEntry, bgp:PeerEntryStats, bgp:PeerEvents,


Containers Hierarchies
[V] top:Root  This class represents the root element in the object hierarchy. All managed objects in the system are descendants of the Root element.
 ├
[V] fabric:Topology The root for IFC topology.
 
 ├
[V] fabric:Pod A pod.
 
 
 ├
[V] fabric:Node The root node for the APIC.
 
 
 
 ├
[V] top:System The APIC uses a policy model to combine data into a health score. Health scores can be aggregated for a variety of areas such as for the infrastructure, applications, or services. The category health score is calculated using a Lp -Norm formula. The health score penalty equals 100 minus the health score. The health score penalty represents the overall health score penalties of a set of MOs that belong to a given category and are children or direc...
 
 
 
 
 ├
[V] bgp:Entity The BGP control plane entity information.
 
 
 
 
 
 ├
[V] bgp:Inst The per BGP instance information. There is only instance supported in BGP.
 
 
 
 
 
 
 ├
[V] bgp:Dom The object that represents all the BGP domain (VRF) information.
 
 
 
 
 
 
 
 ├
[V] bgp:Peer The BGP information pertaining to a peer.
 
 
 
 
 
 
 
 
 ├
[V] bgp:PeerEntry The BGP peer status specifies the status of a relationship between BGP speakers. A BGP speaker does not discover another BGP speaker automatically. You must configure the relationships between BGP speakers. A BGP peer is a BGP speaker that has an active TCP connection to another BGP speaker.
[V] top:Root  This class represents the root element in the object hierarchy. All managed objects in the system are descendants of the Root element.
 ├
[V] top:System The APIC uses a policy model to combine data into a health score. Health scores can be aggregated for a variety of areas such as for the infrastructure, applications, or services. The category health score is calculated using a Lp -Norm formula. The health score penalty equals 100 minus the health score. The health score penalty represents the overall health score penalties of a set of MOs that belong to a given category and are children or direc...
 
 ├
[V] bgp:Entity The BGP control plane entity information.
 
 
 ├
[V] bgp:Inst The per BGP instance information. There is only instance supported in BGP.
 
 
 
 ├
[V] bgp:Dom The object that represents all the BGP domain (VRF) information.
 
 
 
 
 ├
[V] bgp:Peer The BGP information pertaining to a peer.
 
 
 
 
 
 ├
[V] bgp:PeerEntry The BGP peer status specifies the status of a relationship between BGP speakers. A BGP speaker does not discover another BGP speaker automatically. You must configure the relationships between BGP speakers. A BGP peer is a BGP speaker that has an active TCP connection to another BGP speaker.


Contained Hierarchy
[V] bgp:PeerEntry The BGP peer status specifies the status of a relationship between BGP speakers. A BGP speaker does not discover another BGP speaker automatically. You must configure the relationships between BGP speakers. A BGP peer is a BGP speaker that has an active TCP connection to another BGP speaker.
 ├
[V] bgp:GrSt The per-neighbor graceful restart operational information.
 ├
[V] bgp:PeerAfEntry The operational status information for a BGP peer address family. Each address family maintains a separate BGP database, which allows you to configure BGP policy on per-address family basis.
 
 ├
[V] fault:Counts An immutable object that provides the number of critical, major, minor, and warning faults raised on its parent object and its subtree.
 
 ├
[V] fault:Inst Contains detailed information of a fault. This object is attached as a child of the object on which the fault condition occurred. One instance object is created for each fault condition of the parent object. A fault instance object is identified by a fault code.
 
 
 ├
[V] aaa:RbacAnnotation  RbacAnnotation is used for capturing rbac properties of any apic object Objects can append rbacannotations as Object->RbacAnnotation which is then checked for domain eligibility
 
 
 ├
[V] tag:Annotation 
 
 
 ├
[V] tag:Tag 
 
 ├
[V] health:Inst A base class for a health score instance.(Switch only)
 ├
[V] bgp:PeerEntryStats The BGP peer statistics operational information.
 
 ├
[V] fault:Counts An immutable object that provides the number of critical, major, minor, and warning faults raised on its parent object and its subtree.
 
 ├
[V] fault:Inst Contains detailed information of a fault. This object is attached as a child of the object on which the fault condition occurred. One instance object is created for each fault condition of the parent object. A fault instance object is identified by a fault code.
 
 
 ├
[V] aaa:RbacAnnotation  RbacAnnotation is used for capturing rbac properties of any apic object Objects can append rbacannotations as Object->RbacAnnotation which is then checked for domain eligibility
 
 
 ├
[V] tag:Annotation 
 
 
 ├
[V] tag:Tag 
 
 ├
[V] health:Inst A base class for a health score instance.(Switch only)
 ├
[V] bgp:PeerEvents Peer event information.
 ├
[V] fault:Counts An immutable object that provides the number of critical, major, minor, and warning faults raised on its parent object and its subtree.
 ├
[V] fault:Inst Contains detailed information of a fault. This object is attached as a child of the object on which the fault condition occurred. One instance object is created for each fault condition of the parent object. A fault instance object is identified by a fault code.
 
 ├
[V] aaa:RbacAnnotation  RbacAnnotation is used for capturing rbac properties of any apic object Objects can append rbacannotations as Object->RbacAnnotation which is then checked for domain eligibility
 
 ├
[V] tag:Annotation 
 
 ├
[V] tag:Tag 
 ├
[V] health:Inst A base class for a health score instance.(Switch only)


Inheritance
[V] nw:Item Ignore.
 ├
[V] nw:Conn A connection abstraction.
 
 ├
[V] nw:Ep A static endpoint.
 
 
 ├
[V] nw:ConnEp A connection endpoint abstraction.
 
 
 
 ├
[V] nw:AdjEp The adjacency endpoint. This is the endpoint object that contains information regarding dynamically learned endpoints.
 
 
 
 
 ├
[V] nw:ProtAdjEp A protocol adjacency endpoint abstraction.
 
 
 
 
 
 ├
[V] l3:ProtAdjEp A layer 3 protocol adjacency abstraction.
 
 
 
 
 
 
 ├
[V] bgp:PeerEntry The BGP peer status specifies the status of a relationship between BGP speakers. A BGP speaker does not discover another BGP speaker automatically. You must configure the relationships between BGP speakers. A BGP peer is a BGP speaker that has an active TCP connection to another BGP speaker.


Events
                bgp:PeerEntry:bgp_PeerEntry_operStChange
bgp:PeerEntry:bgp_PeerEntry_operStBackward
bgp:PeerEntry:bgp_PeerEntry_operStEst
bgp:PeerEntry:bgp_PeerEntry_operStShut


Faults
                bgp:PeerEntry:failed
bgp:PeerEntry:operStShut


Fsms
                


Properties Summary
Defined in: bgp:PeerEntry
address:Ip addr  (bgp:PeerEntry:addr)
           The peer address.
bgp:CapT
          scalar:Bitmask64
advCap  (bgp:PeerEntry:advCap)
           Advertised capability
bgp:ConnAttempts
          scalar:Uint32
connAttempts  (bgp:PeerEntry:connAttempts)
          
cap:Quant
          scalar:Uint16
connDrop  (bgp:PeerEntry:connDrop)
           Number of times that a connection dropped.
cap:Quant
          scalar:Uint16
connEst  (bgp:PeerEntry:connEst)
           Number of times connections established
nw:IfId
          base:IfIndex
connIf  (bgp:PeerEntry:connIf)
           Connected interface
bgp:SockFD
          scalar:Uint32
fd  (bgp:PeerEntry:fd)
          
bgp:PeerFlags
          scalar:Bitmask16
flags  (bgp:PeerEntry:flags)
           Flags
bgp:HoldIntvl
          scalar:Uint16
holdIntvl  (bgp:PeerEntry:holdIntvl)
           The time period to wait before declaring the neighbor device down.
bgp:KaIntvl
          scalar:Uint16
kaIntvl  (bgp:PeerEntry:kaIntvl)
           The interval time between sending keepalive messages.
scalar:Date lastFlapTs  (bgp:PeerEntry:lastFlapTs)
           The latest time at which the state of the peer was flapping.
address:Ip localIp  (bgp:PeerEntry:localIp)
           The local IP address of the peer.
l4:Port
          scalar:Uint16
localPort  (bgp:PeerEntry:localPort)
           The layer 4 port of the peer.
reference:BinRef monPolDn  (bgp:PeerEntry:monPolDn)
           The monitoring policy attached to this observable object.
bgp:PeerOperSt
          scalar:Enum8
operSt  (bgp:PeerEntry:operSt)
           The operational state of the peer entry.
bgp:PasswdSet
          scalar:Enum8
passwdSet  (bgp:PeerEntry:passwdSet)
          
bgp:PeerIdx
          scalar:Uint16
peerIdx  (bgp:PeerEntry:peerIdx)
          
bgp:PeerOperSt
          scalar:Enum8
prevOperSt  (bgp:PeerEntry:prevOperSt)
           The previous operational state of the peer entry.
bgp:CapT
          scalar:Bitmask64
rcvCap  (bgp:PeerEntry:rcvCap)
           Received capability
l4:Port
          scalar:Uint16
remotePort  (bgp:PeerEntry:remotePort)
           Remote L4 port
ip:RtrId
          address:IPv4
rtrId  (bgp:PeerEntry:rtrId)
           Peer router id
bgp:ShutStQual
          scalar:Enum8
shutStQual  (bgp:PeerEntry:shutStQual)
           Shut state qualifier
bgp:StReason
          scalar:Enum8
stReason  (bgp:PeerEntry:stReason)
          
bgp:SessionType
          scalar:Enum8
type  (bgp:PeerEntry:type)
          
scalar:Date updateElapsedTs  (bgp:PeerEntry:updateElapsedTs)
          
Defined in: nw:Ep
naming:Name
          string:Basic
name  (nw:Ep:name)
           Overrides:nw:Conn:name
           The name of the object.
Defined in: mo:Modifiable
mo:TStamp
          scalar:Date
modTs  (mo:Modifiable:modTs)
           The time when this object was last modified.
Defined in: mo:TopProps
mo:ModificationChildAction
          scalar:Bitmask32
childAction  (mo:TopProps:childAction)
           Delete or ignore. For internal use only.
reference:BinRef dn  (mo:TopProps:dn)
           A tag or metadata is a non-hierarchical keyword or term assigned to the fabric module.
reference:BinRN rn  (mo:TopProps:rn)
           Identifies an object from its siblings within the context of its parent object. The distinguished name contains a sequence of relative names.
mo:ModificationStatus
          scalar:Bitmask32
status  (mo:TopProps:status)
           The upgrade status. This property is for internal use only.
Properties Detail

addr

Type: address:Ip

Units: null
Encrypted: false
Naming Property -- [NAMING RULES]
Access: naming
Category: TopLevelRegular
    Comments:
The peer address.



advCap

Type: bgp:CapT
Primitive Type: scalar:Bitmask64

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Advertised capability
Constants
vpnv4-ucast 1024ull VPNv4 unicast Vpnv4 unicast
as4 128ull AS4 capable AS4
l2vpn-evpn 131072ull L2VPN EVPN address family l2vpn evpn
gr-helper 16384ull Graceful restart helper Graceful restart Helper only
dynamic-old 16ull Dynamic old Dynamic old
dynamic 1ull Dynamic Dynamic
cap 2048ull Capability parameter Capability
gr 256ull Graceful restart Graceful restart
rtfilter-ucast 262144ull IPv4 route-target filter address family rtfilter unicast
dynamic-mp 2ull Dynamic multiprotocol Dynamic multi protocol
ipv4-mcast 32768ull IPv4 multicast IPv4 muticast
refresh 32ull Refresh Refresh
ipv6-ucast 4096ull IPv6 unicast IPv6 unicast
dynamic-gr 4ull Dynamic graceful restart Dynamic graceful restart
ipv4-ucast 512ull IPv4 unicast IPv4 unicast
refresh-old 64ull Refresh Refresh old
ipv6-mcast 65536ull IPv6 multicast IPv6 multicast
vpnv6-ucast 8192ull VPNv6 unicast Vpnv6 unicast
dynamic-refresh 8ull Dynamic refresh Dynamic refresh
DEFAULT 0 --- Capability type





childAction

Type: mo:ModificationChildAction
Primitive Type: scalar:Bitmask32

Units: null
Encrypted: false
Access: implicit
Category: TopLevelChildAction
    Comments:
Delete or ignore. For internal use only.
Constants
deleteAll 16384u deleteAll NO COMMENTS
ignore 4096u ignore NO COMMENTS
deleteNonPresent 8192u deleteNonPresent NO COMMENTS
DEFAULT 0 --- This type is used to





connAttempts

Type: bgp:ConnAttempts
Primitive Type: scalar:Uint32

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Constants
na 0u --- NO COMMENTS
DEFAULT na(0u) --- NO COMMENTS





connDrop

Type: cap:Quant
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Number of times that a connection dropped.
Constants
defaultValue 0 --- NO COMMENTS





connEst

Type: cap:Quant
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Number of times connections established
Constants
defaultValue 0 --- NO COMMENTS





connIf

Type: nw:IfId
Primitive Type: base:IfIndex

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Connected interface



dn

Type: reference:BinRef

Units: null
Encrypted: false
Access: implicit
Category: TopLevelDn
    Comments:
A tag or metadata is a non-hierarchical keyword or term assigned to the fabric module.



fd

Type: bgp:SockFD
Primitive Type: scalar:Uint32

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:



flags

Type: bgp:PeerFlags
Primitive Type: scalar:Bitmask16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Flags
Constants
direct-connect 1 Administratively down Directly connected
cap-neg 2 Capability negotiated Capability negotiated
gr-enabled 4 Graceful restart enabled Graceful restart enabled
no-mem 8 Memory Alert Memory Alert condition forbidding peer session to come up
cfg-peer 16 Configuration Peer Configuration peer
peer-restarted 32 Peer restarted Flag to indicate if peer restarted
DEFAULT 0 --- Peer flags





holdIntvl

Type: bgp:HoldIntvl
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The time period to wait before declaring the neighbor device down.
Constants
defaultValue 180 --- NO COMMENTS





kaIntvl

Type: bgp:KaIntvl
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The interval time between sending keepalive messages.
Constants
defaultValue 60 --- NO COMMENTS





lastFlapTs

Type: scalar:Date

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The latest time at which the state of the peer was flapping.



localIp

Type: address:Ip

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The local IP address of the peer.



localPort

Type: l4:Port
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The layer 4 port of the peer.
Constants
unspecified 0 Unspecified NO COMMENTS
ftpData 20 ftp-data NO COMMENTS
smtp 25 smtp NO COMMENTS
dns 53 dns NO COMMENTS
http 80 http NO COMMENTS
pop3 110 pop3 NO COMMENTS
https 443 https NO COMMENTS
rtsp 554 rtsp NO COMMENTS
DEFAULT unspecified(0) Unspecified NO COMMENTS





modTs

Type: mo:TStamp
Primitive Type: scalar:Date

Units: null
Encrypted: false
Access: implicit
Category: TopLevelRegular
    Comments:
The time when this object was last modified.
Constants
never 0ull never NO COMMENTS
DEFAULT never(0ull) never NO COMMENTS





monPolDn

Type: reference:BinRef

Units: null
Encrypted: false
Access: implicit
Category: TopLevelRegular
    Comments:
The monitoring policy attached to this observable object.



name

Type: naming:Name
Primitive Type: string:Basic

Overrides:nw:Conn:name
Units: null Encrypted: false Access: admin Category: TopLevelRegular
    Comments:
The name of the object.



operSt

Type: bgp:PeerOperSt
Primitive Type: scalar:Enum8

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The operational state of the peer entry.
Constants
unspecified 0 Unspecified Unspecified
illegal 1 Illegal Illegal
shut 2 Shut Shut
idle 3 Idle Idle
connect 4 Connect Connect
active 5 Active Active
open-sent 6 Open sent Open sent
open-confirm 7 Open confirm Open confirm
established 8 Established Established
closing 9 Closing Closing
error 10 Error Error
unknown 11 Unknown Unknown
DEFAULT unspecified(0) Unspecified Unspecified





passwdSet

Type: bgp:PasswdSet
Primitive Type: scalar:Enum8

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Constants
disabled 0 --- NO COMMENTS
enabled 1 Enabled NO COMMENTS
DEFAULT disabled(0) --- NO COMMENTS





peerIdx

Type: bgp:PeerIdx
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:



prevOperSt

Type: bgp:PeerOperSt
Primitive Type: scalar:Enum8

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
The previous operational state of the peer entry.
Constants
unspecified 0 Unspecified Unspecified
illegal 1 Illegal Illegal
shut 2 Shut Shut
idle 3 Idle Idle
connect 4 Connect Connect
active 5 Active Active
open-sent 6 Open sent Open sent
open-confirm 7 Open confirm Open confirm
established 8 Established Established
closing 9 Closing Closing
error 10 Error Error
unknown 11 Unknown Unknown
DEFAULT unspecified(0) Unspecified Unspecified





rcvCap

Type: bgp:CapT
Primitive Type: scalar:Bitmask64

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Received capability
Constants
vpnv4-ucast 1024ull VPNv4 unicast Vpnv4 unicast
as4 128ull AS4 capable AS4
l2vpn-evpn 131072ull L2VPN EVPN address family l2vpn evpn
gr-helper 16384ull Graceful restart helper Graceful restart Helper only
dynamic-old 16ull Dynamic old Dynamic old
dynamic 1ull Dynamic Dynamic
cap 2048ull Capability parameter Capability
gr 256ull Graceful restart Graceful restart
rtfilter-ucast 262144ull IPv4 route-target filter address family rtfilter unicast
dynamic-mp 2ull Dynamic multiprotocol Dynamic multi protocol
ipv4-mcast 32768ull IPv4 multicast IPv4 muticast
refresh 32ull Refresh Refresh
ipv6-ucast 4096ull IPv6 unicast IPv6 unicast
dynamic-gr 4ull Dynamic graceful restart Dynamic graceful restart
ipv4-ucast 512ull IPv4 unicast IPv4 unicast
refresh-old 64ull Refresh Refresh old
ipv6-mcast 65536ull IPv6 multicast IPv6 multicast
vpnv6-ucast 8192ull VPNv6 unicast Vpnv6 unicast
dynamic-refresh 8ull Dynamic refresh Dynamic refresh
DEFAULT 0 --- Capability type





remotePort

Type: l4:Port
Primitive Type: scalar:Uint16

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Remote L4 port
Constants
unspecified 0 Unspecified NO COMMENTS
ftpData 20 ftp-data NO COMMENTS
smtp 25 smtp NO COMMENTS
dns 53 dns NO COMMENTS
http 80 http NO COMMENTS
pop3 110 pop3 NO COMMENTS
https 443 https NO COMMENTS
rtsp 554 rtsp NO COMMENTS
DEFAULT unspecified(0) Unspecified NO COMMENTS





rn

Type: reference:BinRN

Units: null
Encrypted: false
Access: implicit
Category: TopLevelRn
    Comments:
Identifies an object from its siblings within the context of its parent object. The distinguished name contains a sequence of relative names.



rtrId

Type: ip:RtrId
Primitive Type: address:IPv4

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Peer router id



shutStQual

Type: bgp:ShutStQual
Primitive Type: scalar:Enum8

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Shut state qualifier
Constants
unspecified 0 Unspecified Unspecified
admin 1 Administratively down Admin
no-mem 2 No memory No memory
exceeded-pfxlimit 3 Exceeded prefix limit When prefix limit is exceeded, the neighbor is shut down
DEFAULT unspecified(0) Unspecified Unspecified





stReason

Type: bgp:StReason
Primitive Type: scalar:Enum8

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Constants
none 0 --- No reason defined
no-mem 1 NoMem Reason: No memory
DEFAULT none(0) --- No reason defined





status

Type: mo:ModificationStatus
Primitive Type: scalar:Bitmask32

Units: null
Encrypted: false
Access: implicit
Category: TopLevelStatus
    Comments:
The upgrade status. This property is for internal use only.
Constants
created 2u created In a setter method: specifies that an object should be created. An error is returned if the object already exists.
In the return value of a setter method: indicates that an object has been created.
modified 4u modified In a setter method: specifies that an object should be modified
In the return value of a setter method: indicates that an object has been modified.
deleted 8u deleted In a setter method: specifies that an object should be deleted.
In the return value of a setter method: indicates that an object has been deleted.
DEFAULT 0 --- This type controls the life cycle of objects passed in the XML API.

When used in a setter method (such as configConfMo), the ModificationStatus specifies whether an object should be created, modified, deleted or removed.
In the return value of a setter method, the ModificationStatus indicates the actual operation that was performed. For example, the ModificationStatus is set to "created" if the object was created. The ModificationStatus is not set if the object was neither created, modified, deleted or removed.

When invoking a setter method, the ModificationStatus is optional:
If a setter method such as configConfMo is invoked and the ModificationStatus is not set, the system automatically determines if the object should be created or modified.






type

Type: bgp:SessionType
Primitive Type: scalar:Enum8

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments:
Constants
ibgp 1 ibgp Internal BGP
ebgp 2 ebgp External BGP
DEFAULT ibgp(1) ibgp Internal BGP





updateElapsedTs

Type: scalar:Date

Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
    Comments: