02:34:17,754 PM [main] [INFO] DOMNotificationRouter - DOM Notification Router started
02:34:17,755 PM [main] [INFO] DOMRpcRouter - DOM RPC/Action router started
02:34:17,760 PM [main] [INFO] RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer
02:34:17,760 PM [main] [INFO] RestconfTransportChannelListener - Initialized with base path: /rests, default encoding: JSON, default pretty print: false
02:34:17,769 PM [main] [INFO] DefaultNetconfTimer - NETCONF timer started
02:34:17,825 PM [main] [INFO] DefaultSchemaResourceManager - Schema Resource Manager instantiated on /tmp/junit-15428339272666020049/schema
02:34:17,946 PM [main] [DEBUG] AbstractNetconfTopology - Topology topology-netconf initialized
02:34:17,946 PM [main] [DEBUG] NetconfTopologyImpl - Registering datastore listener
02:34:17,983 PM [main] [INFO] DefaultNetconfTimer - NETCONF timer started
02:34:17,983 PM [main] [INFO] NetconfDeviceSimulator - Starting 1, SSH simulated devices starting on port 45167
02:34:17,986 PM [main] [INFO] NetconfDeviceSimulator - Loading models from classpath.
02:34:17,992 PM [main] [INFO] SharedEffectiveModelContextFactory - Using weak references
02:34:18,67 PM [main] [INFO] NetconfDeviceSimulator - using MdsalOperationProvider.
02:34:18,71 PM [main] [DEBUG] NetconfSessionNegotiator - Default maximum incoming NETCONF chunk size is 16777216 bytes
02:34:18,74 PM [main] [DEBUG] NetconfDeviceSimulator - Ports: [45167]
02:34:18,174 PM [main] [INFO] BouncyCastleSecurityProviderRegistrar - getOrCreateProvider(BC) created instance of org.bouncycastle.jce.provider.BouncyCastleProvider
02:34:18,177 PM [main] [INFO] EdDSASecurityProviderRegistrar - getOrCreateProvider(EdDSA) created instance of org.opendaylight.netconf.shaded.eddsa.EdDSASecurityProvider
02:34:18,335 PM [main] [INFO] NetconfDeviceSimulator - All simulated devices started successfully from port 45167 to 45167
02:34:18,339 PM [restconf-netty-e2e-1] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x73fe8b16, L:/127.0.0.1:42583 - R:/127.0.0.1:41056]
02:34:18,343 PM [restconf-netty-e2e-1] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:18,343 PM [restconf-netty-e2e-1] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:18,344 PM [restconf-netty-e2e-1] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:18,350 PM [restconf-netty-e2e-2] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x36faa2b7, L:/127.0.0.1:42583 - R:/127.0.0.1:41060]
02:34:18,353 PM [restconf-netty-e2e-2] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:18,353 PM [restconf-netty-e2e-2] [DEBUG] APIResource - Preparing POST http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:18,354 PM [restconf-netty-e2e-2] [DEBUG] HTTPServerSession - Dispatching POST http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:18,367 PM [restconf-netty-e2e-2] [DEBUG] NetconfTopologyImpl - Config for node Uri{value=device-sim} created
02:34:18,472 PM [restconf-netty-e2e-2] [INFO] AbstractNetconfTopology - Connecting RemoteDevice{Uri{value=device-sim}}, with config Node{nodeId=Uri{value=device-sim}, augmentation=[NetconfNodeAugment{netconfNode=NetconfNode{actorResponseWaitTime=5, backoffJitter=0.1, backoffMultiplier=1.5, concurrentRpcLimit=0, connectionTimeoutMillis=20000, credentials=***, defaultRequestTimeoutMillis=60000, host=Host{ipAddress=IpAddress{ipv4Address=Ipv4Address{value=127.0.0.1}}}, keepaliveDelay=120, lockDatastore=true, maxBackoffMillis=1800000, maxConnectionAttempts=0, minBackoffMillis=2000, port=PortNumber{value=45167}, reconnectOnChangedSchema=false, schemaCacheDirectory=schema, schemaless=false, tcpOnly=false}}]}
02:34:18,525 PM [restconf-netty-e2e-2] [INFO] NetconfNodeHandler - Adding keepalive facade, for device Uri{value=device-sim}
02:34:18,531 PM [restconf-netty-e2e-2] [INFO] NetconfNodeHandler - Concurrent rpc limit is smaller than 1, no limit will be enforced for device RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]
02:34:18,639 PM [netconf-netty-e2e-0] [DEBUG] SSHTransportStack - Underlay establishing, attaching SSH to TCPTransportChannel{channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]}
02:34:18,640 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Underlay establishing, attaching SSH to TCPTransportChannel{channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]}
02:34:18,677 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - Client session created: TransportIoSession[local=/127.0.0.1:52092, remote=/127.0.0.1:45167]
02:34:18,680 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - ClientUserAuthService(TransportClientSession[null@/127.0.0.1:45167]) client methods: [password]
02:34:18,683 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendIdentification(TransportServerSession[null@/127.0.0.1:52092]): SSH-2.0-SSHD-UNKNOWN
02:34:18,689 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - initializeProxyConnector(TransportClientSession[null@/127.0.0.1:45167]) no proxy to initialize
02:34:18,689 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - sendIdentification(TransportClientSession[null@/127.0.0.1:45167]): SSH-2.0-SSHD-UNKNOWN
02:34:18,691 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - sendKexInit(TransportClientSession[null@/127.0.0.1:45167]) Send SSH_MSG_KEXINIT
02:34:18,693 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doReadIdentification(TransportServerSession[null@/127.0.0.1:52092]) line='SSH-2.0-SSHD-UNKNOWN'
02:34:18,693 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - readIdentification(TransportServerSession[null@/127.0.0.1:52092]) client version string: SSH-2.0-SSHD-UNKNOWN
02:34:18,702 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[null@/127.0.0.1:45167]) packet #0 sending command=20[SSH_MSG_KEXINIT] len=1358
02:34:18,702 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doReadIdentification(TransportClientSession[device-username@/127.0.0.1:45167]) line='SSH-2.0-SSHD-UNKNOWN'
02:34:18,702 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - readIdentification(TransportClientSession[device-username@/127.0.0.1:45167]) Server version string: SSH-2.0-SSHD-UNKNOWN
02:34:19,146 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendKexInit(TransportServerSession[null@/127.0.0.1:52092]) Send SSH_MSG_KEXINIT
02:34:19,146 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #0 sending command=20[SSH_MSG_KEXINIT] len=978
02:34:19,147 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:52092]) process #0 SSH_MSG_KEXINIT
02:34:19,147 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleKexInit(TransportServerSession[null@/127.0.0.1:52092]) SSH_MSG_KEXINIT
02:34:19,147 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #0 SSH_MSG_KEXINIT
02:34:19,147 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - handleKexInit(TransportClientSession[device-username@/127.0.0.1:45167]) SSH_MSG_KEXINIT
02:34:19,150 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - negotiate(TransportServerSession[null@/127.0.0.1:52092]) strict KEX=true client=true server=true
02:34:19,150 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - negotiate(TransportClientSession[device-username@/127.0.0.1:45167]) strict KEX=true client=true server=true
02:34:19,155 PM [restconf-netty-e2e-3] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x1e34e5b8, L:/127.0.0.1:42583 - R:/127.0.0.1:40552]
02:34:19,157 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: kex algorithms = sntrup761x25519-sha512
02:34:19,157 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: kex algorithms = sntrup761x25519-sha512
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: server host key algorithms = rsa-sha2-512
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: server host key algorithms = rsa-sha2-512
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: encryption algorithms (client to server) = chacha20-poly1305@openssh.com
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: encryption algorithms (client to server) = chacha20-poly1305@openssh.com
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: encryption algorithms (server to client) = chacha20-poly1305@openssh.com
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: encryption algorithms (server to client) = chacha20-poly1305@openssh.com
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: mac algorithms (client to server) = hmac-sha2-256-etm@openssh.com
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: mac algorithms (client to server) = hmac-sha2-256-etm@openssh.com
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: mac algorithms (server to client) = hmac-sha2-256-etm@openssh.com
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: mac algorithms (server to client) = hmac-sha2-256-etm@openssh.com
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: compression algorithms (client to server) = none
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: compression algorithms (client to server) = none
02:34:19,158 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:52092]) Kex: compression algorithms (server to client) = none
02:34:19,158 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:45167]) Kex: compression algorithms (server to client) = none
02:34:19,163 PM [restconf-netty-e2e-3] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:19,163 PM [restconf-netty-e2e-3] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:19,163 PM [restconf-netty-e2e-3] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:19,183 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Key exchange completed on session 1
02:34:19,679 PM [restconf-netty-e2e-4] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xcb4c1599, L:/127.0.0.1:42583 - R:/127.0.0.1:40568]
02:34:19,690 PM [restconf-netty-e2e-4] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:19,690 PM [restconf-netty-e2e-4] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:19,691 PM [restconf-netty-e2e-4] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:19,982 PM [netconf-netty-e2e-0] [DEBUG] DHGClient - init(DHGClient[sntrup761x25519-sha512])[TransportClientSession[device-username@/127.0.0.1:45167]] Send SSH_MSG_KEXDH_INIT
02:34:19,983 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #1 sending command=30[30] len=1195
02:34:19,985 PM [netconf-netty-e2e-0] [DEBUG] SSHTransportStack - Key exchange completed on session 1
02:34:19,986 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:52092]) process #1 30
02:34:19,988 PM [netconf-device-simulator-threads-1] [DEBUG] DHGServer - next(DHGServer[sntrup761x25519-sha512])[TransportServerSession[null@/127.0.0.1:52092]] process command=SSH_MSG_KEXDH_INIT
02:34:20,83 PM [netconf-device-simulator-threads-1] [DEBUG] DHGServer - next(DHGServer[sntrup761x25519-sha512])[TransportServerSession[null@/127.0.0.1:52092]] Send SSH_MSG_KEXDH_REPLY
02:34:20,83 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #1 sending command=31[31] len=1639
02:34:20,84 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #1 31
02:34:20,84 PM [netconf-netty-e2e-0] [DEBUG] DHGClient - next(DHGClient[sntrup761x25519-sha512])[TransportClientSession[device-username@/127.0.0.1:45167]] process command=SSH_MSG_KEXDH_REPLY
02:34:20,84 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleKexMessage(TransportServerSession[null@/127.0.0.1:52092])[sntrup761x25519-sha512] KEX processing complete after cmd=30
02:34:20,84 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendNewKeys(TransportServerSession[null@/127.0.0.1:52092]) Send SSH_MSG_NEWKEYS
02:34:20,84 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - prepareNewKeys(TransportServerSession[null@/127.0.0.1:52092]) session ID=57:1f:c1:91:2b:f7:66:4b:bc:dd:72:83:e8:b3:8e:68:55:2d:78:4f:38:df:a3:ae:6a:0a:4c:24:3e:ad:35:99:d2:e6:de:0e:fa:3e:ba:13:d3:27:6b:e9:c6:73:ba:44:b1:c0:01:17:79:52:3d:7e:ab:f3:17:80:71:f5:2a:4e
02:34:20,93 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #2 sending command=21[SSH_MSG_NEWKEYS] len=1
02:34:20,93 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setOutputEncoding(TransportServerSession[null@/127.0.0.1:52092]): strict KEX resets output message sequence number from 3 to 0
02:34:20,95 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setOutputEncoding(TransportServerSession[null@/127.0.0.1:52092]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@32d363b3; mac null; compression none[Deflater/-1]; blocks limit 134217728
02:34:20,96 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - collectExtensions(TransportServerSession[null@/127.0.0.1:52092])[NEWKEYS]: extension info server-sig-algs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
02:34:20,97 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - sendKexExtensions(TransportServerSession[null@/127.0.0.1:52092])[NEWKEYS]: sending SSH_MSG_EXT_INFO with 1 info records
02:34:20,97 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #0 sending command=7[7] len=419
02:34:20,97 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleNewKeys(TransportServerSession[null@/127.0.0.1:52092]) No pending packets to flush at end of KEX
02:34:20,203 PM [restconf-netty-e2e-5] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x0b0029bd, L:/127.0.0.1:42583 - R:/127.0.0.1:40582]
02:34:20,206 PM [restconf-netty-e2e-5] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:20,207 PM [restconf-netty-e2e-5] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:20,207 PM [restconf-netty-e2e-5] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:20,291 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setServerKey(TransportClientSession[device-username@/127.0.0.1:45167]) keyType=ssh-rsa, digest=SHA256:3iLZaCc/MmAF6Ogyiy1ZWmi7NnJG3kvIGPJvSkg/wFQ
02:34:20,291 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - handleKexMessage(TransportClientSession[device-username@/127.0.0.1:45167])[sntrup761x25519-sha512] KEX processing complete after cmd=31
02:34:20,291 PM [netconf-netty-e2e-0] [WARN] AcceptAllServerKeyVerifier - Server at /127.0.0.1:45167 presented unverified RSA key: SHA256:3iLZaCc/MmAF6Ogyiy1ZWmi7NnJG3kvIGPJvSkg/wFQ
02:34:20,292 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - checkKeys(TransportClientSession[device-username@/127.0.0.1:45167]) key=ssh-rsa-SHA256:3iLZaCc/MmAF6Ogyiy1ZWmi7NnJG3kvIGPJvSkg/wFQ, verified=true
02:34:20,292 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - sendNewKeys(TransportClientSession[device-username@/127.0.0.1:45167]) Send SSH_MSG_NEWKEYS
02:34:20,292 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - prepareNewKeys(TransportClientSession[device-username@/127.0.0.1:45167]) session ID=57:1f:c1:91:2b:f7:66:4b:bc:dd:72:83:e8:b3:8e:68:55:2d:78:4f:38:df:a3:ae:6a:0a:4c:24:3e:ad:35:99:d2:e6:de:0e:fa:3e:ba:13:d3:27:6b:e9:c6:73:ba:44:b1:c0:01:17:79:52:3d:7e:ab:f3:17:80:71:f5:2a:4e
02:34:20,292 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #2 sending command=21[SSH_MSG_NEWKEYS] len=1
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setOutputEncoding(TransportClientSession[device-username@/127.0.0.1:45167]): strict KEX resets output message sequence number from 3 to 0
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setOutputEncoding(TransportClientSession[device-username@/127.0.0.1:45167]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@592149fb; mac null; compression none[Deflater/-1]; blocks limit 134217728
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - handleNewKeys(TransportClientSession[device-username@/127.0.0.1:45167]) No pending packets to flush at end of KEX
02:34:20,293 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:52092]) process #2 SSH_MSG_NEWKEYS
02:34:20,293 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleNewKeys(TransportServerSession[null@/127.0.0.1:52092]) SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
02:34:20,293 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setInputEncoding(TransportServerSession[null@/127.0.0.1:52092]): strict KEX resets input message sequence number from 3 to 0
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #2 SSH_MSG_NEWKEYS
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - handleNewKeys(TransportClientSession[device-username@/127.0.0.1:45167]) SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setInputEncoding(TransportClientSession[device-username@/127.0.0.1:45167]): strict KEX resets input message sequence number from 3 to 0
02:34:20,293 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - setInputEncoding(TransportClientSession[device-username@/127.0.0.1:45167]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@1d3333ba; mac null; compression none[Inflater/-1]; blocks limit 134217728
02:34:20,293 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setInputEncoding(TransportServerSession[null@/127.0.0.1:52092]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@614c28ae; mac null; compression none[Inflater/-1]; blocks limit 134217728
02:34:20,294 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - sendInitialServiceRequest(TransportClientSession[device-username@/127.0.0.1:45167]) Send SSH_MSG_SERVICE_REQUEST for ssh-userauth
02:34:20,294 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - New key established on session 1
02:34:20,294 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #0 sending command=5[SSH_MSG_SERVICE_REQUEST] len=17
02:34:20,295 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:52092]) process #0 SSH_MSG_SERVICE_REQUEST
02:34:20,295 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleServiceRequest(TransportServerSession[null@/127.0.0.1:52092]) SSH_MSG_SERVICE_REQUEST 'ssh-userauth'
02:34:20,295 PM [netconf-netty-e2e-0] [DEBUG] SSHTransportStack - New key established on session 1
02:34:20,295 PM [netconf-netty-e2e-0] [DEBUG] SSHClient - Authenticating session 1
02:34:20,299 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - auth(TransportClientSession[device-username@/127.0.0.1:45167])[ssh-connection] send SSH_MSG_USERAUTH_REQUEST for 'none'
02:34:20,300 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #1 sending command=50[SSH_MSG_USERAUTH_REQUEST] len=46
02:34:20,300 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #0 7
02:34:20,300 PM [netconf-netty-e2e-0] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:45167]): [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:20,300 PM [netconf-netty-e2e-0] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:45167]): PubkeyAcceptedAlgorithms before: [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:20,301 PM [netconf-netty-e2e-0] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:45167]): PubkeyAcceptedAlgorithms after: [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:20,301 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - ServerUserAuthService(TransportServerSession[null@/127.0.0.1:52092]) authorized authentication methods: password,publickey
02:34:20,301 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleServiceRequest(TransportServerSession[null@/127.0.0.1:52092]) Accepted service ssh-userauth
02:34:20,301 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #1 sending command=6[SSH_MSG_SERVICE_ACCEPT] len=17
02:34:20,302 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #1 SSH_MSG_SERVICE_ACCEPT
02:34:20,302 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - handleServiceAccept(TransportClientSession[device-username@/127.0.0.1:45167]) SSH_MSG_SERVICE_ACCEPT service=ssh-userauth
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:52092]) process #1 SSH_MSG_USERAUTH_REQUEST
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:52092]) Received SSH_MSG_USERAUTH_REQUEST user=device-username, service=ssh-connection, method=none
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:52092]) Authenticating user 'device-username' with service 'ssh-connection' and method 'none' (attempt 0 / 20)
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:52092]) no authentication factory for method=none
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationFailure(null@TransportServerSession[null@/127.0.0.1:52092]) SSH_MSG_USERAUTH_REQUEST
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationFailure(null@TransportServerSession[null@/127.0.0.1:52092]) remaining methods: password,publickey
02:34:20,302 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #2 sending command=51[SSH_MSG_USERAUTH_FAILURE] len=24
02:34:20,303 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #2 SSH_MSG_USERAUTH_FAILURE
02:34:20,303 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - processUserAuth(TransportClientSession[device-username@/127.0.0.1:45167]) Received SSH_MSG_USERAUTH_FAILURE - partial=false, methods=password,publickey
02:34:20,303 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:45167]) starting authentication mechanisms: client=[password], client index=0, server=[password, publickey]
02:34:20,305 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:45167]) attempting method=password
02:34:20,307 PM [netconf-netty-e2e-0] [DEBUG] UserAuthPassword - sendPassword(TransportClientSession[device-username@/127.0.0.1:45167])[ssh-connection] send SSH_MSG_USERAUTH_REQUEST for password - modified=false
02:34:20,308 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #2 sending command=50[SSH_MSG_USERAUTH_REQUEST] len=70
02:34:20,308 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:45167]) successfully processed initial buffer by method=password
02:34:20,308 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:52092]) process #2 SSH_MSG_USERAUTH_REQUEST
02:34:20,308 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:52092]) Received SSH_MSG_USERAUTH_REQUEST user=device-username, service=ssh-connection, method=password
02:34:20,308 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:52092]) Authenticating user 'device-username' with service 'ssh-connection' and method 'password' (attempt 1 / 20)
02:34:20,310 PM [netconf-device-simulator-threads-1] [DEBUG] UserAuthPassword - checkPassword(TransportServerSession[null@/127.0.0.1:52092]) authentication result: true
02:34:20,310 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationSuccess(device-username@TransportServerSession[null@/127.0.0.1:52092]) SSH_MSG_USERAUTH_REQUEST
02:34:20,310 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - sendKexExtensions(TransportServerSession[null@/127.0.0.1:52092])[AUTHOK]: no extension info; skipping sending SSH_MSG_EXT_INFO
02:34:20,310 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:52092]) packet #3 sending command=52[SSH_MSG_USERAUTH_SUCCESS] len=1
02:34:20,311 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Authentication on session 1 successful
02:34:20,311 PM [netconf-device-simulator-threads-1] [DEBUG] SSHServer - Awaiting "netconf" subsystem on session 1
02:34:20,312 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:52092]) no heartbeat to stop
02:34:20,312 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - startHeartbeat(TransportServerSession[device-username@/127.0.0.1:52092]) heartbeat type=IGNORE, interval=PT30S
02:34:20,313 PM [netconf-device-simulator-threads-1] [INFO] TransportServerSession - Session device-username@/127.0.0.1:52092 authenticated
02:34:20,313 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #3 SSH_MSG_USERAUTH_SUCCESS
02:34:20,313 PM [netconf-netty-e2e-0] [DEBUG] ClientUserAuthService - processUserAuth(TransportClientSession[device-username@/127.0.0.1:45167]) SSH_MSG_USERAUTH_SUCCESS Succeeded with password
02:34:20,313 PM [netconf-netty-e2e-0] [DEBUG] UserAuthPassword - destroy(TransportClientSession[device-username@/127.0.0.1:45167])[ssh-connection]
02:34:20,313 PM [netconf-netty-e2e-0] [DEBUG] SSHTransportStack - Authentication on session 1 successful
02:34:20,313 PM [netconf-netty-e2e-0] [DEBUG] SSHClient - Opening "netconf" subsystem on session 1
02:34:20,335 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - init() service=ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:45167]] session=TransportClientSession[device-username@/127.0.0.1:45167] id=0
02:34:20,335 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - init(LocalWindow[client](TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:45167][netconf])) size=2097152, max=2097152, packet=32768
02:34:20,335 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - registerChannel(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:45167]])[id=0, registered=true] TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]
02:34:20,335 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - createSubsystemChannel(TransportClientSession[device-username@/127.0.0.1:45167])[netconf] created id=0
02:34:20,336 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Opening client subsystem "netconf"
02:34:20,336 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - open(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) Send SSH_MSG_CHANNEL_OPEN - type=session
02:34:20,336 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #3 sending command=90[SSH_MSG_CHANNEL_OPEN] len=24
02:34:20,337 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #3 SSH_MSG_CHANNEL_OPEN
02:34:20,337 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - channelOpen(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:52092]]) SSH_MSG_CHANNEL_OPEN sender=0, type=session, window-size=2097152, packet-size=32768
02:34:20,340 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:45167]) no heartbeat to stop
02:34:20,340 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - startHeartbeat(TransportClientSession[device-username@/127.0.0.1:45167]) heartbeat type=IGNORE, interval=PT30S
02:34:20,340 PM [netconf-netty-e2e-0] [DEBUG] SSHClient - Session 1 authenticated
02:34:20,356 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - init() service=ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:52092]] session=TransportServerSession[device-username@/127.0.0.1:52092] id=0
02:34:20,356 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:52092])) size=2097152, max=2097152, packet=32768
02:34:20,356 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - registerChannel(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:52092]])[id=0, registered=true] TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,357 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - setRecipient(TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:52092]) recipient=0
02:34:20,357 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - init(RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])) size=2097152, max=2097152, packet=32768
02:34:20,357 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])) re-initializing
02:34:20,357 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])) size=2097152, max=2097152, packet=32768
02:34:20,357 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - channelOpenSuccess(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) send SSH_MSG_CHANNEL_OPEN_CONFIRMATION recipient=0, sender=0, window-size=2097152, packet-size=32768
02:34:20,357 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #4 sending command=91[SSH_MSG_CHANNEL_OPEN_CONFIRMATION] len=17
02:34:20,359 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #4 SSH_MSG_CHANNEL_OPEN_CONFIRMATION
02:34:20,359 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - channelOpenConfirmation(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_OPEN_CONFIRMATION sender=0, window-size=2097152, packet-size=32768
02:34:20,359 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - setRecipient(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) recipient=0
02:34:20,360 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - init(RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf])) size=2097152, max=2097152, packet=32768
02:34:20,360 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - doOpen(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_REQUEST subsystem=netconf
02:34:20,360 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - addPendingRequest(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) request=subsystem, pending=Wed Oct 16 14:34:20 UTC 2024
02:34:20,370 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #4 sending command=98[SSH_MSG_CHANNEL_REQUEST] len=30
02:34:20,371 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #4 SSH_MSG_CHANNEL_REQUEST
02:34:20,372 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleChannelRequest(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_REQUEST subsystem wantReply=true
02:34:20,373 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleSubsystem(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[want-reply=true] subsystem=netconf
02:34:20,378 PM [netconf-netty-e2e-0] [DEBUG] SSHClient - Opened "netconf" subsystem on session 1
02:34:20,379 PM [netconf-netty-e2e-0] [DEBUG] SSHTransportStack - Established transport on session 1
02:34:20,379 PM [netconf-netty-e2e-0] [DEBUG] ClientTransportChannelListener - Initializing established transport SSHTransportChannel{underlay=TCPTransportChannel{channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]}}
02:34:20,379 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - prepareChannelCommand(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[subsystem] prepared command
02:34:20,379 PM [netconf-device-simulator-threads-1] [DEBUG] SSHServer - Established "netconf" subsystem on session 1
02:34:20,379 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Established transport on session 1
02:34:20,379 PM [netconf-device-simulator-threads-1] [DEBUG] ServerTransportInitializer - Transport channel SSHTransportChannel{underlay=TCPTransportChannel{channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]}} established
02:34:20,392 PM [netconf-device-simulator-threads-1] [DEBUG] TesttoolNegotiationFactory - Session 1: Creating new operation service factory for test tool device on address /[0:0:0:0:0:0:0:0]:45167
02:34:20,397 PM [netconf-device-simulator-threads-1] [DEBUG] MdsalOperationProvider - Session 1: Creating data stores for simulated device
02:34:20,406 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Starting session negotiation on channel [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]
02:34:20,408 PM [netconf-device-simulator-threads-1] [INFO] InMemoryDOMDataStoreFactory - ThreadFactory created: DOM-OPER-DCL
02:34:20,409 PM [netconf-device-simulator-threads-1] [INFO] InMemoryDOMDataStoreFactory - ThreadFactory created: DOM-CFG-DCL
02:34:20,413 PM [netconf-device-simulator-threads-1] [INFO] MdsalOperationProvider - ThreadFactory created: CommitFutures
02:34:20,411 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Sending negotiation proposal urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.0
on channel [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]
02:34:20,421 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 373 down to 2096779
02:34:20,422 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #5 sending command=94[SSH_MSG_CHANNEL_DATA] len=382
02:34:20,426 PM [netconf-netty-e2e-0] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.codec.XMLMessageWriter@192808aa
02:34:20,426 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Changing state from : IDLE to : OPEN_WAIT for channel: [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]
02:34:20,428 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Session negotiation started on channel [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]
02:34:20,431 PM [netconf-device-simulator-threads-1] [DEBUG] MdsalOperationProvider - Netconf state updated successfully
02:34:20,445 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Starting session negotiation on channel [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]
02:34:20,445 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Sending negotiation proposal test:device:simulator?module=device-sim&revision=2024-09-17urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:notification:1.0urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.01
on channel [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]
02:34:20,447 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 1198 down to 2095954
02:34:20,447 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #5 sending command=94[SSH_MSG_CHANNEL_DATA] len=1207
02:34:20,448 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.codec.XMLMessageWriter@192808aa
02:34:20,448 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Changing state from : IDLE to : OPEN_WAIT for channel: [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]
02:34:20,448 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Session negotiation started on channel [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]
02:34:20,448 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendResponse(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) request=subsystem result=ReplySuccess, want-reply=true
02:34:20,449 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #6 sending command=99[SSH_MSG_CHANNEL_SUCCESS] len=5
02:34:20,449 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendResponse(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) request=subsystem activate command
02:34:20,449 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - start(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) starting runner for command=netconf
02:34:20,452 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #5 SSH_MSG_CHANNEL_DATA
02:34:20,452 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #5 SSH_MSG_CHANNEL_DATA
02:34:20,452 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 373 down to 2096779
02:34:20,452 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 1198 down to 2095954
02:34:20,452 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=373
02:34:20,452 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=1198
02:34:20,452 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 373 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,452 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 1198 bytes of data
02:34:20,453 PM [netconf-device-simulator-threads-1] [DEBUG] EOMFrameDecoder - Context ChannelHandlerContext(frameDecoder, [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]) buffer UnpooledHeapByteBuf(ridx: 0, widx: 373, cap: 373/373) frame detected: length 367
02:34:20,453 PM [netconf-netty-e2e-0] [DEBUG] EOMFrameDecoder - Context ChannelHandlerContext(frameDecoder, [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]) buffer UnpooledHeapByteBuf(ridx: 0, widx: 1198, cap: 1198/1198) frame detected: length 1192
02:34:20,454 PM [netconf-device-simulator-threads-1] [DEBUG] HelloXMLMessageDecoder - CONFIDENTIAL Parsing message
urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.0
02:34:20,454 PM [netconf-netty-e2e-0] [DEBUG] HelloXMLMessageDecoder - CONFIDENTIAL Parsing message
test:device:simulator?module=device-sim&revision=2024-09-17urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:notification:1.0urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.01
02:34:20,455 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Negotiation read invoked on channel [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]
02:34:20,456 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched framing to FramingSupport{mechanism=CHUNK, chunkSize=8192}
02:34:20,459 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Changing state from : OPEN_WAIT to : ESTABLISHED for channel: [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]
02:34:20,460 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionNegotiator - Additional header from hello parsed as NetconfHelloMessageAdditionalHeader{userName='unknown', hostAddress='127.0.0.1', port='45167', transport='tcp', sessionIdentifier='client'} from Optional.empty
02:34:20,463 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session SessionIdType{value=1} created
02:34:20,465 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSession - Session NetconfServerSession{sessionId=1, channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]} created
02:34:20,465 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Negotiation on channel [id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092] successful with session NetconfServerSession{sessionId=1, channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]}
02:34:20,466 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Negotiation read invoked on channel [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]
02:34:20,466 PM [netconf-netty-e2e-0] [DEBUG] MessageEncoder - Switched framing to FramingSupport{mechanism=CHUNK, chunkSize=8192}
02:34:20,466 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Changing state from : OPEN_WAIT to : ESTABLISHED for channel: [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]
02:34:20,466 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session NetconfServerSession{sessionId=1, channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]} up
02:34:20,469 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Session SessionIdType{value=1} created
02:34:20,469 PM [netconf-netty-e2e-0] [DEBUG] NetconfClientSession - Client Session NetconfClientSession{sessionId=1, channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]} created
02:34:20,469 PM [netconf-netty-e2e-0] [DEBUG] NetconfClientSessionNegotiator - Netconf session NetconfClientSession{sessionId=1, channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]} should use exi.
02:34:20,471 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 393 down to 2096386
02:34:20,471 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #6 sending command=94[SSH_MSG_CHANNEL_DATA] len=402
02:34:20,472 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #6 SSH_MSG_CHANNEL_DATA
02:34:20,472 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #6 SSH_MSG_CHANNEL_SUCCESS
02:34:20,472 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 393 down to 2096386
02:34:20,472 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=393
02:34:20,472 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 393 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,472 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - removePendingRequest(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) request=subsystem, pending=Wed Oct 16 14:34:20 UTC 2024
02:34:20,472 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleSuccess(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) subsystem=netconf, pending since=Wed Oct 16 14:34:20 UTC 2024
02:34:20,473 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: byte-aligned
02:34:20,474 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,478 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message byte-aligned
to org.opendaylight.netconf.server.mapping.operations.DefaultStartExi{name=start-exi, namespace=urn:ietf:params:xml:ns:netconf:exi:1.0, session=1}
02:34:20,479 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultStartExi - Received start-exi message byte-aligned
02:34:20,565 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switching to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@45f35241 after next message
02:34:20,565 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfExiSession - Session NetconfServerSession{sessionId=1, channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 - R:/127.0.0.1:52092]} EXI handlers added to pipeline
02:34:20,566 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:20,569 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@45f35241
02:34:20,569 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2095775
02:34:20,569 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #7 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:20,570 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="default-start-exi"
02:34:20,570 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #7 SSH_MSG_CHANNEL_DATA
02:34:20,570 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2095775
02:34:20,570 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:20,570 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:20,573 PM [netconf-netty-e2e-0] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@28f26ba3
02:34:20,573 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfExiSession - Session NetconfClientSession{sessionId=1, channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]} EXI handlers added to pipeline
02:34:20,573 PM [netconf-netty-e2e-0] [DEBUG] NetconfSessionNegotiator - Negotiation on channel [id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167] successful with session NetconfClientSession{sessionId=1, channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]}
02:34:20,573 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Session NetconfClientSession{sessionId=1, channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 - R:/127.0.0.1:45167]} up
02:34:20,573 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Session established
02:34:20,577 PM [netconf-netty-e2e-0] [DEBUG] NetconfDevice - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Session to remote device established with NetconfSessionPreferences{capabilities={urn:ietf:params:netconf:capability:notification:1.0=DeviceAdvertised, urn:ietf:params:netconf:capability:exi:1.0=DeviceAdvertised, urn:ietf:params:netconf:capability:candidate:1.0=DeviceAdvertised, urn:ietf:params:netconf:base:1.1=DeviceAdvertised, urn:ietf:params:netconf:base:1.0=DeviceAdvertised}, moduleBasedCapabilities={(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types=DeviceAdvertised, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring=DeviceAdvertised, (test:device:simulator?revision=2024-09-17)device-sim=DeviceAdvertised, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types=DeviceAdvertised, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring=DeviceAdvertised}, rollback=false, monitoring=true, candidate=true, writableRunning=false}
02:34:20,590 PM [netconf-netty-e2e-0] [DEBUG] DefaultBaseNetconfSchemaProvider - Loading base schema for Capabilities[writableRunning=false, candidate=true, confirmedCommit=false, rollbackOnError=false, validate=false, startup=false, url=false, xpath=false, notifications=true, library=false, monitoring=true]
02:34:20,656 PM [netconf-netty-e2e-0] [DEBUG] DefaultBaseNetconfSchemaProvider - Schema for Capabilities[writableRunning=false, candidate=true, confirmedCommit=false, rollbackOnError=false, validate=false, startup=false, url=false, xpath=false, notifications=true, library=false, monitoring=true] assembled in 57.10 ms
02:34:20,673 PM [netconf-netty-e2e-0] [DEBUG] NormalizedDataUtil - Unable to set namespace context, falling back to setPrefix()
java.lang.UnsupportedOperationException
at java.xml/com.sun.xml.internal.stream.writers.XMLDOMWriterImpl.setNamespaceContext(XMLDOMWriterImpl.java:158)
at org.opendaylight.netconf.common.mdsal.NormalizedDataUtil$NamespaceSetter.forFactory(NormalizedDataUtil.java:74)
at org.opendaylight.netconf.common.mdsal.NormalizedDataUtil.(NormalizedDataUtil.java:99)
at org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.writeNormalizedOperationInput(NetconfMessageTransformUtil.java:438)
at org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformer.toRpcRequest(NetconfMessageTransformer.java:355)
at org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformer.toRpcRequest(NetconfMessageTransformer.java:100)
at org.opendaylight.netconf.client.mdsal.spi.NetconfDeviceDOMRpcService.invokeRpc(NetconfDeviceDOMRpcService.java:44)
at org.opendaylight.netconf.client.mdsal.spi.NetconfDeviceRpc.invokeNetconf(NetconfDeviceRpc.java:35)
at org.opendaylight.netconf.client.mdsal.impl.NetconfStateSchemasResolverImpl.resolveMonitoringSources(NetconfStateSchemasResolverImpl.java:154)
at org.opendaylight.netconf.client.mdsal.impl.NetconfStateSchemasResolverImpl.resolve(NetconfStateSchemasResolverImpl.java:116)
at org.opendaylight.netconf.client.mdsal.impl.DefaultDeviceNetconfSchemaProvider.deviceNetconfSchemaFor(DefaultDeviceNetconfSchemaProvider.java:64)
at org.opendaylight.netconf.client.mdsal.NetconfDevice.onRemoteSessionUp(NetconfDevice.java:112)
at org.opendaylight.netconf.client.mdsal.NetconfDevice.onRemoteSessionUp(NetconfDevice.java:55)
at org.opendaylight.netconf.client.mdsal.NetconfDeviceCommunicator.onSessionUp(NetconfDeviceCommunicator.java:136)
at org.opendaylight.netconf.client.mdsal.NetconfDeviceCommunicator.onSessionUp(NetconfDeviceCommunicator.java:51)
at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.sessionUp(AbstractNetconfSession.java:124)
at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handlerAdded(AbstractNetconfSession.java:178)
at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1130)
at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:558)
at io.netty.channel.DefaultChannelPipeline.replace(DefaultChannelPipeline.java:521)
at io.netty.channel.DefaultChannelPipeline.replace(DefaultChannelPipeline.java:458)
at org.opendaylight.netconf.nettyutil.NetconfSessionNegotiator.negotiationSuccessful(NetconfSessionNegotiator.java:342)
at org.opendaylight.netconf.client.NetconfClientSessionNegotiator.access$000(NetconfClientSessionNegotiator.java:42)
at org.opendaylight.netconf.client.NetconfClientSessionNegotiator$ExiConfirmationInboundHandler.channelRead(NetconfClientSessionNegotiator.java:212)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.ssh.TransportClientSubsystem.doWriteData(TransportClientSubsystem.java:69)
at org.opendaylight.netconf.shaded.sshd.common.channel.AbstractChannel.handleData(AbstractChannel.java:845)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractConnectionService.channelData(AbstractConnectionService.java:585)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractConnectionService.process(AbstractConnectionService.java:466)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.CurrentService.process(CurrentService.java:109)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:625)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.lambda$handleMessage$0(AbstractSession.java:546)
at org.opendaylight.netconf.shaded.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:68)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:545)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1729)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:506)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:64)
at org.opendaylight.netconf.shaded.sshd.netty.NettyIoSession.channelRead(NettyIoSession.java:302)
at org.opendaylight.netconf.shaded.sshd.netty.NettyIoSession$Adapter.channelReadComplete(NettyIoSession.java:409)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:486)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:482)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:874)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:171)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:20,690 PM [netconf-netty-e2e-0] [DEBUG] NetconfStateSchemasResolverImpl - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: resolving YANG 1.0 conformance
02:34:20,725 PM [restconf-netty-e2e-6] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x3b111fdf, L:/127.0.0.1:42583 - R:/127.0.0.1:40588]
02:34:20,730 PM [restconf-netty-e2e-6] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:20,730 PM [restconf-netty-e2e-6] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:20,730 PM [restconf-netty-e2e-6] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:20,744 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 340 down to 2096046
02:34:20,744 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #7 sending command=94[SSH_MSG_CHANNEL_DATA] len=349
02:34:20,745 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #7 SSH_MSG_CHANNEL_DATA
02:34:20,745 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 340 down to 2096046
02:34:20,745 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=340
02:34:20,746 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 340 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,755 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:20,756 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,756 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:20,758 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:20,763 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='netconf-state', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='netconf-state', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in TAG_MATCH
02:34:20,763 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in TAG_MATCH
02:34:20,764 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message ietf-netconf-monitoringyang2010-10-04urn:ietf:params:xml:ns:yang:ietf-netconf-monitoringNETCONFdevice-simyang2024-09-17test:device:simulatorNETCONFodl-netconf-monitoringyang2022-07-18urn:opendaylight:params:xml:ns:yang:netconf:monitoringNETCONFietf-yang-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-typesNETCONFietf-inet-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-inet-typesNETCONF
02:34:20,769 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 796 down to 2094979
02:34:20,769 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #8 sending command=94[SSH_MSG_CHANNEL_DATA] len=805
02:34:20,770 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-0"
02:34:20,770 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #8 SSH_MSG_CHANNEL_DATA
02:34:20,771 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 796 down to 2094979
02:34:20,771 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=796
02:34:20,771 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 796 bytes of data
02:34:20,774 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received: ietf-netconf-monitoringyang2010-10-04urn:ietf:params:xml:ns:yang:ietf-netconf-monitoringNETCONFdevice-simyang2024-09-17test:device:simulatorNETCONFodl-netconf-monitoringyang2022-07-18urn:opendaylight:params:xml:ns:yang:netconf:monitoringNETCONFietf-yang-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-typesNETCONFietf-inet-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-inet-typesNETCONF
02:34:20,776 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,776 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received ietf-netconf-monitoringyang2010-10-04urn:ietf:params:xml:ns:yang:ietf-netconf-monitoringNETCONFdevice-simyang2024-09-17test:device:simulatorNETCONFodl-netconf-monitoringyang2022-07-18urn:opendaylight:params:xml:ns:yang:netconf:monitoringNETCONFietf-yang-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-typesNETCONFietf-inet-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-inet-typesNETCONF
02:34:20,795 PM [netconf-netty-e2e-0] [DEBUG] NetconfStateSchemasResolverImpl - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Schemas exposed by ietf-netconf-monitoring: [(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring]
02:34:20,796 PM [topology-schema-assembler-0] [DEBUG] DefaultDeviceNetconfSchemaProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Resolved device sources to NetconfDeviceSchemas[requiredSources=[(urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring], features=Sparse{features={}}, librarySources=[], providedSources=[ProvidedSources[representation=class org.opendaylight.yangtools.yang.model.api.source.YangTextSource, provider=org.opendaylight.netconf.client.mdsal.impl.MonitoringSchemaSourceProvider@6da731de, sources=[(urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring]]]]
02:34:20,804 PM [topology-schema-assembler-0] [DEBUG] SchemaSetup - Failed to acquire source SourceIdentifier [notifications@2008-07-14]
java.util.concurrent.ExecutionException: org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException: No providers registered for source SourceIdentifier [notifications@2008-07-14]
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:596)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:555)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:111)
at com.google.common.util.concurrent.ForwardingFluentFuture.get(ForwardingFluentFuture.java:68)
at org.opendaylight.netconf.client.mdsal.impl.SchemaSetup.lambda$filterMissingSources$3(SchemaSetup.java:169)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:960)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:934)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:667)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:927)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.opendaylight.netconf.client.mdsal.impl.SchemaSetup.filterMissingSources(SchemaSetup.java:176)
at org.opendaylight.netconf.client.mdsal.impl.SchemaSetup.(SchemaSetup.java:98)
at org.opendaylight.netconf.client.mdsal.impl.DefaultDeviceNetconfSchemaProvider.lambda$deviceNetconfSchemaFor$2(DefaultDeviceNetconfSchemaProvider.java:75)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:229)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:216)
at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:129)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException: No providers registered for source SourceIdentifier [notifications@2008-07-14]
at org.opendaylight.yangtools.yang.model.repo.spi.AbstractSchemaRepository.getSchemaSource(AbstractSchemaRepository.java:84)
... 23 more
02:34:20,808 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 372 down to 2095674
02:34:20,808 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #8 sending command=94[SSH_MSG_CHANNEL_DATA] len=381
02:34:20,809 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #8 SSH_MSG_CHANNEL_DATA
02:34:20,809 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 372 down to 2095674
02:34:20,809 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=372
02:34:20,809 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 372 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,811 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: odl-netconf-monitoring2022-07-18yang
02:34:20,812 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,812 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 365 down to 2095309
02:34:20,812 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #9 sending command=94[SSH_MSG_CHANNEL_DATA] len=374
02:34:20,812 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message odl-netconf-monitoring2022-07-18yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:20,814 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 373 down to 2094936
02:34:20,814 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #10 sending command=94[SSH_MSG_CHANNEL_DATA] len=382
02:34:20,814 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:20,817 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 761 down to 2094218
02:34:20,817 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #9 sending command=94[SSH_MSG_CHANNEL_DATA] len=770
02:34:20,818 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-1"
02:34:20,818 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 365 down to 2094571
02:34:20,818 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #9 SSH_MSG_CHANNEL_DATA
02:34:20,818 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #11 sending command=94[SSH_MSG_CHANNEL_DATA] len=374
02:34:20,818 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 365 down to 2095309
02:34:20,818 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=365
02:34:20,818 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 365 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,819 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #9 SSH_MSG_CHANNEL_DATA
02:34:20,819 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 761 down to 2094218
02:34:20,819 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=761
02:34:20,819 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 761 bytes of data
02:34:20,820 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:20,821 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,821 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:20,822 PM [netconf-netty-e2e-0] [INFO] StreamWriterFacade - Encountered annotation message-id not bound to module. Please examine the call stack and fix this warning by defining a proper YANG annotation to cover it
java.lang.Throwable: Call stack
at org.opendaylight.yangtools.yang.data.codec.xml.StreamWriterFacade.warnLegacyAttribute(StreamWriterFacade.java:308)
at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.getElementAttributes(XmlParserStream.java:359)
at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:432)
at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.parse(XmlParserStream.java:319)
at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.traverse(XmlParserStream.java:341)
at org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformer.parseResult(NetconfMessageTransformer.java:475)
at org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:428)
at org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformer.toRpcResult(NetconfMessageTransformer.java:100)
at org.opendaylight.netconf.client.mdsal.spi.NetconfDeviceDOMRpcService$1.onSuccess(NetconfDeviceDOMRpcService.java:52)
at org.opendaylight.netconf.client.mdsal.spi.NetconfDeviceDOMRpcService$1.onSuccess(NetconfDeviceDOMRpcService.java:47)
at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1137)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1300)
at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1061)
at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:786)
at org.opendaylight.netconf.client.mdsal.UncancellableFuture.set(UncancellableFuture.java:26)
at org.opendaylight.netconf.client.mdsal.NetconfDeviceCommunicator.processMessage(NetconfDeviceCommunicator.java:325)
at org.opendaylight.netconf.client.mdsal.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:241)
at org.opendaylight.netconf.client.mdsal.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:51)
at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:71)
at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.channelRead0(AbstractNetconfSession.java:168)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.ssh.TransportClientSubsystem.doWriteData(TransportClientSubsystem.java:69)
at org.opendaylight.netconf.shaded.sshd.common.channel.AbstractChannel.handleData(AbstractChannel.java:845)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractConnectionService.channelData(AbstractConnectionService.java:585)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractConnectionService.process(AbstractConnectionService.java:466)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.CurrentService.process(CurrentService.java:109)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:625)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.lambda$handleMessage$0(AbstractSession.java:546)
at org.opendaylight.netconf.shaded.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:68)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:545)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1729)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:506)
at org.opendaylight.netconf.shaded.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:64)
at org.opendaylight.netconf.shaded.sshd.netty.NettyIoSession.channelRead(NettyIoSession.java:302)
at org.opendaylight.netconf.shaded.sshd.netty.NettyIoSession$Adapter.channelReadComplete(NettyIoSession.java:409)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:486)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:482)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:874)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:171)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:20,821 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-yang-types2013-07-15yang
02:34:20,824 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,825 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-yang-types2013-07-15yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:20,826 PM [netconf-netty-e2e-0] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: YANG Schema successfully retrieved for odl-netconf-monitoring:2022-07-18
02:34:20,825 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:20,827 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #10 SSH_MSG_CHANNEL_DATA
02:34:20,827 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 373 down to 2094936
02:34:20,827 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=373
02:34:20,827 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 373 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,829 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 360 down to 2094211
02:34:20,829 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #12 sending command=94[SSH_MSG_CHANNEL_DATA] len=369
02:34:20,832 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-netconf-monitoring2010-10-04yang
02:34:20,833 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,834 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-netconf-monitoring2010-10-04yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:20,834 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:20,843 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 18245 down to 2075973
02:34:20,843 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #10 sending command=94[SSH_MSG_CHANNEL_DATA] len=18254
02:34:20,848 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #10 SSH_MSG_CHANNEL_DATA
02:34:20,848 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 18245 down to 2075973
02:34:20,848 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=18245
02:34:20,848 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 18245 bytes of data
02:34:20,848 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-2"
02:34:20,852 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:20,852 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,852 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:20,854 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 19051 down to 2056922
02:34:20,854 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #11 sending command=94[SSH_MSG_CHANNEL_DATA] len=19060
02:34:20,854 PM [netconf-netty-e2e-0] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: YANG Schema successfully retrieved for ietf-yang-types:2013-07-15
02:34:20,855 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-3"
02:34:20,856 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #11 SSH_MSG_CHANNEL_DATA
02:34:20,856 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 365 down to 2094571
02:34:20,856 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=365
02:34:20,856 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 365 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,857 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-inet-types2013-07-15yang
02:34:20,858 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,859 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-inet-types2013-07-15yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:20,859 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:20,860 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #12 SSH_MSG_CHANNEL_DATA
02:34:20,860 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 360 down to 2094211
02:34:20,860 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=360
02:34:20,860 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 360 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:20,860 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #11 SSH_MSG_CHANNEL_DATA
02:34:20,860 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 19051 down to 2056922
02:34:20,860 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=19051
02:34:20,860 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 19051 bytes of data
02:34:20,861 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: device-sim2024-09-17yang
02:34:20,861 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,861 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message device-sim2024-09-17yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:20,862 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:20,863 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:20,863 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,863 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:20,864 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 17141 down to 2039781
02:34:20,864 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #12 sending command=94[SSH_MSG_CHANNEL_DATA] len=17150
02:34:20,865 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-4"
02:34:20,865 PM [netconf-netty-e2e-0] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: YANG Schema successfully retrieved for ietf-netconf-monitoring:2010-10-04
02:34:20,866 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 926 down to 2038855
02:34:20,866 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #13 sending command=94[SSH_MSG_CHANNEL_DATA] len=935
02:34:20,866 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #12 SSH_MSG_CHANNEL_DATA
02:34:20,866 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-5"
02:34:20,867 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 17141 down to 2039781
02:34:20,867 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=17141
02:34:20,867 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 17141 bytes of data
02:34:20,869 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:20,870 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,870 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:20,872 PM [netconf-netty-e2e-0] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: YANG Schema successfully retrieved for ietf-inet-types:2013-07-15
02:34:20,872 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #13 SSH_MSG_CHANNEL_DATA
02:34:20,872 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 926 down to 2038855
02:34:20,872 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=926
02:34:20,872 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 926 bytes of data
02:34:20,873 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:20,873 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:20,873 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:20,874 PM [netconf-netty-e2e-0] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: YANG Schema successfully retrieved for device-sim:2024-09-17
02:34:20,910 PM [topology-schema-assembler-0] [DEBUG] SchemaSetup - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Schema context built successfully from [SourceIdentifier [ietf-yang-types@2013-07-15], SourceIdentifier [ietf-netconf-monitoring@2010-10-04], SourceIdentifier [device-sim@2024-09-17], SourceIdentifier [ietf-inet-types@2013-07-15], SourceIdentifier [odl-netconf-monitoring@2022-07-18]]
02:34:20,938 PM [topology-schema-assembler-3] [DEBUG] NetconfDeviceMount - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Mountpoint exposed into MD-SAL {closed=false, instance=org.opendaylight.mdsal.dom.spi.SimpleDOMMountPoint@5cc72b9f}
02:34:20,961 PM [topology-schema-assembler-3] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Netconf session initiated, starting keepalives
02:34:20,961 PM [topology-schema-assembler-3] [INFO] NetconfDevice - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Netconf connector initialized successfully
02:34:21,244 PM [restconf-netty-e2e-7] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x04d17f24, L:/127.0.0.1:42583 - R:/127.0.0.1:40596]
02:34:21,246 PM [restconf-netty-e2e-7] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,247 PM [restconf-netty-e2e-7] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:21,247 PM [restconf-netty-e2e-7] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:21,253 PM [restconf-netty-e2e-0] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x2a9c65bc, L:/127.0.0.1:42583 - R:/127.0.0.1:40600]
02:34:21,258 PM [restconf-netty-e2e-0] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,258 PM [restconf-netty-e2e-0] [DEBUG] APIResource - Preparing POST http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount
02:34:21,258 PM [restconf-netty-e2e-0] [DEBUG] HTTPServerSession - Dispatching POST http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount
02:34:21,270 PM [restconf-netty-e2e-0] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataPOST(MdsalRestconfServer.java:259)
at org.opendaylight.restconf.server.PendingDataPost.execute(PendingDataPost.java:39)
at org.opendaylight.restconf.server.PendingDataPost.execute(PendingDataPost.java:29)
at org.opendaylight.restconf.server.PendingRequestWithBody.execute(PendingRequestWithBody.java:61)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,279 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 198 down to 2094013
02:34:21,280 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #13 sending command=94[SSH_MSG_CHANNEL_DATA] len=207
02:34:21,281 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #13 SSH_MSG_CHANNEL_DATA
02:34:21,281 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 198 down to 2094013
02:34:21,281 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=198
02:34:21,281 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 198 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,283 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,283 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,284 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Lock{name=lock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,286 PM [netconf-device-simulator-threads-1] [DEBUG] Lock - Locking candidate datastore on session: 1
02:34:21,286 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,288 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2038676
02:34:21,288 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #14 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,289 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-0"
02:34:21,289 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #14 SSH_MSG_CHANNEL_DATA
02:34:21,289 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2038676
02:34:21,289 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,289 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,291 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,292 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,292 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,292 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Lock successful.
02:34:21,301 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,304 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 390 down to 2093623
02:34:21,304 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #14 sending command=94[SSH_MSG_CHANNEL_DATA] len=399
02:34:21,304 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #14 SSH_MSG_CHANNEL_DATA
02:34:21,305 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 390 down to 2093623
02:34:21,305 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=390
02:34:21,305 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 390 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,308 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: deviceid1name1value1
02:34:21,309 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,310 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message deviceid1name1value1
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,318 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@577e7846
02:34:21,320 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,322 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2038497
02:34:21,322 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #15 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,323 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-1"
02:34:21,323 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #15 SSH_MSG_CHANNEL_DATA
02:34:21,324 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2038497
02:34:21,324 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,324 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,325 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,326 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,326 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,329 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,331 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 177 down to 2093446
02:34:21,331 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #15 sending command=94[SSH_MSG_CHANNEL_DATA] len=186
02:34:21,331 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #15 SSH_MSG_CHANNEL_DATA
02:34:21,331 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 177 down to 2093446
02:34:21,331 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=177
02:34:21,331 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 177 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,332 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,333 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,333 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Commit{name=commit, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,334 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,335 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2038318
02:34:21,335 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #16 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,335 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-2"
02:34:21,337 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #16 SSH_MSG_CHANNEL_DATA
02:34:21,337 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2038318
02:34:21,337 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,337 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,338 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,338 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,338 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,341 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,342 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 200 down to 2093246
02:34:21,342 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #16 sending command=94[SSH_MSG_CHANNEL_DATA] len=209
02:34:21,343 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #16 SSH_MSG_CHANNEL_DATA
02:34:21,343 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 200 down to 2093246
02:34:21,343 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=200
02:34:21,343 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 200 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,344 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,344 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,345 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Unlock{name=unlock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,345 PM [netconf-device-simulator-threads-1] [DEBUG] Unlock - Unlocking candidate datastore on session: 1
02:34:21,345 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,346 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2038139
02:34:21,346 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #17 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,347 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-3"
02:34:21,347 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #17 SSH_MSG_CHANNEL_DATA
02:34:21,347 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2038139
02:34:21,347 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,347 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,348 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,348 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,348 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,349 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Unlock successful.
02:34:21,354 PM [restconf-netty-e2e-1] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x3771b90e, L:/127.0.0.1:42583 - R:/127.0.0.1:40602]
02:34:21,355 PM [restconf-netty-e2e-1] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,355 PM [restconf-netty-e2e-1] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,355 PM [restconf-netty-e2e-1] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,356 PM [restconf-netty-e2e-1] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataGET(MdsalRestconfServer.java:181)
at org.opendaylight.restconf.server.PendingDataGet.execute(PendingDataGet.java:51)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,369 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 265 down to 2092981
02:34:21,370 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #17 sending command=94[SSH_MSG_CHANNEL_DATA] len=274
02:34:21,370 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #17 SSH_MSG_CHANNEL_DATA
02:34:21,370 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 265 down to 2092981
02:34:21,371 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=265
02:34:21,371 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 265 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,372 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,373 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,374 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,374 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,375 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,376 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 181 down to 2037958
02:34:21,376 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #18 sending command=94[SSH_MSG_CHANNEL_DATA] len=190
02:34:21,377 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #18 SSH_MSG_CHANNEL_DATA
02:34:21,377 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 181 down to 2037958
02:34:21,377 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=181
02:34:21,377 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 181 bytes of data
02:34:21,377 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,377 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,378 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,378 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-4"
02:34:21,381 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 294 down to 2092687
02:34:21,381 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #18 sending command=94[SSH_MSG_CHANNEL_DATA] len=303
02:34:21,381 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #18 SSH_MSG_CHANNEL_DATA
02:34:21,381 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 294 down to 2092687
02:34:21,381 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=294
02:34:21,381 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 294 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,382 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,382 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,382 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.GetConfig{name=get-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,384 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,385 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='data-root', namespace='test:device:simulator'} to XmlElement{name='data-root', namespace='test:device:simulator'} resulted in TAG_MATCH
02:34:21,385 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message deviceid1name1value1
02:34:21,387 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 319 down to 2037639
02:34:21,387 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #19 sending command=94[SSH_MSG_CHANNEL_DATA] len=328
02:34:21,387 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #19 SSH_MSG_CHANNEL_DATA
02:34:21,387 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 319 down to 2037639
02:34:21,387 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=319
02:34:21,387 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 319 bytes of data
02:34:21,388 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received: deviceid1name1value1
02:34:21,388 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,388 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received deviceid1name1value1
02:34:21,389 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-5"
02:34:21,394 PM [restconf-netty-e2e-2] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x018b210e, L:/127.0.0.1:42583 - R:/127.0.0.1:40606]
02:34:21,396 PM [restconf-netty-e2e-2] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,396 PM [restconf-netty-e2e-2] [DEBUG] APIResource - Preparing PATCH http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,397 PM [restconf-netty-e2e-2] [DEBUG] HTTPServerSession - Dispatching PATCH http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,397 PM [restconf-netty-e2e-2] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataPATCH(MdsalRestconfServer.java:223)
at org.opendaylight.restconf.server.PendingDataPatchPlain.execute(PendingDataPatchPlain.java:37)
at org.opendaylight.restconf.server.PendingDataPatchPlain.execute(PendingDataPatchPlain.java:25)
at org.opendaylight.restconf.server.PendingRequestWithBody.execute(PendingRequestWithBody.java:61)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,403 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 198 down to 2092489
02:34:21,403 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #19 sending command=94[SSH_MSG_CHANNEL_DATA] len=207
02:34:21,403 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #19 SSH_MSG_CHANNEL_DATA
02:34:21,403 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 198 down to 2092489
02:34:21,403 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=198
02:34:21,403 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 198 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,404 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,405 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,405 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Lock{name=lock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,406 PM [netconf-device-simulator-threads-1] [DEBUG] Lock - Locking candidate datastore on session: 1
02:34:21,406 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,407 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2037460
02:34:21,407 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #20 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,407 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-6"
02:34:21,407 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #20 SSH_MSG_CHANNEL_DATA
02:34:21,407 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2037460
02:34:21,407 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,408 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,408 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,408 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,408 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,409 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Lock successful.
02:34:21,411 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,412 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 366 down to 2092123
02:34:21,412 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #20 sending command=94[SSH_MSG_CHANNEL_DATA] len=375
02:34:21,413 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #20 SSH_MSG_CHANNEL_DATA
02:34:21,413 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 366 down to 2092123
02:34:21,413 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=366
02:34:21,413 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 366 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,414 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: id1value-updated
02:34:21,414 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,415 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message id1value-updated
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,416 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@62680482
02:34:21,416 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,417 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2037281
02:34:21,417 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #21 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,418 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-7"
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #21 SSH_MSG_CHANNEL_DATA
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2037281
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,418 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,419 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,420 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 177 down to 2091946
02:34:21,420 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #21 sending command=94[SSH_MSG_CHANNEL_DATA] len=186
02:34:21,420 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #21 SSH_MSG_CHANNEL_DATA
02:34:21,420 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 177 down to 2091946
02:34:21,420 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=177
02:34:21,420 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 177 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,420 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,421 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,421 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Commit{name=commit, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,422 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,423 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2037102
02:34:21,423 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #22 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,423 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-8"
02:34:21,423 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #22 SSH_MSG_CHANNEL_DATA
02:34:21,423 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2037102
02:34:21,423 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,423 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,423 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,424 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,424 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,424 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,425 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 200 down to 2091746
02:34:21,425 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #22 sending command=94[SSH_MSG_CHANNEL_DATA] len=209
02:34:21,425 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #22 SSH_MSG_CHANNEL_DATA
02:34:21,425 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 200 down to 2091746
02:34:21,425 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=200
02:34:21,425 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 200 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,426 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,426 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,427 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Unlock{name=unlock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,427 PM [netconf-device-simulator-threads-1] [DEBUG] Unlock - Unlocking candidate datastore on session: 1
02:34:21,427 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,427 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 179 down to 2036923
02:34:21,427 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #23 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:21,428 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-9"
02:34:21,428 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #23 SSH_MSG_CHANNEL_DATA
02:34:21,428 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 179 down to 2036923
02:34:21,428 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:21,428 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:21,428 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,429 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,429 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,429 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Unlock successful.
02:34:21,433 PM [restconf-netty-e2e-3] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xfccf439f, L:/127.0.0.1:42583 - R:/127.0.0.1:40622]
02:34:21,437 PM [restconf-netty-e2e-3] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,437 PM [restconf-netty-e2e-3] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,437 PM [restconf-netty-e2e-3] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,438 PM [restconf-netty-e2e-3] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataGET(MdsalRestconfServer.java:181)
at org.opendaylight.restconf.server.PendingDataGet.execute(PendingDataGet.java:51)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,441 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 266 down to 2091480
02:34:21,441 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #23 sending command=94[SSH_MSG_CHANNEL_DATA] len=275
02:34:21,442 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #23 SSH_MSG_CHANNEL_DATA
02:34:21,442 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 266 down to 2091480
02:34:21,442 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=266
02:34:21,442 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 266 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,443 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,443 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,444 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,444 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,444 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,446 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 182 down to 2036741
02:34:21,446 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #24 sending command=94[SSH_MSG_CHANNEL_DATA] len=191
02:34:21,446 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-10"
02:34:21,446 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #24 SSH_MSG_CHANNEL_DATA
02:34:21,446 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 182 down to 2036741
02:34:21,446 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=182
02:34:21,446 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 182 bytes of data
02:34:21,448 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,448 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,448 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,450 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 295 down to 2091185
02:34:21,450 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #24 sending command=94[SSH_MSG_CHANNEL_DATA] len=304
02:34:21,451 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #24 SSH_MSG_CHANNEL_DATA
02:34:21,451 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 295 down to 2091185
02:34:21,451 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=295
02:34:21,451 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 295 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,452 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,452 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,452 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.GetConfig{name=get-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,453 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,453 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='data-root', namespace='test:device:simulator'} to XmlElement{name='data-root', namespace='test:device:simulator'} resulted in TAG_MATCH
02:34:21,453 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message deviceid1name1value-updated
02:34:21,455 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 327 down to 2036414
02:34:21,455 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #25 sending command=94[SSH_MSG_CHANNEL_DATA] len=336
02:34:21,456 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-11"
02:34:21,456 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #25 SSH_MSG_CHANNEL_DATA
02:34:21,456 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 327 down to 2036414
02:34:21,456 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=327
02:34:21,456 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 327 bytes of data
02:34:21,456 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received: deviceid1name1value-updated
02:34:21,457 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,457 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received deviceid1name1value-updated
02:34:21,462 PM [restconf-netty-e2e-4] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x77aa3526, L:/127.0.0.1:42583 - R:/127.0.0.1:40634]
02:34:21,464 PM [restconf-netty-e2e-4] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,464 PM [restconf-netty-e2e-4] [DEBUG] APIResource - Preparing PUT http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,464 PM [restconf-netty-e2e-4] [DEBUG] HTTPServerSession - Dispatching PUT http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,464 PM [restconf-netty-e2e-4] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataPUT(MdsalRestconfServer.java:276)
at org.opendaylight.restconf.server.PendingDataPut.execute(PendingDataPut.java:37)
at org.opendaylight.restconf.server.PendingDataPut.execute(PendingDataPut.java:25)
at org.opendaylight.restconf.server.PendingRequestWithBody.execute(PendingRequestWithBody.java:61)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,468 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 295 down to 2090890
02:34:21,468 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #25 sending command=94[SSH_MSG_CHANNEL_DATA] len=304
02:34:21,468 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #25 SSH_MSG_CHANNEL_DATA
02:34:21,468 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 295 down to 2090890
02:34:21,468 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=295
02:34:21,468 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 295 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,469 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,470 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,470 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.GetConfig{name=get-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,471 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,471 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='data-root', namespace='test:device:simulator'} to XmlElement{name='data-root', namespace='test:device:simulator'} resulted in TAG_MATCH
02:34:21,472 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message deviceid1name1value-updated
02:34:21,473 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 327 down to 2036087
02:34:21,473 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #26 sending command=94[SSH_MSG_CHANNEL_DATA] len=336
02:34:21,474 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #26 SSH_MSG_CHANNEL_DATA
02:34:21,474 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 327 down to 2036087
02:34:21,474 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=327
02:34:21,474 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 327 bytes of data
02:34:21,474 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-12"
02:34:21,475 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received: deviceid1name1value-updated
02:34:21,475 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,475 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received deviceid1name1value-updated
02:34:21,478 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 199 down to 2090691
02:34:21,478 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #26 sending command=94[SSH_MSG_CHANNEL_DATA] len=208
02:34:21,478 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #26 SSH_MSG_CHANNEL_DATA
02:34:21,478 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 199 down to 2090691
02:34:21,478 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=199
02:34:21,478 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 199 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,479 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,479 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,479 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Lock{name=lock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,479 PM [netconf-device-simulator-threads-1] [DEBUG] Lock - Locking candidate datastore on session: 1
02:34:21,480 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,480 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2035907
02:34:21,480 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #27 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,481 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-13"
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #27 SSH_MSG_CHANNEL_DATA
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2035907
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,481 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,482 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Lock successful.
02:34:21,483 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,484 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 378 down to 2090313
02:34:21,484 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #27 sending command=94[SSH_MSG_CHANNEL_DATA] len=387
02:34:21,484 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #27 SSH_MSG_CHANNEL_DATA
02:34:21,484 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 378 down to 2090313
02:34:21,484 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=378
02:34:21,484 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 378 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,485 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: id2name2value2
02:34:21,485 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,486 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message id2name2value2
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,486 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@71a113bd
02:34:21,486 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,487 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2035727
02:34:21,487 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #28 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,487 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-14"
02:34:21,487 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #28 SSH_MSG_CHANNEL_DATA
02:34:21,487 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2035727
02:34:21,487 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,487 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,488 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,488 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,488 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,488 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,489 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 178 down to 2090135
02:34:21,489 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #28 sending command=94[SSH_MSG_CHANNEL_DATA] len=187
02:34:21,489 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #28 SSH_MSG_CHANNEL_DATA
02:34:21,489 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 178 down to 2090135
02:34:21,489 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=178
02:34:21,489 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 178 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,490 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,490 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,490 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Commit{name=commit, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,491 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,492 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2035547
02:34:21,492 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #29 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,492 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-15"
02:34:21,492 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #29 SSH_MSG_CHANNEL_DATA
02:34:21,492 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2035547
02:34:21,492 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,492 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,492 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,493 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,493 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,493 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,494 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 201 down to 2089934
02:34:21,494 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #29 sending command=94[SSH_MSG_CHANNEL_DATA] len=210
02:34:21,494 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #29 SSH_MSG_CHANNEL_DATA
02:34:21,494 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 201 down to 2089934
02:34:21,494 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=201
02:34:21,494 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 201 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,495 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,495 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,495 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Unlock{name=unlock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,495 PM [netconf-device-simulator-threads-1] [DEBUG] Unlock - Unlocking candidate datastore on session: 1
02:34:21,495 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,496 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2035367
02:34:21,496 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #30 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,496 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-16"
02:34:21,496 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #30 SSH_MSG_CHANNEL_DATA
02:34:21,496 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2035367
02:34:21,496 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,496 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,497 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,497 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,497 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,497 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Unlock successful.
02:34:21,501 PM [restconf-netty-e2e-5] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x046da576, L:/127.0.0.1:42583 - R:/127.0.0.1:40648]
02:34:21,505 PM [restconf-netty-e2e-5] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,505 PM [restconf-netty-e2e-5] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,505 PM [restconf-netty-e2e-5] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,506 PM [restconf-netty-e2e-5] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataGET(MdsalRestconfServer.java:181)
at org.opendaylight.restconf.server.PendingDataGet.execute(PendingDataGet.java:51)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,509 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 266 down to 2089668
02:34:21,509 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #30 sending command=94[SSH_MSG_CHANNEL_DATA] len=275
02:34:21,509 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #30 SSH_MSG_CHANNEL_DATA
02:34:21,509 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 266 down to 2089668
02:34:21,509 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=266
02:34:21,509 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 266 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,510 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,511 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,511 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,511 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,512 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,513 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 182 down to 2035185
02:34:21,513 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #31 sending command=94[SSH_MSG_CHANNEL_DATA] len=191
02:34:21,513 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #31 SSH_MSG_CHANNEL_DATA
02:34:21,513 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 182 down to 2035185
02:34:21,513 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=182
02:34:21,513 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 182 bytes of data
02:34:21,514 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,514 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,514 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,515 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,516 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-17"
02:34:21,517 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 295 down to 2089373
02:34:21,517 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #31 sending command=94[SSH_MSG_CHANNEL_DATA] len=304
02:34:21,517 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #31 SSH_MSG_CHANNEL_DATA
02:34:21,517 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 295 down to 2089373
02:34:21,517 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=295
02:34:21,517 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 295 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,518 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,518 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,519 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.GetConfig{name=get-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,519 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,520 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='data-root', namespace='test:device:simulator'} to XmlElement{name='data-root', namespace='test:device:simulator'} resulted in TAG_MATCH
02:34:21,520 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message id2name2value2
02:34:21,521 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 306 down to 2034879
02:34:21,521 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #32 sending command=94[SSH_MSG_CHANNEL_DATA] len=315
02:34:21,521 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #32 SSH_MSG_CHANNEL_DATA
02:34:21,521 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 306 down to 2034879
02:34:21,521 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=306
02:34:21,521 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 306 bytes of data
02:34:21,522 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received: id2name2value2
02:34:21,522 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,522 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received id2name2value2
02:34:21,524 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-18"
02:34:21,527 PM [restconf-netty-e2e-6] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x756ecb22, L:/127.0.0.1:42583 - R:/127.0.0.1:40660]
02:34:21,533 PM [restconf-netty-e2e-6] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,533 PM [restconf-netty-e2e-6] [DEBUG] APIResource - Preparing DELETE http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,533 PM [restconf-netty-e2e-6] [DEBUG] HTTPServerSession - Dispatching DELETE http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,534 PM [restconf-netty-e2e-6] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataDELETE(MdsalRestconfServer.java:164)
at org.opendaylight.restconf.server.PendingDataDelete.execute(PendingDataDelete.java:32)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,537 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 199 down to 2089174
02:34:21,537 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #32 sending command=94[SSH_MSG_CHANNEL_DATA] len=208
02:34:21,538 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #32 SSH_MSG_CHANNEL_DATA
02:34:21,538 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 199 down to 2089174
02:34:21,538 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=199
02:34:21,538 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 199 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,540 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,541 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,542 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Lock{name=lock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,542 PM [netconf-device-simulator-threads-1] [DEBUG] Lock - Locking candidate datastore on session: 1
02:34:21,542 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,543 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2034699
02:34:21,543 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #33 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,544 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-19"
02:34:21,544 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #33 SSH_MSG_CHANNEL_DATA
02:34:21,544 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2034699
02:34:21,544 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,544 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,545 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,546 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,546 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,546 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Lock successful.
02:34:21,550 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,552 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 318 down to 2088856
02:34:21,552 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #33 sending command=94[SSH_MSG_CHANNEL_DATA] len=327
02:34:21,553 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #33 SSH_MSG_CHANNEL_DATA
02:34:21,553 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 318 down to 2088856
02:34:21,553 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=318
02:34:21,553 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 318 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,554 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,554 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,555 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,555 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@3c6b2bcd
02:34:21,556 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,557 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2034519
02:34:21,557 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #34 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,557 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-20"
02:34:21,557 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #34 SSH_MSG_CHANNEL_DATA
02:34:21,557 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2034519
02:34:21,557 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,557 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,558 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,558 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,558 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,559 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,560 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 178 down to 2088678
02:34:21,560 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #34 sending command=94[SSH_MSG_CHANNEL_DATA] len=187
02:34:21,560 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #34 SSH_MSG_CHANNEL_DATA
02:34:21,560 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 178 down to 2088678
02:34:21,560 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=178
02:34:21,560 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 178 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,561 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,561 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,561 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Commit{name=commit, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,562 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,563 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2034339
02:34:21,563 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #35 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,564 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-21"
02:34:21,565 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #35 SSH_MSG_CHANNEL_DATA
02:34:21,565 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2034339
02:34:21,565 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,565 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,566 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,566 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,566 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,567 PM [netconf-netty-e2e-0] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:21,569 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 201 down to 2088477
02:34:21,569 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #35 sending command=94[SSH_MSG_CHANNEL_DATA] len=210
02:34:21,570 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #35 SSH_MSG_CHANNEL_DATA
02:34:21,570 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 201 down to 2088477
02:34:21,570 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=201
02:34:21,570 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 201 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,572 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,572 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,573 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Unlock{name=unlock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,573 PM [netconf-device-simulator-threads-1] [DEBUG] Unlock - Unlocking candidate datastore on session: 1
02:34:21,573 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,574 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 180 down to 2034159
02:34:21,575 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #36 sending command=94[SSH_MSG_CHANNEL_DATA] len=189
02:34:21,575 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-22"
02:34:21,575 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #36 SSH_MSG_CHANNEL_DATA
02:34:21,575 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 180 down to 2034159
02:34:21,575 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=180
02:34:21,575 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 180 bytes of data
02:34:21,576 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,577 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,577 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,577 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Unlock successful.
02:34:21,581 PM [restconf-netty-e2e-7] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x308ca097, L:/127.0.0.1:42583 - R:/127.0.0.1:40666]
02:34:21,583 PM [restconf-netty-e2e-7] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,584 PM [restconf-netty-e2e-7] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,584 PM [restconf-netty-e2e-7] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42583/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:21,584 PM [restconf-netty-e2e-7] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataGET(MdsalRestconfServer.java:181)
at org.opendaylight.restconf.server.PendingDataGet.execute(PendingDataGet.java:51)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,588 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 266 down to 2088211
02:34:21,588 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #36 sending command=94[SSH_MSG_CHANNEL_DATA] len=275
02:34:21,588 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #36 SSH_MSG_CHANNEL_DATA
02:34:21,588 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 266 down to 2088211
02:34:21,588 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=266
02:34:21,588 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 266 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,589 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,590 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,591 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,591 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,591 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,593 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 182 down to 2033977
02:34:21,593 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #37 sending command=94[SSH_MSG_CHANNEL_DATA] len=191
02:34:21,594 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-23"
02:34:21,594 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #37 SSH_MSG_CHANNEL_DATA
02:34:21,594 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 182 down to 2033977
02:34:21,594 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=182
02:34:21,594 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 182 bytes of data
02:34:21,595 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,595 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,595 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,597 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 295 down to 2087916
02:34:21,598 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:45167]) packet #37 sending command=94[SSH_MSG_CHANNEL_DATA] len=304
02:34:21,598 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:52092]) process #37 SSH_MSG_CHANNEL_DATA
02:34:21,598 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 295 down to 2087916
02:34:21,598 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_DATA len=295
02:34:21,598 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 295 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,599 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,599 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,599 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.GetConfig{name=get-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:21,600 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:21,600 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:21,601 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) by 182 down to 2033795
02:34:21,602 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #38 sending command=94[SSH_MSG_CHANNEL_DATA] len=191
02:34:21,602 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-24"
02:34:21,602 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:45167]) process #38 SSH_MSG_CHANNEL_DATA
02:34:21,602 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) by 182 down to 2033795
02:34:21,602 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) SSH_MSG_CHANNEL_DATA len=182
02:34:21,602 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - Forwarding 182 bytes of data
02:34:21,603 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Message was received:
02:34:21,603 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:21,603 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Message received
02:34:21,603 PM [restconf-netty-e2e-7] [DEBUG] AbstractServerRequest - Request NettyServerRequest{uuid=7b1da1e1-187b-4efa-9ffd-25fee99a4593, parameters=QueryParameters({}), prettyPrint=org.opendaylight.restconf.api.query.PrettyPrintParam@5e8aa4da} failed
org.opendaylight.restconf.server.api.ServerException: Request could not be completed because the relevant data model content does not exist
at org.opendaylight.restconf.mdsal.spi.data.RestconfStrategy.completeDataGET(RestconfStrategy.java:612)
at org.opendaylight.restconf.mdsal.spi.data.NetconfRestconfStrategy.getData(NetconfRestconfStrategy.java:129)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.dataGET(AbstractServerStrategy.java:124)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.dataGET(AbstractServerStrategy.java:111)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataGET(MdsalRestconfServer.java:186)
at org.opendaylight.restconf.server.PendingDataGet.execute(PendingDataGet.java:51)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:21,607 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) Closing immediately
02:34:21,607 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) no EOF sent
02:34:21,608 PM [netconf-netty-e2e-0] [DEBUG] LocalWindow - Closing LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf])
02:34:21,608 PM [netconf-netty-e2e-0] [DEBUG] RemoteWindow - Closing RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf])
02:34:21,608 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - onExit(TransportServerSession[device-username@/127.0.0.1:52092])[TransportServerSubsystem[netconf]] exiting - value=0, message=
02:34:21,609 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - closeShell(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) exit code=0, immediate=false
02:34:21,609 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendEof(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_EOF (state=Opened)
02:34:21,609 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #39 sending command=96[SSH_MSG_CHANNEL_EOF] len=5
02:34:21,610 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendExitStatus(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) SSH_MSG_CHANNEL_REQUEST exit-status=0
02:34:21,610 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #40 sending command=98[SSH_MSG_CHANNEL_REQUEST] len=25
02:34:21,610 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) Closing gracefully
02:34:21,610 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Closing LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])
02:34:21,610 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Closing RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])
02:34:21,616 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]] cmd=SSH_MSG_CHANNEL_DATA) Closing gracefully
02:34:21,616 PM [netconf-netty-e2e-0] [DEBUG] ChannelSession$1 - close([TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]] cmd=SSH_MSG_CHANNEL_DATA) Closing immediately
02:34:21,616 PM [netconf-netty-e2e-0] [DEBUG] ChannelSession$1 - close([TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]] cmd=SSH_MSG_CHANNEL_DATA)[Immediately] closed
02:34:21,616 PM [netconf-netty-e2e-0] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]]) Closing immediately
02:34:21,616 PM [netconf-netty-e2e-0] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]])[Immediately] closed
02:34:21,616 PM [netconf-netty-e2e-0] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]]) Closing immediately
02:34:21,616 PM [netconf-netty-e2e-0] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]])[Immediately] closed
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf])[immediately=true] processing
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - unregisterChannel(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]) result=TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf]
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@b319792) signal close complete immediately=true
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@4b3a3946) signal close complete immediately=true
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@f408ba4) signal close complete immediately=true
02:34:21,617 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]] cmd=SSH_MSG_CHANNEL_DATA][Graceful] - operationComplete() closed
02:34:21,617 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA) Closing gracefully
02:34:21,617 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA][Graceful] - operationComplete() closed
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:45167]) Closing immediately
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - signalAuthFailure(TransportClientSession[device-username@/127.0.0.1:45167]) type=SshException, signalled=false, first=false: Session is being closed
02:34:21,617 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[immediately=false] processing
02:34:21,617 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[immediately=false] send SSH_MSG_CHANNEL_CLOSE
02:34:21,617 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:52092]) packet #41 sending command=97[SSH_MSG_CHANNEL_CLOSE] len=5
02:34:21,617 PM [netconf-netty-e2e-0] [DEBUG] SSHTransportStack - Session 1 closed
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - handleClosePacketWriteFailure(GracefulChannelCloseable[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]])[immediately=false] failed (StacklessClosedChannelException) to write SSH_MSG_CHANNEL_CLOSE on channel: null
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) Closing immediately
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - close(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:45167]]) Closing immediately
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:45167]) stopping
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:45167]) stopped
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]] cmd=SSH_MSG_CHANNEL_DATA)[Immediately] state already Closed
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] ClientConnectionService - close(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:45167]])[Immediately] closed
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA)[Immediately] state already Closed
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] 1:52092] - close(TransportIoSession[local=/127.0.0.1:52092, remote=/127.0.0.1:45167]) Closing immediately
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[immediately=true] processing
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - unregisterChannel(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) result=TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@42fc39f6) signal close complete immediately=true
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] 1:52092] - close(TransportIoSession[local=/127.0.0.1:52092, remote=/127.0.0.1:45167])[Immediately] closed
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@301ca1db) signal close complete immediately=true
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:45167])[Immediately] closed
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - destroy(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[TransportServerSubsystem[netconf]] - shutdown executor service - runners count=0
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@4c6a52dc) signal close complete immediately=true
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092])[Immediately] closed
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - unregisterChannel(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) result=null
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@4b2935d4) signal close complete immediately=false
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@77a0501f) signal close complete immediately=false
02:34:21,618 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - onExit(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:52092]) code=0 message='' shell closed
02:34:21,618 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:45167][netconf])[Immediately] closed
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - close(TransportServerSession[device-username@/127.0.0.1:52092]) Closing immediately
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Session 1 closed
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - close(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:52092]]) Closing immediately
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:52092]) stopping
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:52092]) stopped
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - close(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:52092]])[Immediately] closed
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] 1:45167] - close(TransportIoSession[local=/127.0.0.1:45167, remote=/127.0.0.1:52092]) Closing immediately
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] 1:45167] - close(TransportIoSession[local=/127.0.0.1:45167, remote=/127.0.0.1:52092])[Immediately] closed
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@5430e494) signal close complete immediately=true
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - close(TransportServerSession[device-username@/127.0.0.1:52092])[Immediately] closed
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Channel [id: 0xb0e22dd6, L:/127.0.0.1:45167 ! R:/127.0.0.1:52092] inactive.
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session NetconfServerSession{sessionId=1, channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 ! R:/127.0.0.1:52092]} end of input detected while session was in state up
02:34:21,619 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Session NetconfServerSession{sessionId=1, channel=[id: 0xb0e22dd6, L:/127.0.0.1:45167 ! R:/127.0.0.1:52092]} down, reason: End of input
02:34:21,619 PM [netconf-netty-e2e-0] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:45167])[Immediately] state already Closed
02:34:21,619 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Channel [id: 0xfd8bc99d, L:/127.0.0.1:52092 ! R:/127.0.0.1:45167] inactive.
02:34:21,619 PM [netconf-netty-e2e-0] [DEBUG] AbstractNetconfSession - Session NetconfClientSession{sessionId=1, channel=[id: 0xfd8bc99d, L:/127.0.0.1:52092 ! R:/127.0.0.1:45167]} end of input detected while session was in state up
02:34:21,619 PM [netconf-netty-e2e-0] [INFO] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Session went down: End of input
02:34:21,620 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceCommunicator - Tearing down null
02:34:21,622 PM [netconf-netty-e2e-0] [DEBUG] NetconfDeviceMount - RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167]: Mountpoint removed from MD-SAL {closed=true, instance=org.opendaylight.mdsal.dom.spi.SimpleDOMMountPoint@5cc72b9f}
02:34:21,622 PM [netconf-netty-e2e-0] [DEBUG] NetconfNodeHandler - Retrying RemoteDeviceId[name=device-sim, address=/127.0.0.1:45167] connection attempt 1 after 1877 milliseconds
02:34:21,634 PM [main] [INFO] DOMNotificationRouter - DOM Notification Router started
02:34:21,635 PM [main] [INFO] DOMRpcRouter - DOM RPC/Action router started
02:34:21,640 PM [main] [INFO] RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer
02:34:21,640 PM [main] [INFO] RestconfTransportChannelListener - Initialized with base path: /rests, default encoding: JSON, default pretty print: false
02:34:21,641 PM [main] [INFO] DefaultNetconfTimer - NETCONF timer started
02:34:21,643 PM [main] [INFO] DefaultSchemaResourceManager - Schema Resource Manager instantiated on /tmp/junit-9439900072119814545/schema
02:34:21,644 PM [main] [DEBUG] AbstractNetconfTopology - Topology topology-netconf initialized
02:34:21,644 PM [main] [DEBUG] NetconfTopologyImpl - Registering datastore listener
02:34:21,645 PM [main] [INFO] DefaultNetconfTimer - NETCONF timer started
02:34:21,646 PM [main] [INFO] NetconfDeviceSimulator - Starting 1, SSH simulated devices starting on port 43963
02:34:21,646 PM [main] [INFO] NetconfDeviceSimulator - Loading models from classpath.
02:34:21,677 PM [main] [INFO] NetconfDeviceSimulator - using MdsalOperationProvider.
02:34:21,678 PM [main] [DEBUG] NetconfDeviceSimulator - Ports: [43963]
02:34:21,679 PM [main] [INFO] NetconfDeviceSimulator - All simulated devices started successfully from port 43963 to 43963
02:34:21,685 PM [restconf-netty-e2e-1] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x33832a05, L:/127.0.0.1:42725 - R:/127.0.0.1:39622]
02:34:21,689 PM [restconf-netty-e2e-1] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,690 PM [restconf-netty-e2e-1] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:21,690 PM [restconf-netty-e2e-1] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:21,695 PM [restconf-netty-e2e-2] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x7c441cdd, L:/127.0.0.1:42725 - R:/127.0.0.1:39628]
02:34:21,697 PM [restconf-netty-e2e-2] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:21,697 PM [restconf-netty-e2e-2] [DEBUG] APIResource - Preparing POST http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:21,697 PM [restconf-netty-e2e-2] [DEBUG] HTTPServerSession - Dispatching POST http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:21,701 PM [restconf-netty-e2e-2] [DEBUG] NetconfTopologyImpl - Config for node Uri{value=device-sim} created
02:34:21,701 PM [restconf-netty-e2e-2] [INFO] AbstractNetconfTopology - Connecting RemoteDevice{Uri{value=device-sim}}, with config Node{nodeId=Uri{value=device-sim}, augmentation=[NetconfNodeAugment{netconfNode=NetconfNode{actorResponseWaitTime=5, backoffJitter=0.1, backoffMultiplier=1.5, concurrentRpcLimit=0, connectionTimeoutMillis=20000, credentials=***, defaultRequestTimeoutMillis=60000, host=Host{ipAddress=IpAddress{ipv4Address=Ipv4Address{value=127.0.0.1}}}, keepaliveDelay=120, lockDatastore=true, maxBackoffMillis=1800000, maxConnectionAttempts=0, minBackoffMillis=2000, port=PortNumber{value=43963}, reconnectOnChangedSchema=false, schemaCacheDirectory=schema, schemaless=false, tcpOnly=false}}]}
02:34:21,702 PM [restconf-netty-e2e-2] [INFO] NetconfNodeHandler - Adding keepalive facade, for device Uri{value=device-sim}
02:34:21,703 PM [restconf-netty-e2e-2] [INFO] NetconfNodeHandler - Concurrent rpc limit is smaller than 1, no limit will be enforced for device RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]
02:34:21,704 PM [netconf-netty-e2e-2] [DEBUG] SSHTransportStack - Underlay establishing, attaching SSH to TCPTransportChannel{channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]}
02:34:21,705 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - Client session created: TransportIoSession[local=/127.0.0.1:48928, remote=/127.0.0.1:43963]
02:34:21,705 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Underlay establishing, attaching SSH to TCPTransportChannel{channel=[id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]}
02:34:21,705 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - ClientUserAuthService(TransportClientSession[null@/127.0.0.1:43963]) client methods: [password]
02:34:21,705 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - initializeProxyConnector(TransportClientSession[null@/127.0.0.1:43963]) no proxy to initialize
02:34:21,705 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - sendIdentification(TransportClientSession[null@/127.0.0.1:43963]): SSH-2.0-SSHD-UNKNOWN
02:34:21,706 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - sendKexInit(TransportClientSession[null@/127.0.0.1:43963]) Send SSH_MSG_KEXINIT
02:34:21,706 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[null@/127.0.0.1:43963]) packet #0 sending command=20[SSH_MSG_KEXINIT] len=1358
02:34:21,706 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendIdentification(TransportServerSession[null@/127.0.0.1:48928]): SSH-2.0-SSHD-UNKNOWN
02:34:21,707 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doReadIdentification(TransportServerSession[null@/127.0.0.1:48928]) line='SSH-2.0-SSHD-UNKNOWN'
02:34:21,707 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - readIdentification(TransportServerSession[null@/127.0.0.1:48928]) client version string: SSH-2.0-SSHD-UNKNOWN
02:34:21,709 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doReadIdentification(TransportClientSession[device-username@/127.0.0.1:43963]) line='SSH-2.0-SSHD-UNKNOWN'
02:34:21,709 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - readIdentification(TransportClientSession[device-username@/127.0.0.1:43963]) Server version string: SSH-2.0-SSHD-UNKNOWN
02:34:21,953 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendKexInit(TransportServerSession[null@/127.0.0.1:48928]) Send SSH_MSG_KEXINIT
02:34:21,954 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #0 sending command=20[SSH_MSG_KEXINIT] len=978
02:34:21,954 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #0 SSH_MSG_KEXINIT
02:34:21,954 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - handleKexInit(TransportClientSession[device-username@/127.0.0.1:43963]) SSH_MSG_KEXINIT
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - negotiate(TransportClientSession[device-username@/127.0.0.1:43963]) strict KEX=true client=true server=true
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: kex algorithms = sntrup761x25519-sha512
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: server host key algorithms = rsa-sha2-512
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: encryption algorithms (client to server) = chacha20-poly1305@openssh.com
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: encryption algorithms (server to client) = chacha20-poly1305@openssh.com
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: mac algorithms (client to server) = hmac-sha2-256-etm@openssh.com
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: mac algorithms (server to client) = hmac-sha2-256-etm@openssh.com
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: compression algorithms (client to server) = none
02:34:21,955 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:43963]) Kex: compression algorithms (server to client) = none
02:34:21,960 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:48928]) process #0 SSH_MSG_KEXINIT
02:34:21,960 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleKexInit(TransportServerSession[null@/127.0.0.1:48928]) SSH_MSG_KEXINIT
02:34:21,960 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - negotiate(TransportServerSession[null@/127.0.0.1:48928]) strict KEX=true client=true server=true
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: kex algorithms = sntrup761x25519-sha512
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: server host key algorithms = rsa-sha2-512
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: encryption algorithms (client to server) = chacha20-poly1305@openssh.com
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: encryption algorithms (server to client) = chacha20-poly1305@openssh.com
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: mac algorithms (client to server) = hmac-sha2-256-etm@openssh.com
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: mac algorithms (server to client) = hmac-sha2-256-etm@openssh.com
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: compression algorithms (client to server) = none
02:34:21,961 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:48928]) Kex: compression algorithms (server to client) = none
02:34:21,964 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Key exchange completed on session 1
02:34:22,220 PM [restconf-netty-e2e-3] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xc8c60fc0, L:/127.0.0.1:42725 - R:/127.0.0.1:39630]
02:34:22,222 PM [restconf-netty-e2e-3] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:22,222 PM [restconf-netty-e2e-3] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:22,222 PM [restconf-netty-e2e-3] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:22,590 PM [netconf-netty-e2e-2] [DEBUG] DHGClient - init(DHGClient[sntrup761x25519-sha512])[TransportClientSession[device-username@/127.0.0.1:43963]] Send SSH_MSG_KEXDH_INIT
02:34:22,591 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #1 sending command=30[30] len=1195
02:34:22,591 PM [netconf-netty-e2e-2] [DEBUG] SSHTransportStack - Key exchange completed on session 1
02:34:22,592 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:48928]) process #1 30
02:34:22,592 PM [netconf-device-simulator-threads-1] [DEBUG] DHGServer - next(DHGServer[sntrup761x25519-sha512])[TransportServerSession[null@/127.0.0.1:48928]] process command=SSH_MSG_KEXDH_INIT
02:34:22,662 PM [netconf-device-simulator-threads-1] [DEBUG] DHGServer - next(DHGServer[sntrup761x25519-sha512])[TransportServerSession[null@/127.0.0.1:48928]] Send SSH_MSG_KEXDH_REPLY
02:34:22,662 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #1 sending command=31[31] len=1639
02:34:22,663 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleKexMessage(TransportServerSession[null@/127.0.0.1:48928])[sntrup761x25519-sha512] KEX processing complete after cmd=30
02:34:22,663 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #1 31
02:34:22,663 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendNewKeys(TransportServerSession[null@/127.0.0.1:48928]) Send SSH_MSG_NEWKEYS
02:34:22,663 PM [netconf-netty-e2e-2] [DEBUG] DHGClient - next(DHGClient[sntrup761x25519-sha512])[TransportClientSession[device-username@/127.0.0.1:43963]] process command=SSH_MSG_KEXDH_REPLY
02:34:22,664 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - prepareNewKeys(TransportServerSession[null@/127.0.0.1:48928]) session ID=be:98:4a:e2:62:71:65:7d:ef:12:5a:4f:32:ec:57:49:a0:19:6b:fe:a8:8d:9c:c9:96:5a:e8:d6:32:15:82:52:13:af:65:67:6a:f8:f7:7b:98:d3:33:63:5a:17:b1:a8:09:4a:33:c8:24:db:4e:0b:d3:0b:3c:9c:fd:a8:30:d2
02:34:22,664 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #2 sending command=21[SSH_MSG_NEWKEYS] len=1
02:34:22,664 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setOutputEncoding(TransportServerSession[null@/127.0.0.1:48928]): strict KEX resets output message sequence number from 3 to 0
02:34:22,665 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setOutputEncoding(TransportServerSession[null@/127.0.0.1:48928]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@6ceb7053; mac null; compression none[Deflater/-1]; blocks limit 134217728
02:34:22,665 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - collectExtensions(TransportServerSession[null@/127.0.0.1:48928])[NEWKEYS]: extension info server-sig-algs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
02:34:22,665 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - sendKexExtensions(TransportServerSession[null@/127.0.0.1:48928])[NEWKEYS]: sending SSH_MSG_EXT_INFO with 1 info records
02:34:22,665 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #0 sending command=7[7] len=419
02:34:22,665 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleNewKeys(TransportServerSession[null@/127.0.0.1:48928]) No pending packets to flush at end of KEX
02:34:22,729 PM [restconf-netty-e2e-4] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x0f34f4a5, L:/127.0.0.1:42725 - R:/127.0.0.1:39638]
02:34:22,732 PM [restconf-netty-e2e-4] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:22,732 PM [restconf-netty-e2e-4] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:22,732 PM [restconf-netty-e2e-4] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:22,869 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setServerKey(TransportClientSession[device-username@/127.0.0.1:43963]) keyType=ssh-rsa, digest=SHA256:rwDn3oTbfFqc236VCxpch8V8C07PDdPI2pl9l0WVJRY
02:34:22,869 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - handleKexMessage(TransportClientSession[device-username@/127.0.0.1:43963])[sntrup761x25519-sha512] KEX processing complete after cmd=31
02:34:22,869 PM [netconf-netty-e2e-2] [WARN] AcceptAllServerKeyVerifier - Server at /127.0.0.1:43963 presented unverified RSA key: SHA256:rwDn3oTbfFqc236VCxpch8V8C07PDdPI2pl9l0WVJRY
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - checkKeys(TransportClientSession[device-username@/127.0.0.1:43963]) key=ssh-rsa-SHA256:rwDn3oTbfFqc236VCxpch8V8C07PDdPI2pl9l0WVJRY, verified=true
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - sendNewKeys(TransportClientSession[device-username@/127.0.0.1:43963]) Send SSH_MSG_NEWKEYS
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - prepareNewKeys(TransportClientSession[device-username@/127.0.0.1:43963]) session ID=be:98:4a:e2:62:71:65:7d:ef:12:5a:4f:32:ec:57:49:a0:19:6b:fe:a8:8d:9c:c9:96:5a:e8:d6:32:15:82:52:13:af:65:67:6a:f8:f7:7b:98:d3:33:63:5a:17:b1:a8:09:4a:33:c8:24:db:4e:0b:d3:0b:3c:9c:fd:a8:30:d2
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #2 sending command=21[SSH_MSG_NEWKEYS] len=1
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setOutputEncoding(TransportClientSession[device-username@/127.0.0.1:43963]): strict KEX resets output message sequence number from 3 to 0
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setOutputEncoding(TransportClientSession[device-username@/127.0.0.1:43963]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@4057b228; mac null; compression none[Deflater/-1]; blocks limit 134217728
02:34:22,870 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - handleNewKeys(TransportClientSession[device-username@/127.0.0.1:43963]) No pending packets to flush at end of KEX
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #2 SSH_MSG_NEWKEYS
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - handleNewKeys(TransportClientSession[device-username@/127.0.0.1:43963]) SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setInputEncoding(TransportClientSession[device-username@/127.0.0.1:43963]): strict KEX resets input message sequence number from 3 to 0
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - setInputEncoding(TransportClientSession[device-username@/127.0.0.1:43963]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@7afacfef; mac null; compression none[Inflater/-1]; blocks limit 134217728
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - sendInitialServiceRequest(TransportClientSession[device-username@/127.0.0.1:43963]) Send SSH_MSG_SERVICE_REQUEST for ssh-userauth
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #0 sending command=5[SSH_MSG_SERVICE_REQUEST] len=17
02:34:22,871 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:48928]) process #2 SSH_MSG_NEWKEYS
02:34:22,871 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleNewKeys(TransportServerSession[null@/127.0.0.1:48928]) SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] SSHTransportStack - New key established on session 1
02:34:22,871 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setInputEncoding(TransportServerSession[null@/127.0.0.1:48928]): strict KEX resets input message sequence number from 3 to 0
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] SSHClient - Authenticating session 1
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - auth(TransportClientSession[device-username@/127.0.0.1:43963])[ssh-connection] send SSH_MSG_USERAUTH_REQUEST for 'none'
02:34:22,871 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #1 sending command=50[SSH_MSG_USERAUTH_REQUEST] len=46
02:34:22,871 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setInputEncoding(TransportServerSession[null@/127.0.0.1:48928]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@3d5351cc; mac null; compression none[Inflater/-1]; blocks limit 134217728
02:34:22,872 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #0 7
02:34:22,872 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - New key established on session 1
02:34:22,872 PM [netconf-netty-e2e-2] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:43963]): [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:22,872 PM [netconf-netty-e2e-2] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:43963]): PubkeyAcceptedAlgorithms before: [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:22,872 PM [netconf-netty-e2e-2] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:43963]): PubkeyAcceptedAlgorithms after: [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:22,872 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:48928]) process #0 SSH_MSG_SERVICE_REQUEST
02:34:22,872 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleServiceRequest(TransportServerSession[null@/127.0.0.1:48928]) SSH_MSG_SERVICE_REQUEST 'ssh-userauth'
02:34:22,873 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - ServerUserAuthService(TransportServerSession[null@/127.0.0.1:48928]) authorized authentication methods: password,publickey
02:34:22,873 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleServiceRequest(TransportServerSession[null@/127.0.0.1:48928]) Accepted service ssh-userauth
02:34:22,873 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #1 sending command=6[SSH_MSG_SERVICE_ACCEPT] len=17
02:34:22,874 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #1 SSH_MSG_SERVICE_ACCEPT
02:34:22,874 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - handleServiceAccept(TransportClientSession[device-username@/127.0.0.1:43963]) SSH_MSG_SERVICE_ACCEPT service=ssh-userauth
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:48928]) process #1 SSH_MSG_USERAUTH_REQUEST
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:48928]) Received SSH_MSG_USERAUTH_REQUEST user=device-username, service=ssh-connection, method=none
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:48928]) Authenticating user 'device-username' with service 'ssh-connection' and method 'none' (attempt 0 / 20)
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:48928]) no authentication factory for method=none
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationFailure(null@TransportServerSession[null@/127.0.0.1:48928]) SSH_MSG_USERAUTH_REQUEST
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationFailure(null@TransportServerSession[null@/127.0.0.1:48928]) remaining methods: password,publickey
02:34:22,874 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #2 sending command=51[SSH_MSG_USERAUTH_FAILURE] len=24
02:34:22,874 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #2 SSH_MSG_USERAUTH_FAILURE
02:34:22,874 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - processUserAuth(TransportClientSession[device-username@/127.0.0.1:43963]) Received SSH_MSG_USERAUTH_FAILURE - partial=false, methods=password,publickey
02:34:22,875 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:43963]) starting authentication mechanisms: client=[password], client index=0, server=[password, publickey]
02:34:22,875 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:43963]) attempting method=password
02:34:22,875 PM [netconf-netty-e2e-2] [DEBUG] UserAuthPassword - sendPassword(TransportClientSession[device-username@/127.0.0.1:43963])[ssh-connection] send SSH_MSG_USERAUTH_REQUEST for password - modified=false
02:34:22,875 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #2 sending command=50[SSH_MSG_USERAUTH_REQUEST] len=70
02:34:22,875 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:43963]) successfully processed initial buffer by method=password
02:34:22,875 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:48928]) process #2 SSH_MSG_USERAUTH_REQUEST
02:34:22,875 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:48928]) Received SSH_MSG_USERAUTH_REQUEST user=device-username, service=ssh-connection, method=password
02:34:22,875 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:48928]) Authenticating user 'device-username' with service 'ssh-connection' and method 'password' (attempt 1 / 20)
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] UserAuthPassword - checkPassword(TransportServerSession[null@/127.0.0.1:48928]) authentication result: true
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationSuccess(device-username@TransportServerSession[null@/127.0.0.1:48928]) SSH_MSG_USERAUTH_REQUEST
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - sendKexExtensions(TransportServerSession[null@/127.0.0.1:48928])[AUTHOK]: no extension info; skipping sending SSH_MSG_EXT_INFO
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:48928]) packet #3 sending command=52[SSH_MSG_USERAUTH_SUCCESS] len=1
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Authentication on session 1 successful
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] SSHServer - Awaiting "netconf" subsystem on session 1
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:48928]) no heartbeat to stop
02:34:22,876 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - startHeartbeat(TransportServerSession[device-username@/127.0.0.1:48928]) heartbeat type=IGNORE, interval=PT30S
02:34:22,877 PM [netconf-device-simulator-threads-1] [INFO] TransportServerSession - Session device-username@/127.0.0.1:48928 authenticated
02:34:22,877 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #3 SSH_MSG_USERAUTH_SUCCESS
02:34:22,877 PM [netconf-netty-e2e-2] [DEBUG] ClientUserAuthService - processUserAuth(TransportClientSession[device-username@/127.0.0.1:43963]) SSH_MSG_USERAUTH_SUCCESS Succeeded with password
02:34:22,877 PM [netconf-netty-e2e-2] [DEBUG] UserAuthPassword - destroy(TransportClientSession[device-username@/127.0.0.1:43963])[ssh-connection]
02:34:22,877 PM [netconf-netty-e2e-2] [DEBUG] SSHTransportStack - Authentication on session 1 successful
02:34:22,877 PM [netconf-netty-e2e-2] [DEBUG] SSHClient - Opening "netconf" subsystem on session 1
02:34:22,877 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - init() service=ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:43963]] session=TransportClientSession[device-username@/127.0.0.1:43963] id=0
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - init(LocalWindow[client](TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:43963][netconf])) size=2097152, max=2097152, packet=32768
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - registerChannel(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:43963]])[id=0, registered=true] TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - createSubsystemChannel(TransportClientSession[device-username@/127.0.0.1:43963])[netconf] created id=0
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Opening client subsystem "netconf"
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - open(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) Send SSH_MSG_CHANNEL_OPEN - type=session
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #3 sending command=90[SSH_MSG_CHANNEL_OPEN] len=24
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:43963]) no heartbeat to stop
02:34:22,878 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #3 SSH_MSG_CHANNEL_OPEN
02:34:22,878 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - channelOpen(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:48928]]) SSH_MSG_CHANNEL_OPEN sender=0, type=session, window-size=2097152, packet-size=32768
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - startHeartbeat(TransportClientSession[device-username@/127.0.0.1:43963]) heartbeat type=IGNORE, interval=PT30S
02:34:22,878 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - init() service=ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:48928]] session=TransportServerSession[device-username@/127.0.0.1:48928] id=0
02:34:22,878 PM [netconf-netty-e2e-2] [DEBUG] SSHClient - Session 1 authenticated
02:34:22,878 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:48928])) size=2097152, max=2097152, packet=32768
02:34:22,878 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - registerChannel(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:48928]])[id=0, registered=true] TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,879 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - setRecipient(TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:48928]) recipient=0
02:34:22,879 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - init(RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])) size=2097152, max=2097152, packet=32768
02:34:22,879 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])) re-initializing
02:34:22,879 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])) size=2097152, max=2097152, packet=32768
02:34:22,879 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - channelOpenSuccess(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) send SSH_MSG_CHANNEL_OPEN_CONFIRMATION recipient=0, sender=0, window-size=2097152, packet-size=32768
02:34:22,879 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #4 sending command=91[SSH_MSG_CHANNEL_OPEN_CONFIRMATION] len=17
02:34:22,879 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #4 SSH_MSG_CHANNEL_OPEN_CONFIRMATION
02:34:22,879 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - channelOpenConfirmation(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_OPEN_CONFIRMATION sender=0, window-size=2097152, packet-size=32768
02:34:22,879 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - setRecipient(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) recipient=0
02:34:22,879 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - init(RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf])) size=2097152, max=2097152, packet=32768
02:34:22,879 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - doOpen(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_REQUEST subsystem=netconf
02:34:22,879 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - addPendingRequest(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) request=subsystem, pending=Wed Oct 16 14:34:22 UTC 2024
02:34:22,880 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #4 sending command=98[SSH_MSG_CHANNEL_REQUEST] len=30
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #4 SSH_MSG_CHANNEL_REQUEST
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleChannelRequest(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_REQUEST subsystem wantReply=true
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleSubsystem(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[want-reply=true] subsystem=netconf
02:34:22,880 PM [netconf-netty-e2e-2] [DEBUG] SSHClient - Opened "netconf" subsystem on session 1
02:34:22,880 PM [netconf-netty-e2e-2] [DEBUG] SSHTransportStack - Established transport on session 1
02:34:22,880 PM [netconf-netty-e2e-2] [DEBUG] ClientTransportChannelListener - Initializing established transport SSHTransportChannel{underlay=TCPTransportChannel{channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]}}
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - prepareChannelCommand(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[subsystem] prepared command
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] SSHServer - Established "netconf" subsystem on session 1
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Established transport on session 1
02:34:22,880 PM [netconf-device-simulator-threads-1] [DEBUG] ServerTransportInitializer - Transport channel SSHTransportChannel{underlay=TCPTransportChannel{channel=[id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]}} established
02:34:22,881 PM [netconf-device-simulator-threads-1] [DEBUG] TesttoolNegotiationFactory - Session 1: Creating new operation service factory for test tool device on address /[0:0:0:0:0:0:0:0]:43963
02:34:22,881 PM [netconf-device-simulator-threads-1] [DEBUG] MdsalOperationProvider - Session 1: Creating data stores for simulated device
02:34:22,881 PM [netconf-device-simulator-threads-1] [INFO] InMemoryDOMDataStoreFactory - ThreadFactory created: DOM-OPER-DCL
02:34:22,881 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Starting session negotiation on channel [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]
02:34:22,881 PM [netconf-device-simulator-threads-1] [INFO] InMemoryDOMDataStoreFactory - ThreadFactory created: DOM-CFG-DCL
02:34:22,881 PM [netconf-device-simulator-threads-1] [INFO] MdsalOperationProvider - ThreadFactory created: CommitFutures
02:34:22,881 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Sending negotiation proposal urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.0
on channel [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]
02:34:22,882 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 373 down to 2096779
02:34:22,882 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #5 sending command=94[SSH_MSG_CHANNEL_DATA] len=382
02:34:22,882 PM [netconf-netty-e2e-2] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.codec.XMLMessageWriter@192808aa
02:34:22,882 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Changing state from : IDLE to : OPEN_WAIT for channel: [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]
02:34:22,883 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Session negotiation started on channel [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]
02:34:22,884 PM [netconf-device-simulator-threads-1] [DEBUG] MdsalOperationProvider - Netconf state updated successfully
02:34:22,886 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Starting session negotiation on channel [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]
02:34:22,886 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Sending negotiation proposal test:device:simulator?module=device-sim&revision=2024-09-17urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:notification:1.0urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.01
on channel [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]
02:34:22,887 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 1198 down to 2095954
02:34:22,887 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #5 sending command=94[SSH_MSG_CHANNEL_DATA] len=1207
02:34:22,888 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #5 SSH_MSG_CHANNEL_DATA
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.codec.XMLMessageWriter@192808aa
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Changing state from : IDLE to : OPEN_WAIT for channel: [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]
02:34:22,888 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 1198 down to 2095954
02:34:22,888 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=1198
02:34:22,888 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 1198 bytes of data
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Session negotiation started on channel [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]
02:34:22,888 PM [netconf-netty-e2e-2] [DEBUG] EOMFrameDecoder - Context ChannelHandlerContext(frameDecoder, [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]) buffer UnpooledHeapByteBuf(ridx: 0, widx: 1198, cap: 1198/1198) frame detected: length 1192
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendResponse(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) request=subsystem result=ReplySuccess, want-reply=true
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #6 sending command=99[SSH_MSG_CHANNEL_SUCCESS] len=5
02:34:22,888 PM [netconf-netty-e2e-2] [DEBUG] HelloXMLMessageDecoder - CONFIDENTIAL Parsing message
test:device:simulator?module=device-sim&revision=2024-09-17urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:notification:1.0urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.01
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendResponse(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) request=subsystem activate command
02:34:22,888 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - start(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) starting runner for command=netconf
02:34:22,889 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #5 SSH_MSG_CHANNEL_DATA
02:34:22,889 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 373 down to 2096779
02:34:22,889 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=373
02:34:22,889 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 373 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,889 PM [netconf-device-simulator-threads-1] [DEBUG] EOMFrameDecoder - Context ChannelHandlerContext(frameDecoder, [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]) buffer UnpooledHeapByteBuf(ridx: 0, widx: 373, cap: 373/373) frame detected: length 367
02:34:22,889 PM [netconf-device-simulator-threads-1] [DEBUG] HelloXMLMessageDecoder - CONFIDENTIAL Parsing message
urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.0
02:34:22,889 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Negotiation read invoked on channel [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]
02:34:22,889 PM [netconf-netty-e2e-2] [DEBUG] MessageEncoder - Switched framing to FramingSupport{mechanism=CHUNK, chunkSize=8192}
02:34:22,890 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Changing state from : OPEN_WAIT to : ESTABLISHED for channel: [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Negotiation read invoked on channel [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched framing to FramingSupport{mechanism=CHUNK, chunkSize=8192}
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Changing state from : OPEN_WAIT to : ESTABLISHED for channel: [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionNegotiator - Additional header from hello parsed as NetconfHelloMessageAdditionalHeader{userName='unknown', hostAddress='127.0.0.1', port='43963', transport='tcp', sessionIdentifier='client'} from Optional.empty
02:34:22,890 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Session SessionIdType{value=1} created
02:34:22,890 PM [netconf-netty-e2e-2] [DEBUG] NetconfClientSession - Client Session NetconfClientSession{sessionId=1, channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]} created
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session SessionIdType{value=1} created
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]} created
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Negotiation on channel [id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928] successful with session NetconfServerSession{sessionId=1, channel=[id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]}
02:34:22,890 PM [netconf-netty-e2e-2] [DEBUG] NetconfClientSessionNegotiator - Netconf session NetconfClientSession{sessionId=1, channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]} should use exi.
02:34:22,890 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]} up
02:34:22,891 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 393 down to 2096386
02:34:22,891 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #6 sending command=94[SSH_MSG_CHANNEL_DATA] len=402
02:34:22,891 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #6 SSH_MSG_CHANNEL_DATA
02:34:22,891 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 393 down to 2096386
02:34:22,891 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=393
02:34:22,891 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 393 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,891 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #6 SSH_MSG_CHANNEL_SUCCESS
02:34:22,891 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - removePendingRequest(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) request=subsystem, pending=Wed Oct 16 14:34:22 UTC 2024
02:34:22,892 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleSuccess(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) subsystem=netconf, pending since=Wed Oct 16 14:34:22 UTC 2024
02:34:22,892 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: byte-aligned
02:34:22,893 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,893 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message byte-aligned
to org.opendaylight.netconf.server.mapping.operations.DefaultStartExi{name=start-exi, namespace=urn:ietf:params:xml:ns:netconf:exi:1.0, session=1}
02:34:22,893 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultStartExi - Received start-exi message byte-aligned
02:34:22,894 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switching to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@1c5795f8 after next message
02:34:22,894 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfExiSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x0a40e352, L:/127.0.0.1:43963 - R:/127.0.0.1:48928]} EXI handlers added to pipeline
02:34:22,894 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:22,895 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@1c5795f8
02:34:22,895 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2095775
02:34:22,895 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #7 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:22,895 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="default-start-exi"
02:34:22,895 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #7 SSH_MSG_CHANNEL_DATA
02:34:22,895 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2095775
02:34:22,895 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:22,895 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:22,896 PM [netconf-netty-e2e-2] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@2c21c18f
02:34:22,896 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfExiSession - Session NetconfClientSession{sessionId=1, channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]} EXI handlers added to pipeline
02:34:22,896 PM [netconf-netty-e2e-2] [DEBUG] NetconfSessionNegotiator - Negotiation on channel [id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963] successful with session NetconfClientSession{sessionId=1, channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]}
02:34:22,896 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Session NetconfClientSession{sessionId=1, channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 - R:/127.0.0.1:43963]} up
02:34:22,896 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Session established
02:34:22,897 PM [netconf-netty-e2e-2] [DEBUG] NetconfDevice - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Session to remote device established with NetconfSessionPreferences{capabilities={urn:ietf:params:netconf:capability:notification:1.0=DeviceAdvertised, urn:ietf:params:netconf:capability:exi:1.0=DeviceAdvertised, urn:ietf:params:netconf:capability:candidate:1.0=DeviceAdvertised, urn:ietf:params:netconf:base:1.1=DeviceAdvertised, urn:ietf:params:netconf:base:1.0=DeviceAdvertised}, moduleBasedCapabilities={(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types=DeviceAdvertised, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring=DeviceAdvertised, (test:device:simulator?revision=2024-09-17)device-sim=DeviceAdvertised, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types=DeviceAdvertised, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring=DeviceAdvertised}, rollback=false, monitoring=true, candidate=true, writableRunning=false}
02:34:22,897 PM [netconf-netty-e2e-2] [DEBUG] DefaultBaseNetconfSchemaProvider - Loading base schema for Capabilities[writableRunning=false, candidate=true, confirmedCommit=false, rollbackOnError=false, validate=false, startup=false, url=false, xpath=false, notifications=true, library=false, monitoring=true]
02:34:22,944 PM [netconf-netty-e2e-2] [DEBUG] DefaultBaseNetconfSchemaProvider - Schema for Capabilities[writableRunning=false, candidate=true, confirmedCommit=false, rollbackOnError=false, validate=false, startup=false, url=false, xpath=false, notifications=true, library=false, monitoring=true] assembled in 47.48 ms
02:34:22,946 PM [netconf-netty-e2e-2] [DEBUG] NetconfStateSchemasResolverImpl - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: resolving YANG 1.0 conformance
02:34:22,947 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 340 down to 2096046
02:34:22,947 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #7 sending command=94[SSH_MSG_CHANNEL_DATA] len=349
02:34:22,948 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #7 SSH_MSG_CHANNEL_DATA
02:34:22,948 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 340 down to 2096046
02:34:22,948 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=340
02:34:22,948 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 340 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,950 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:22,951 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,951 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:22,951 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:22,953 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='netconf-state', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='netconf-state', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in TAG_MATCH
02:34:22,953 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in TAG_MATCH
02:34:22,953 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message ietf-netconf-monitoringyang2010-10-04urn:ietf:params:xml:ns:yang:ietf-netconf-monitoringNETCONFdevice-simyang2024-09-17test:device:simulatorNETCONFodl-netconf-monitoringyang2022-07-18urn:opendaylight:params:xml:ns:yang:netconf:monitoringNETCONFietf-yang-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-typesNETCONFietf-inet-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-inet-typesNETCONF
02:34:22,956 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 796 down to 2094979
02:34:22,956 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #8 sending command=94[SSH_MSG_CHANNEL_DATA] len=805
02:34:22,956 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-0"
02:34:22,956 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #8 SSH_MSG_CHANNEL_DATA
02:34:22,956 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 796 down to 2094979
02:34:22,956 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=796
02:34:22,956 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 796 bytes of data
02:34:22,958 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received: ietf-netconf-monitoringyang2010-10-04urn:ietf:params:xml:ns:yang:ietf-netconf-monitoringNETCONFdevice-simyang2024-09-17test:device:simulatorNETCONFodl-netconf-monitoringyang2022-07-18urn:opendaylight:params:xml:ns:yang:netconf:monitoringNETCONFietf-yang-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-typesNETCONFietf-inet-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-inet-typesNETCONF
02:34:22,959 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,959 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received ietf-netconf-monitoringyang2010-10-04urn:ietf:params:xml:ns:yang:ietf-netconf-monitoringNETCONFdevice-simyang2024-09-17test:device:simulatorNETCONFodl-netconf-monitoringyang2022-07-18urn:opendaylight:params:xml:ns:yang:netconf:monitoringNETCONFietf-yang-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-typesNETCONFietf-inet-typesyang2013-07-15urn:ietf:params:xml:ns:yang:ietf-inet-typesNETCONF
02:34:22,964 PM [netconf-netty-e2e-2] [DEBUG] NetconfStateSchemasResolverImpl - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Schemas exposed by ietf-netconf-monitoring: [(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring]
02:34:22,964 PM [topology-schema-assembler-4] [DEBUG] DefaultDeviceNetconfSchemaProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Resolved device sources to NetconfDeviceSchemas[requiredSources=[(urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring], features=Sparse{features={}}, librarySources=[], providedSources=[ProvidedSources[representation=class org.opendaylight.yangtools.yang.model.api.source.YangTextSource, provider=org.opendaylight.netconf.client.mdsal.impl.MonitoringSchemaSourceProvider@7d6bb0fe, sources=[(urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring]]]]
02:34:22,965 PM [topology-schema-assembler-4] [DEBUG] SchemaSetup - Failed to acquire source SourceIdentifier [notifications@2008-07-14]
java.util.concurrent.ExecutionException: org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException: No providers registered for source SourceIdentifier [notifications@2008-07-14]
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:596)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:555)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:111)
at com.google.common.util.concurrent.ForwardingFluentFuture.get(ForwardingFluentFuture.java:68)
at org.opendaylight.netconf.client.mdsal.impl.SchemaSetup.lambda$filterMissingSources$3(SchemaSetup.java:169)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:960)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:934)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:667)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:927)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.opendaylight.netconf.client.mdsal.impl.SchemaSetup.filterMissingSources(SchemaSetup.java:176)
at org.opendaylight.netconf.client.mdsal.impl.SchemaSetup.(SchemaSetup.java:98)
at org.opendaylight.netconf.client.mdsal.impl.DefaultDeviceNetconfSchemaProvider.lambda$deviceNetconfSchemaFor$2(DefaultDeviceNetconfSchemaProvider.java:75)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:229)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:216)
at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:129)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException: No providers registered for source SourceIdentifier [notifications@2008-07-14]
at org.opendaylight.yangtools.yang.model.repo.spi.AbstractSchemaRepository.getSchemaSource(AbstractSchemaRepository.java:84)
... 23 more
02:34:22,967 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 365 down to 2095681
02:34:22,968 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #8 sending command=94[SSH_MSG_CHANNEL_DATA] len=374
02:34:22,968 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #8 SSH_MSG_CHANNEL_DATA
02:34:22,968 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 365 down to 2095681
02:34:22,968 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=365
02:34:22,968 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 365 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,969 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 372 down to 2095309
02:34:22,970 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #9 sending command=94[SSH_MSG_CHANNEL_DATA] len=381
02:34:22,970 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-yang-types2013-07-15yang
02:34:22,970 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,971 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-yang-types2013-07-15yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:22,971 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 373 down to 2094936
02:34:22,971 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #10 sending command=94[SSH_MSG_CHANNEL_DATA] len=382
02:34:22,971 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:22,973 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 365 down to 2094571
02:34:22,973 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #11 sending command=94[SSH_MSG_CHANNEL_DATA] len=374
02:34:22,974 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 18245 down to 2076734
02:34:22,974 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #9 sending command=94[SSH_MSG_CHANNEL_DATA] len=18254
02:34:22,975 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-2"
02:34:22,976 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #9 SSH_MSG_CHANNEL_DATA
02:34:22,976 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 372 down to 2095309
02:34:22,976 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=372
02:34:22,976 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 372 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,977 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #9 SSH_MSG_CHANNEL_DATA
02:34:22,977 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: odl-netconf-monitoring2022-07-18yang
02:34:22,977 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,977 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 18245 down to 2076734
02:34:22,977 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=18245
02:34:22,977 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 18245 bytes of data
02:34:22,977 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message odl-netconf-monitoring2022-07-18yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:22,977 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:22,978 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #10 SSH_MSG_CHANNEL_DATA
02:34:22,978 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 373 down to 2094936
02:34:22,978 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=373
02:34:22,978 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 373 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,979 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-netconf-monitoring2010-10-04yang
02:34:22,979 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,979 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-netconf-monitoring2010-10-04yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:22,979 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:22,980 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #11 SSH_MSG_CHANNEL_DATA
02:34:22,980 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 365 down to 2094571
02:34:22,980 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=365
02:34:22,980 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 365 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:22,980 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:22,981 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,981 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:22,980 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-inet-types2013-07-15yang
02:34:22,982 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,983 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-inet-types2013-07-15yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:22,983 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:22,983 PM [netconf-netty-e2e-2] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: YANG Schema successfully retrieved for ietf-yang-types:2013-07-15
02:34:22,984 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 761 down to 2075973
02:34:22,984 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #10 sending command=94[SSH_MSG_CHANNEL_DATA] len=770
02:34:22,985 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-3"
02:34:22,985 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 360 down to 2094211
02:34:22,986 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #12 sending command=94[SSH_MSG_CHANNEL_DATA] len=369
02:34:22,986 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #10 SSH_MSG_CHANNEL_DATA
02:34:22,986 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 761 down to 2075973
02:34:22,986 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=761
02:34:22,986 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 761 bytes of data
02:34:22,986 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 19051 down to 2056922
02:34:22,986 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #11 sending command=94[SSH_MSG_CHANNEL_DATA] len=19060
02:34:22,987 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-1"
02:34:22,987 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:22,987 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:22,987 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:22,988 PM [netconf-netty-e2e-2] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: YANG Schema successfully retrieved for odl-netconf-monitoring:2022-07-18
02:34:22,988 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 17141 down to 2039781
02:34:22,988 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #12 sending command=94[SSH_MSG_CHANNEL_DATA] len=17150
02:34:23,6 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #11 SSH_MSG_CHANNEL_DATA
02:34:23,6 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 19051 down to 2056922
02:34:23,6 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=19051
02:34:23,6 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 19051 bytes of data
02:34:23,6 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-4"
02:34:23,6 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #12 SSH_MSG_CHANNEL_DATA
02:34:23,6 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 360 down to 2094211
02:34:23,6 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=360
02:34:23,6 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 360 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,7 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: device-sim2024-09-17yang
02:34:23,8 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,8 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:23,8 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,8 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:23,9 PM [netconf-netty-e2e-2] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: YANG Schema successfully retrieved for ietf-netconf-monitoring:2010-10-04
02:34:23,10 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #12 SSH_MSG_CHANNEL_DATA
02:34:23,10 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 17141 down to 2039781
02:34:23,10 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=17141
02:34:23,10 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 17141 bytes of data
02:34:23,12 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:23,12 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,12 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:23,13 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message device-sim2024-09-17yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:23,13 PM [netconf-netty-e2e-2] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: YANG Schema successfully retrieved for ietf-inet-types:2013-07-15
02:34:23,13 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:23,16 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 926 down to 2038855
02:34:23,16 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #13 sending command=94[SSH_MSG_CHANNEL_DATA] len=935
02:34:23,17 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-5"
02:34:23,17 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #13 SSH_MSG_CHANNEL_DATA
02:34:23,17 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 926 down to 2038855
02:34:23,17 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=926
02:34:23,17 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 926 bytes of data
02:34:23,18 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:23,18 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,18 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:23,18 PM [netconf-netty-e2e-2] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: YANG Schema successfully retrieved for device-sim:2024-09-17
02:34:23,43 PM [topology-schema-assembler-4] [DEBUG] SchemaSetup - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Schema context built successfully from [SourceIdentifier [ietf-yang-types@2013-07-15], SourceIdentifier [ietf-netconf-monitoring@2010-10-04], SourceIdentifier [device-sim@2024-09-17], SourceIdentifier [ietf-inet-types@2013-07-15], SourceIdentifier [odl-netconf-monitoring@2022-07-18]]
02:34:23,45 PM [topology-schema-assembler-7] [DEBUG] NetconfDeviceMount - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Mountpoint exposed into MD-SAL {closed=false, instance=org.opendaylight.mdsal.dom.spi.SimpleDOMMountPoint@53be101f}
02:34:23,47 PM [topology-schema-assembler-7] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Netconf session initiated, starting keepalives
02:34:23,47 PM [topology-schema-assembler-7] [INFO] NetconfDevice - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Netconf connector initialized successfully
02:34:23,252 PM [restconf-netty-e2e-5] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xef2dd348, L:/127.0.0.1:42725 - R:/127.0.0.1:39648]
02:34:23,254 PM [restconf-netty-e2e-5] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:23,254 PM [restconf-netty-e2e-5] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:23,254 PM [restconf-netty-e2e-5] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:23,261 PM [restconf-netty-e2e-6] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x5f8a5d23, L:/127.0.0.1:42725 - R:/127.0.0.1:39650]
02:34:23,264 PM [restconf-netty-e2e-6] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:23,264 PM [restconf-netty-e2e-6] [DEBUG] APIResource - Preparing PATCH http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:23,265 PM [restconf-netty-e2e-6] [DEBUG] HTTPServerSession - Dispatching PATCH http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:23,265 PM [restconf-netty-e2e-6] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataPATCH(MdsalRestconfServer.java:241)
at org.opendaylight.restconf.server.PendingDataPatchYang.execute(PendingDataPatchYang.java:44)
at org.opendaylight.restconf.server.PendingDataPatchYang.execute(PendingDataPatchYang.java:31)
at org.opendaylight.restconf.server.PendingRequestWithBody.execute(PendingRequestWithBody.java:61)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:23,274 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 198 down to 2094013
02:34:23,274 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #13 sending command=94[SSH_MSG_CHANNEL_DATA] len=207
02:34:23,275 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #13 SSH_MSG_CHANNEL_DATA
02:34:23,275 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 198 down to 2094013
02:34:23,275 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=198
02:34:23,275 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 198 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,276 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,277 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,277 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Lock{name=lock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,277 PM [netconf-device-simulator-threads-1] [DEBUG] Lock - Locking candidate datastore on session: 1
02:34:23,278 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,279 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2038676
02:34:23,279 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #14 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:23,280 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-0"
02:34:23,280 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #14 SSH_MSG_CHANNEL_DATA
02:34:23,280 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2038676
02:34:23,280 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:23,280 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:23,281 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,282 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,282 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,282 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Lock successful.
02:34:23,285 PM [netconf-netty-e2e-2] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:23,287 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 390 down to 2093623
02:34:23,287 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #14 sending command=94[SSH_MSG_CHANNEL_DATA] len=399
02:34:23,287 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #14 SSH_MSG_CHANNEL_DATA
02:34:23,287 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 390 down to 2093623
02:34:23,287 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=390
02:34:23,287 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 390 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,289 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: deviceid1name1value1
02:34:23,289 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,289 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message deviceid1name1value1
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,291 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@4c85825a
02:34:23,292 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,293 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2038497
02:34:23,293 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #15 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:23,294 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-1"
02:34:23,294 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #15 SSH_MSG_CHANNEL_DATA
02:34:23,294 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2038497
02:34:23,294 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:23,294 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:23,294 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,295 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,295 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,296 PM [netconf-netty-e2e-2] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:23,297 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 375 down to 2093248
02:34:23,297 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #15 sending command=94[SSH_MSG_CHANNEL_DATA] len=384
02:34:23,298 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #15 SSH_MSG_CHANNEL_DATA
02:34:23,298 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 375 down to 2093248
02:34:23,298 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=375
02:34:23,298 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 375 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,298 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: id2name2value2
02:34:23,299 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,299 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message id2name2value2
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,300 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@6c2b1e7e
02:34:23,300 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,301 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2038318
02:34:23,301 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #16 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:23,302 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-2"
02:34:23,302 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #16 SSH_MSG_CHANNEL_DATA
02:34:23,302 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2038318
02:34:23,302 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:23,302 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:23,302 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,303 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,303 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,306 PM [netconf-netty-e2e-2] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:23,307 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 342 down to 2092906
02:34:23,307 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #16 sending command=94[SSH_MSG_CHANNEL_DATA] len=351
02:34:23,307 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #16 SSH_MSG_CHANNEL_DATA
02:34:23,307 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 342 down to 2092906
02:34:23,307 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=342
02:34:23,307 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 342 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,308 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: id1
02:34:23,308 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,308 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message id1
to org.opendaylight.netconf.server.mdsal.operations.EditConfig{name=edit-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,309 PM [netconf-device-simulator-threads-1] [DEBUG] SplittingNormalizedNodeMetadataStreamWriter - All done ... writer org.opendaylight.netconf.server.mdsal.operations.ComponentNormalizedNodeStreamWriter@5603b0a4
02:34:23,310 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,311 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2038139
02:34:23,311 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #17 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:23,311 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-3"
02:34:23,311 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #17 SSH_MSG_CHANNEL_DATA
02:34:23,311 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2038139
02:34:23,311 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:23,311 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:23,312 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,312 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,312 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,312 PM [netconf-netty-e2e-2] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:23,313 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 177 down to 2092729
02:34:23,313 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #17 sending command=94[SSH_MSG_CHANNEL_DATA] len=186
02:34:23,313 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #17 SSH_MSG_CHANNEL_DATA
02:34:23,313 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 177 down to 2092729
02:34:23,313 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=177
02:34:23,313 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 177 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,313 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,313 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,314 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Commit{name=commit, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,314 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,315 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2037960
02:34:23,315 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #18 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:23,315 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-4"
02:34:23,315 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #18 SSH_MSG_CHANNEL_DATA
02:34:23,315 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2037960
02:34:23,315 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:23,315 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:23,315 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,316 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,316 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,316 PM [netconf-netty-e2e-2] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Skipping to enable keepalive while expecting 1 RPC reply
02:34:23,317 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 200 down to 2092529
02:34:23,317 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #18 sending command=94[SSH_MSG_CHANNEL_DATA] len=209
02:34:23,317 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #18 SSH_MSG_CHANNEL_DATA
02:34:23,317 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 200 down to 2092529
02:34:23,317 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=200
02:34:23,317 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 200 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,317 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,318 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,318 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Unlock{name=unlock, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,318 PM [netconf-device-simulator-threads-1] [DEBUG] Unlock - Unlocking candidate datastore on session: 1
02:34:23,318 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,318 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 179 down to 2037781
02:34:23,318 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #19 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:23,319 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-5"
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #19 SSH_MSG_CHANNEL_DATA
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 179 down to 2037781
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,319 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,320 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfDataTreeService - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Unlock successful.
02:34:23,324 PM [restconf-netty-e2e-7] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xcf565491, L:/127.0.0.1:42725 - R:/127.0.0.1:39662]
02:34:23,325 PM [restconf-netty-e2e-7] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:23,325 PM [restconf-netty-e2e-7] [DEBUG] APIResource - Preparing GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:23,326 PM [restconf-netty-e2e-7] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:42725/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/device-sim:data-root
02:34:23,326 PM [restconf-netty-e2e-7] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.dataGET(MdsalRestconfServer.java:181)
at org.opendaylight.restconf.server.PendingDataGet.execute(PendingDataGet.java:51)
at org.opendaylight.restconf.server.PendingRequestWithoutBody.execute(PendingRequestWithoutBody.java:39)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:23,328 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 265 down to 2092264
02:34:23,328 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #19 sending command=94[SSH_MSG_CHANNEL_DATA] len=274
02:34:23,329 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #19 SSH_MSG_CHANNEL_DATA
02:34:23,329 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 265 down to 2092264
02:34:23,329 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=265
02:34:23,329 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 265 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,330 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,330 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,330 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.Get{name=get, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,330 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:23,331 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:23,331 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 181 down to 2037600
02:34:23,331 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #20 sending command=94[SSH_MSG_CHANNEL_DATA] len=190
02:34:23,332 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-6"
02:34:23,332 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #20 SSH_MSG_CHANNEL_DATA
02:34:23,332 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 181 down to 2037600
02:34:23,332 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=181
02:34:23,332 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 181 bytes of data
02:34:23,333 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,333 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,333 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received
02:34:23,337 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 294 down to 2091970
02:34:23,337 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:43963]) packet #20 sending command=94[SSH_MSG_CHANNEL_DATA] len=303
02:34:23,338 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:48928]) process #20 SSH_MSG_CHANNEL_DATA
02:34:23,338 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 294 down to 2091970
02:34:23,338 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_DATA len=294
02:34:23,338 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 294 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,338 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:23,338 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,339 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.server.mdsal.operations.GetConfig{name=get-config, namespace=urn:ietf:params:xml:ns:netconf:base:1.0, session=1}
02:34:23,339 PM [netconf-device-simulator-threads-1] [DEBUG] TransactionProvider - Aborting current running Transaction
02:34:23,339 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='data-root', namespace='test:device:simulator'} to XmlElement{name='data-root', namespace='test:device:simulator'} resulted in TAG_MATCH
02:34:23,339 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message deviceid2name2value2
02:34:23,340 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) by 319 down to 2037281
02:34:23,340 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #21 sending command=94[SSH_MSG_CHANNEL_DATA] len=328
02:34:23,340 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-7"
02:34:23,340 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:43963]) process #21 SSH_MSG_CHANNEL_DATA
02:34:23,340 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) by 319 down to 2037281
02:34:23,340 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) SSH_MSG_CHANNEL_DATA len=319
02:34:23,340 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - Forwarding 319 bytes of data
02:34:23,341 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Message was received: deviceid2name2value2
02:34:23,341 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:23,341 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Message received deviceid2name2value2
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - onExit(TransportServerSession[device-username@/127.0.0.1:48928])[TransportServerSubsystem[netconf]] exiting - value=0, message=
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - closeShell(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) exit code=0, immediate=false
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendEof(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_EOF (state=Opened)
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #22 sending command=96[SSH_MSG_CHANNEL_EOF] len=5
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) Closing immediately
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) no EOF sent
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendExitStatus(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) SSH_MSG_CHANNEL_REQUEST exit-status=0
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] LocalWindow - Closing LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf])
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] RemoteWindow - Closing RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf])
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #23 sending command=98[SSH_MSG_CHANNEL_REQUEST] len=25
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] ChannelSession$1 - close([TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]] cmd=SSH_MSG_CHANNEL_DATA) Closing immediately
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] ChannelSession$1 - close([TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]] cmd=SSH_MSG_CHANNEL_DATA)[Immediately] closed
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]]) Closing immediately
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]])[Immediately] closed
02:34:23,345 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) Closing gracefully
02:34:23,345 PM [netconf-netty-e2e-2] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]]) Closing immediately
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]])[Immediately] closed
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf])[immediately=true] processing
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Closing LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - unregisterChannel(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]) result=TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf]
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Closing RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@195ca065) signal close complete immediately=true
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@799e00f1) signal close complete immediately=true
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@5adba9ce) signal close complete immediately=true
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:43963]) Closing immediately
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - signalAuthFailure(TransportClientSession[device-username@/127.0.0.1:43963]) type=SshException, signalled=false, first=false: Session is being closed
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]] cmd=SSH_MSG_CHANNEL_DATA) Closing gracefully
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]] cmd=SSH_MSG_CHANNEL_DATA][Graceful] - operationComplete() closed
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] SSHTransportStack - Session 1 closed
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA) Closing gracefully
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - close(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:43963]]) Closing immediately
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA][Graceful] - operationComplete() closed
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:43963]) stopping
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:43963]) stopped
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[immediately=false] processing
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] ClientConnectionService - close(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:43963]])[Immediately] closed
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[immediately=false] send SSH_MSG_CHANNEL_CLOSE
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] 1:48928] - close(TransportIoSession[local=/127.0.0.1:48928, remote=/127.0.0.1:43963]) Closing immediately
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] 1:48928] - close(TransportIoSession[local=/127.0.0.1:48928, remote=/127.0.0.1:43963])[Immediately] closed
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@4a17fe5c) signal close complete immediately=true
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:43963])[Immediately] closed
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:48928]) packet #24 sending command=97[SSH_MSG_CHANNEL_CLOSE] len=5
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:43963][netconf])[Immediately] closed
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:43963])[Immediately] state already Closed
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Channel [id: 0x3cf1aef8, L:/127.0.0.1:48928 ! R:/127.0.0.1:43963] inactive.
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] AbstractNetconfSession - Session NetconfClientSession{sessionId=1, channel=[id: 0x3cf1aef8, L:/127.0.0.1:48928 ! R:/127.0.0.1:43963]} end of input detected while session was in state up
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - handleClosePacketWriteFailure(GracefulChannelCloseable[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]])[immediately=false] failed (StacklessClosedChannelException) to write SSH_MSG_CHANNEL_CLOSE on channel: null
02:34:23,346 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) Closing immediately
02:34:23,346 PM [netconf-netty-e2e-2] [INFO] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Session went down: End of input
02:34:23,346 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceCommunicator - Tearing down null
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]] cmd=SSH_MSG_CHANNEL_DATA)[Immediately] state already Closed
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA)[Immediately] state already Closed
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[immediately=true] processing
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - unregisterChannel(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) result=TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@58282b1d) signal close complete immediately=true
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - destroy(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[TransportServerSubsystem[netconf]] - shutdown executor service - runners count=0
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@4efdb002) signal close complete immediately=true
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928])[Immediately] closed
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - unregisterChannel(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) result=null
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@d327576) signal close complete immediately=false
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@6e42e4c7) signal close complete immediately=false
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - onExit(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:48928]) code=0 message='' shell closed
02:34:23,347 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - close(TransportServerSession[device-username@/127.0.0.1:48928]) Closing immediately
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Session 1 closed
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - close(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:48928]]) Closing immediately
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:48928]) stopping
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:48928]) stopped
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - close(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:48928]])[Immediately] closed
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] 1:43963] - close(TransportIoSession[local=/127.0.0.1:43963, remote=/127.0.0.1:48928]) Closing immediately
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] 1:43963] - close(TransportIoSession[local=/127.0.0.1:43963, remote=/127.0.0.1:48928])[Immediately] closed
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@77ab5ad1) signal close complete immediately=true
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - close(TransportServerSession[device-username@/127.0.0.1:48928])[Immediately] closed
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Channel [id: 0x0a40e352, L:/127.0.0.1:43963 ! R:/127.0.0.1:48928] inactive.
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x0a40e352, L:/127.0.0.1:43963 ! R:/127.0.0.1:48928]} end of input detected while session was in state up
02:34:23,348 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Session NetconfServerSession{sessionId=1, channel=[id: 0x0a40e352, L:/127.0.0.1:43963 ! R:/127.0.0.1:48928]} down, reason: End of input
02:34:23,350 PM [netconf-netty-e2e-2] [DEBUG] NetconfDeviceMount - RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963]: Mountpoint removed from MD-SAL {closed=true, instance=org.opendaylight.mdsal.dom.spi.SimpleDOMMountPoint@53be101f}
02:34:23,350 PM [netconf-netty-e2e-2] [DEBUG] NetconfNodeHandler - Retrying RemoteDeviceId[name=device-sim, address=/127.0.0.1:43963] connection attempt 1 after 1842 milliseconds
02:34:23,357 PM [main] [INFO] DOMNotificationRouter - DOM Notification Router started
02:34:23,358 PM [main] [INFO] DOMRpcRouter - DOM RPC/Action router started
02:34:23,363 PM [main] [INFO] RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer
02:34:23,363 PM [main] [INFO] RestconfTransportChannelListener - Initialized with base path: /rests, default encoding: JSON, default pretty print: false
02:34:23,364 PM [main] [INFO] DefaultNetconfTimer - NETCONF timer started
02:34:23,366 PM [main] [INFO] DefaultSchemaResourceManager - Schema Resource Manager instantiated on /tmp/junit-14893496190512165658/schema
02:34:23,368 PM [main] [DEBUG] AbstractNetconfTopology - Topology topology-netconf initialized
02:34:23,368 PM [main] [DEBUG] NetconfTopologyImpl - Registering datastore listener
02:34:23,369 PM [main] [INFO] DefaultNetconfTimer - NETCONF timer started
02:34:23,370 PM [main] [INFO] NetconfDeviceSimulator - Starting 1, SSH simulated devices starting on port 40579
02:34:23,371 PM [main] [INFO] NetconfDeviceSimulator - Loading models from classpath.
02:34:23,420 PM [main] [INFO] NetconfDeviceSimulator - using SimulatedOperationProvider.
02:34:23,421 PM [main] [DEBUG] NetconfDeviceSimulator - Ports: [40579]
02:34:23,424 PM [main] [INFO] NetconfDeviceSimulator - All simulated devices started successfully from port 40579 to 40579
02:34:23,429 PM [restconf-netty-e2e-1] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x606d425b, L:/127.0.0.1:46283 - R:/127.0.0.1:54500]
02:34:23,432 PM [restconf-netty-e2e-1] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:23,432 PM [restconf-netty-e2e-1] [DEBUG] APIResource - Preparing GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:23,433 PM [restconf-netty-e2e-1] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:23,437 PM [restconf-netty-e2e-2] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xe88853fa, L:/127.0.0.1:46283 - R:/127.0.0.1:54508]
02:34:23,442 PM [restconf-netty-e2e-2] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:23,442 PM [restconf-netty-e2e-2] [DEBUG] APIResource - Preparing POST http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:23,442 PM [restconf-netty-e2e-2] [DEBUG] HTTPServerSession - Dispatching POST http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf
02:34:23,448 PM [restconf-netty-e2e-2] [DEBUG] NetconfTopologyImpl - Config for node Uri{value=device-sim} created
02:34:23,449 PM [restconf-netty-e2e-2] [INFO] AbstractNetconfTopology - Connecting RemoteDevice{Uri{value=device-sim}}, with config Node{nodeId=Uri{value=device-sim}, augmentation=[NetconfNodeAugment{netconfNode=NetconfNode{actorResponseWaitTime=5, backoffJitter=0.1, backoffMultiplier=1.5, concurrentRpcLimit=0, connectionTimeoutMillis=20000, credentials=***, defaultRequestTimeoutMillis=60000, host=Host{ipAddress=IpAddress{ipv4Address=Ipv4Address{value=127.0.0.1}}}, keepaliveDelay=120, lockDatastore=true, maxBackoffMillis=1800000, maxConnectionAttempts=0, minBackoffMillis=2000, port=PortNumber{value=40579}, reconnectOnChangedSchema=false, schemaCacheDirectory=schema, schemaless=false, tcpOnly=false}}]}
02:34:23,451 PM [restconf-netty-e2e-2] [INFO] NetconfNodeHandler - Adding keepalive facade, for device Uri{value=device-sim}
02:34:23,451 PM [restconf-netty-e2e-2] [INFO] NetconfNodeHandler - Concurrent rpc limit is smaller than 1, no limit will be enforced for device RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]
02:34:23,453 PM [netconf-netty-e2e-4] [DEBUG] SSHTransportStack - Underlay establishing, attaching SSH to TCPTransportChannel{channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]}
02:34:23,453 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - Client session created: TransportIoSession[local=/127.0.0.1:34480, remote=/127.0.0.1:40579]
02:34:23,453 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - ClientUserAuthService(TransportClientSession[null@/127.0.0.1:40579]) client methods: [password]
02:34:23,454 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - initializeProxyConnector(TransportClientSession[null@/127.0.0.1:40579]) no proxy to initialize
02:34:23,454 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - sendIdentification(TransportClientSession[null@/127.0.0.1:40579]): SSH-2.0-SSHD-UNKNOWN
02:34:23,456 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Underlay establishing, attaching SSH to TCPTransportChannel{channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]}
02:34:23,456 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - sendKexInit(TransportClientSession[null@/127.0.0.1:40579]) Send SSH_MSG_KEXINIT
02:34:23,456 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[null@/127.0.0.1:40579]) packet #0 sending command=20[SSH_MSG_KEXINIT] len=1358
02:34:23,456 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendIdentification(TransportServerSession[null@/127.0.0.1:34480]): SSH-2.0-SSHD-UNKNOWN
02:34:23,457 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doReadIdentification(TransportServerSession[null@/127.0.0.1:34480]) line='SSH-2.0-SSHD-UNKNOWN'
02:34:23,458 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - readIdentification(TransportServerSession[null@/127.0.0.1:34480]) client version string: SSH-2.0-SSHD-UNKNOWN
02:34:23,460 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doReadIdentification(TransportClientSession[device-username@/127.0.0.1:40579]) line='SSH-2.0-SSHD-UNKNOWN'
02:34:23,460 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - readIdentification(TransportClientSession[device-username@/127.0.0.1:40579]) Server version string: SSH-2.0-SSHD-UNKNOWN
02:34:23,655 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendKexInit(TransportServerSession[null@/127.0.0.1:34480]) Send SSH_MSG_KEXINIT
02:34:23,656 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #0 sending command=20[SSH_MSG_KEXINIT] len=978
02:34:23,656 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:34480]) process #0 SSH_MSG_KEXINIT
02:34:23,656 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleKexInit(TransportServerSession[null@/127.0.0.1:34480]) SSH_MSG_KEXINIT
02:34:23,657 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #0 SSH_MSG_KEXINIT
02:34:23,657 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - handleKexInit(TransportClientSession[device-username@/127.0.0.1:40579]) SSH_MSG_KEXINIT
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - negotiate(TransportServerSession[null@/127.0.0.1:34480]) strict KEX=true client=true server=true
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: kex algorithms = sntrup761x25519-sha512
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: server host key algorithms = rsa-sha2-512
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: encryption algorithms (client to server) = chacha20-poly1305@openssh.com
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: encryption algorithms (server to client) = chacha20-poly1305@openssh.com
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: mac algorithms (client to server) = hmac-sha2-256-etm@openssh.com
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: mac algorithms (server to client) = hmac-sha2-256-etm@openssh.com
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: compression algorithms (client to server) = none
02:34:23,657 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setNegotiationResult(TransportServerSession[null@/127.0.0.1:34480]) Kex: compression algorithms (server to client) = none
02:34:23,657 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - negotiate(TransportClientSession[device-username@/127.0.0.1:40579]) strict KEX=true client=true server=true
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: kex algorithms = sntrup761x25519-sha512
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: server host key algorithms = rsa-sha2-512
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: encryption algorithms (client to server) = chacha20-poly1305@openssh.com
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: encryption algorithms (server to client) = chacha20-poly1305@openssh.com
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: mac algorithms (client to server) = hmac-sha2-256-etm@openssh.com
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: mac algorithms (server to client) = hmac-sha2-256-etm@openssh.com
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: compression algorithms (client to server) = none
02:34:23,658 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setNegotiationResult(TransportClientSession[device-username@/127.0.0.1:40579]) Kex: compression algorithms (server to client) = none
02:34:23,658 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Key exchange completed on session 1
02:34:23,969 PM [restconf-netty-e2e-3] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xecae4525, L:/127.0.0.1:46283 - R:/127.0.0.1:54520]
02:34:23,974 PM [restconf-netty-e2e-3] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:23,974 PM [restconf-netty-e2e-3] [DEBUG] APIResource - Preparing GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:23,974 PM [restconf-netty-e2e-3] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:24,307 PM [netconf-netty-e2e-4] [DEBUG] DHGClient - init(DHGClient[sntrup761x25519-sha512])[TransportClientSession[device-username@/127.0.0.1:40579]] Send SSH_MSG_KEXDH_INIT
02:34:24,307 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #1 sending command=30[30] len=1195
02:34:24,307 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:34480]) process #1 30
02:34:24,308 PM [netconf-device-simulator-threads-1] [DEBUG] DHGServer - next(DHGServer[sntrup761x25519-sha512])[TransportServerSession[null@/127.0.0.1:34480]] process command=SSH_MSG_KEXDH_INIT
02:34:24,312 PM [netconf-netty-e2e-4] [DEBUG] SSHTransportStack - Key exchange completed on session 1
02:34:24,382 PM [netconf-device-simulator-threads-1] [DEBUG] DHGServer - next(DHGServer[sntrup761x25519-sha512])[TransportServerSession[null@/127.0.0.1:34480]] Send SSH_MSG_KEXDH_REPLY
02:34:24,383 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #1 sending command=31[31] len=1639
02:34:24,383 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleKexMessage(TransportServerSession[null@/127.0.0.1:34480])[sntrup761x25519-sha512] KEX processing complete after cmd=30
02:34:24,383 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - sendNewKeys(TransportServerSession[null@/127.0.0.1:34480]) Send SSH_MSG_NEWKEYS
02:34:24,383 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - prepareNewKeys(TransportServerSession[null@/127.0.0.1:34480]) session ID=0b:63:be:3b:8f:6b:f8:13:7c:7b:85:fc:d9:28:8f:14:2a:d4:8c:f6:87:c1:14:a9:9d:42:65:03:7e:2e:1e:2a:e7:34:f9:71:08:5f:f9:c1:d1:82:06:4c:d1:82:5c:39:6b:c2:b6:e9:6c:58:56:c6:b5:c5:a7:0c:24:80:f0:1b
02:34:24,383 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #2 sending command=21[SSH_MSG_NEWKEYS] len=1
02:34:24,383 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setOutputEncoding(TransportServerSession[null@/127.0.0.1:34480]): strict KEX resets output message sequence number from 3 to 0
02:34:24,384 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #1 31
02:34:24,384 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setOutputEncoding(TransportServerSession[null@/127.0.0.1:34480]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@450ea0b4; mac null; compression none[Deflater/-1]; blocks limit 134217728
02:34:24,384 PM [netconf-netty-e2e-4] [DEBUG] DHGClient - next(DHGClient[sntrup761x25519-sha512])[TransportClientSession[device-username@/127.0.0.1:40579]] process command=SSH_MSG_KEXDH_REPLY
02:34:24,384 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - collectExtensions(TransportServerSession[null@/127.0.0.1:34480])[NEWKEYS]: extension info server-sig-algs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
02:34:24,384 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - sendKexExtensions(TransportServerSession[null@/127.0.0.1:34480])[NEWKEYS]: sending SSH_MSG_EXT_INFO with 1 info records
02:34:24,384 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #0 sending command=7[7] len=419
02:34:24,384 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleNewKeys(TransportServerSession[null@/127.0.0.1:34480]) No pending packets to flush at end of KEX
02:34:24,481 PM [restconf-netty-e2e-4] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x9755209c, L:/127.0.0.1:46283 - R:/127.0.0.1:54530]
02:34:24,484 PM [restconf-netty-e2e-4] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:24,484 PM [restconf-netty-e2e-4] [DEBUG] APIResource - Preparing GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:24,484 PM [restconf-netty-e2e-4] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:24,593 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setServerKey(TransportClientSession[device-username@/127.0.0.1:40579]) keyType=ssh-rsa, digest=SHA256:GD1nzVEH1udXR2lleuM23/qAxCKwvIwa7FA33iLyfIY
02:34:24,593 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - handleKexMessage(TransportClientSession[device-username@/127.0.0.1:40579])[sntrup761x25519-sha512] KEX processing complete after cmd=31
02:34:24,593 PM [netconf-netty-e2e-4] [WARN] AcceptAllServerKeyVerifier - Server at /127.0.0.1:40579 presented unverified RSA key: SHA256:GD1nzVEH1udXR2lleuM23/qAxCKwvIwa7FA33iLyfIY
02:34:24,594 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - checkKeys(TransportClientSession[device-username@/127.0.0.1:40579]) key=ssh-rsa-SHA256:GD1nzVEH1udXR2lleuM23/qAxCKwvIwa7FA33iLyfIY, verified=true
02:34:24,594 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - sendNewKeys(TransportClientSession[device-username@/127.0.0.1:40579]) Send SSH_MSG_NEWKEYS
02:34:24,594 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - prepareNewKeys(TransportClientSession[device-username@/127.0.0.1:40579]) session ID=0b:63:be:3b:8f:6b:f8:13:7c:7b:85:fc:d9:28:8f:14:2a:d4:8c:f6:87:c1:14:a9:9d:42:65:03:7e:2e:1e:2a:e7:34:f9:71:08:5f:f9:c1:d1:82:06:4c:d1:82:5c:39:6b:c2:b6:e9:6c:58:56:c6:b5:c5:a7:0c:24:80:f0:1b
02:34:24,594 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #2 sending command=21[SSH_MSG_NEWKEYS] len=1
02:34:24,594 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setOutputEncoding(TransportClientSession[device-username@/127.0.0.1:40579]): strict KEX resets output message sequence number from 3 to 0
02:34:24,594 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setOutputEncoding(TransportClientSession[device-username@/127.0.0.1:40579]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@206bafcc; mac null; compression none[Deflater/-1]; blocks limit 134217728
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - handleNewKeys(TransportClientSession[device-username@/127.0.0.1:40579]) No pending packets to flush at end of KEX
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #2 SSH_MSG_NEWKEYS
02:34:24,595 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:34480]) process #2 SSH_MSG_NEWKEYS
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - handleNewKeys(TransportClientSession[device-username@/127.0.0.1:40579]) SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
02:34:24,595 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleNewKeys(TransportServerSession[null@/127.0.0.1:34480]) SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setInputEncoding(TransportClientSession[device-username@/127.0.0.1:40579]): strict KEX resets input message sequence number from 3 to 0
02:34:24,595 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setInputEncoding(TransportServerSession[null@/127.0.0.1:34480]): strict KEX resets input message sequence number from 3 to 0
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - setInputEncoding(TransportClientSession[device-username@/127.0.0.1:40579]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@74b7d28; mac null; compression none[Inflater/-1]; blocks limit 134217728
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - sendInitialServiceRequest(TransportClientSession[device-username@/127.0.0.1:40579]) Send SSH_MSG_SERVICE_REQUEST for ssh-userauth
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #0 sending command=5[SSH_MSG_SERVICE_REQUEST] len=17
02:34:24,595 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - setInputEncoding(TransportServerSession[null@/127.0.0.1:34480]): cipher org.opendaylight.netconf.shaded.sshd.common.cipher.ChaCha20Cipher@149f6cd7; mac null; compression none[Inflater/-1]; blocks limit 134217728
02:34:24,595 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - New key established on session 1
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] SSHTransportStack - New key established on session 1
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] SSHClient - Authenticating session 1
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - auth(TransportClientSession[device-username@/127.0.0.1:40579])[ssh-connection] send SSH_MSG_USERAUTH_REQUEST for 'none'
02:34:24,595 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #1 sending command=50[SSH_MSG_USERAUTH_REQUEST] len=46
02:34:24,596 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:34480]) process #0 SSH_MSG_SERVICE_REQUEST
02:34:24,596 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleServiceRequest(TransportServerSession[null@/127.0.0.1:34480]) SSH_MSG_SERVICE_REQUEST 'ssh-userauth'
02:34:24,596 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #0 7
02:34:24,596 PM [netconf-netty-e2e-4] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:40579]): [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:24,596 PM [netconf-netty-e2e-4] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:40579]): PubkeyAcceptedAlgorithms before: [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:24,596 PM [netconf-netty-e2e-4] [DEBUG] DefaultClientKexExtensionHandler - handleServerSignatureAlgorithms(TransportClientSession[device-username@/127.0.0.1:40579]): PubkeyAcceptedAlgorithms after: [ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-ed25519, sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512, rsa-sha2-256, ssh-rsa]
02:34:24,596 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - ServerUserAuthService(TransportServerSession[null@/127.0.0.1:34480]) authorized authentication methods: password,publickey
02:34:24,596 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - handleServiceRequest(TransportServerSession[null@/127.0.0.1:34480]) Accepted service ssh-userauth
02:34:24,596 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #1 sending command=6[SSH_MSG_SERVICE_ACCEPT] len=17
02:34:24,597 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #1 SSH_MSG_SERVICE_ACCEPT
02:34:24,597 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - handleServiceAccept(TransportClientSession[device-username@/127.0.0.1:40579]) SSH_MSG_SERVICE_ACCEPT service=ssh-userauth
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:34480]) process #1 SSH_MSG_USERAUTH_REQUEST
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:34480]) Received SSH_MSG_USERAUTH_REQUEST user=device-username, service=ssh-connection, method=none
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:34480]) Authenticating user 'device-username' with service 'ssh-connection' and method 'none' (attempt 0 / 20)
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:34480]) no authentication factory for method=none
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationFailure(null@TransportServerSession[null@/127.0.0.1:34480]) SSH_MSG_USERAUTH_REQUEST
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationFailure(null@TransportServerSession[null@/127.0.0.1:34480]) remaining methods: password,publickey
02:34:24,597 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #2 sending command=51[SSH_MSG_USERAUTH_FAILURE] len=24
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #2 SSH_MSG_USERAUTH_FAILURE
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - processUserAuth(TransportClientSession[device-username@/127.0.0.1:40579]) Received SSH_MSG_USERAUTH_FAILURE - partial=false, methods=password,publickey
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:40579]) starting authentication mechanisms: client=[password], client index=0, server=[password, publickey]
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:40579]) attempting method=password
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] UserAuthPassword - sendPassword(TransportClientSession[device-username@/127.0.0.1:40579])[ssh-connection] send SSH_MSG_USERAUTH_REQUEST for password - modified=false
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #2 sending command=50[SSH_MSG_USERAUTH_REQUEST] len=70
02:34:24,598 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - tryNext(TransportClientSession[device-username@/127.0.0.1:40579]) successfully processed initial buffer by method=password
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[null@/127.0.0.1:34480]) process #2 SSH_MSG_USERAUTH_REQUEST
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:34480]) Received SSH_MSG_USERAUTH_REQUEST user=device-username, service=ssh-connection, method=password
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleUserAuthRequestMessage(TransportServerSession[null@/127.0.0.1:34480]) Authenticating user 'device-username' with service 'ssh-connection' and method 'password' (attempt 1 / 20)
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] UserAuthPassword - checkPassword(TransportServerSession[null@/127.0.0.1:34480]) authentication result: true
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] ServerUserAuthService - handleAuthenticationSuccess(device-username@TransportServerSession[null@/127.0.0.1:34480]) SSH_MSG_USERAUTH_REQUEST
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultServerKexExtensionHandler - sendKexExtensions(TransportServerSession[null@/127.0.0.1:34480])[AUTHOK]: no extension info; skipping sending SSH_MSG_EXT_INFO
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[null@/127.0.0.1:34480]) packet #3 sending command=52[SSH_MSG_USERAUTH_SUCCESS] len=1
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Authentication on session 1 successful
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] SSHServer - Awaiting "netconf" subsystem on session 1
02:34:24,599 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:34480]) no heartbeat to stop
02:34:24,600 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - startHeartbeat(TransportServerSession[device-username@/127.0.0.1:34480]) heartbeat type=IGNORE, interval=PT30S
02:34:24,600 PM [netconf-device-simulator-threads-1] [INFO] TransportServerSession - Session device-username@/127.0.0.1:34480 authenticated
02:34:24,600 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #3 SSH_MSG_USERAUTH_SUCCESS
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] ClientUserAuthService - processUserAuth(TransportClientSession[device-username@/127.0.0.1:40579]) SSH_MSG_USERAUTH_SUCCESS Succeeded with password
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] UserAuthPassword - destroy(TransportClientSession[device-username@/127.0.0.1:40579])[ssh-connection]
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] SSHTransportStack - Authentication on session 1 successful
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] SSHClient - Opening "netconf" subsystem on session 1
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - init() service=ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:40579]] session=TransportClientSession[device-username@/127.0.0.1:40579] id=0
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - init(LocalWindow[client](TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:40579][netconf])) size=2097152, max=2097152, packet=32768
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - registerChannel(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:40579]])[id=0, registered=true] TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - createSubsystemChannel(TransportClientSession[device-username@/127.0.0.1:40579])[netconf] created id=0
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Opening client subsystem "netconf"
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - open(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) Send SSH_MSG_CHANNEL_OPEN - type=session
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #3 sending command=90[SSH_MSG_CHANNEL_OPEN] len=24
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:40579]) no heartbeat to stop
02:34:24,601 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - startHeartbeat(TransportClientSession[device-username@/127.0.0.1:40579]) heartbeat type=IGNORE, interval=PT30S
02:34:24,601 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #3 SSH_MSG_CHANNEL_OPEN
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - channelOpen(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:34480]]) SSH_MSG_CHANNEL_OPEN sender=0, type=session, window-size=2097152, packet-size=32768
02:34:24,602 PM [netconf-netty-e2e-4] [DEBUG] SSHClient - Session 1 authenticated
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - init() service=ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:34480]] session=TransportServerSession[device-username@/127.0.0.1:34480] id=0
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:34480])) size=2097152, max=2097152, packet=32768
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - registerChannel(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:34480]])[id=0, registered=true] TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - setRecipient(TransportChannelSession[id=0, recipient=-1]-TransportServerSession[device-username@/127.0.0.1:34480]) recipient=0
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - init(RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])) size=2097152, max=2097152, packet=32768
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])) re-initializing
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - init(LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])) size=2097152, max=2097152, packet=32768
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - channelOpenSuccess(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) send SSH_MSG_CHANNEL_OPEN_CONFIRMATION recipient=0, sender=0, window-size=2097152, packet-size=32768
02:34:24,602 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #4 sending command=91[SSH_MSG_CHANNEL_OPEN_CONFIRMATION] len=17
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #4 SSH_MSG_CHANNEL_OPEN_CONFIRMATION
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - channelOpenConfirmation(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_OPEN_CONFIRMATION sender=0, window-size=2097152, packet-size=32768
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - setRecipient(TransportClientSubsystem[id=0, recipient=-1]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) recipient=0
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - init(RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf])) size=2097152, max=2097152, packet=32768
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - doOpen(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_REQUEST subsystem=netconf
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - addPendingRequest(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) request=subsystem, pending=Wed Oct 16 14:34:24 UTC 2024
02:34:24,603 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #4 sending command=98[SSH_MSG_CHANNEL_REQUEST] len=30
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #4 SSH_MSG_CHANNEL_REQUEST
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleChannelRequest(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_REQUEST subsystem wantReply=true
02:34:24,604 PM [netconf-netty-e2e-4] [DEBUG] SSHClient - Opened "netconf" subsystem on session 1
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleSubsystem(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[want-reply=true] subsystem=netconf
02:34:24,604 PM [netconf-netty-e2e-4] [DEBUG] SSHTransportStack - Established transport on session 1
02:34:24,604 PM [netconf-netty-e2e-4] [DEBUG] ClientTransportChannelListener - Initializing established transport SSHTransportChannel{underlay=TCPTransportChannel{channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]}}
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - prepareChannelCommand(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[subsystem] prepared command
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] SSHServer - Established "netconf" subsystem on session 1
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Established transport on session 1
02:34:24,604 PM [netconf-device-simulator-threads-1] [DEBUG] ServerTransportInitializer - Transport channel SSHTransportChannel{underlay=TCPTransportChannel{channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]}} established
02:34:24,604 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Starting session negotiation on channel [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]
02:34:24,605 PM [netconf-device-simulator-threads-1] [DEBUG] TesttoolNegotiationFactory - Session 1: Creating new operation service factory for test tool device on address /[0:0:0:0:0:0:0:0]:40579
02:34:24,605 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Sending negotiation proposal urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.0
on channel [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]
02:34:24,605 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 373 down to 2096779
02:34:24,606 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #5 sending command=94[SSH_MSG_CHANNEL_DATA] len=382
02:34:24,606 PM [netconf-netty-e2e-4] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.codec.XMLMessageWriter@192808aa
02:34:24,606 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Changing state from : IDLE to : OPEN_WAIT for channel: [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]
02:34:24,606 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Session negotiation started on channel [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]
02:34:24,797 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Starting session negotiation on channel [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]
02:34:24,797 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Sending negotiation proposal test:device:simulator?module=device-sim&revision=2024-09-17urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:notification:1.0urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.01
on channel [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]
02:34:24,799 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 1324 down to 2095828
02:34:24,799 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #5 sending command=94[SSH_MSG_CHANNEL_DATA] len=1333
02:34:24,800 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.codec.XMLMessageWriter@192808aa
02:34:24,800 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Changing state from : IDLE to : OPEN_WAIT for channel: [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]
02:34:24,800 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #5 SSH_MSG_CHANNEL_DATA
02:34:24,800 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 1324 down to 2095828
02:34:24,800 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=1324
02:34:24,800 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 1324 bytes of data
02:34:24,800 PM [netconf-netty-e2e-4] [DEBUG] EOMFrameDecoder - Context ChannelHandlerContext(frameDecoder, [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]) buffer UnpooledHeapByteBuf(ridx: 0, widx: 1324, cap: 1324/1324) frame detected: length 1318
02:34:24,800 PM [netconf-netty-e2e-4] [DEBUG] HelloXMLMessageDecoder - CONFIDENTIAL Parsing message
test:device:simulator?module=device-sim&revision=2024-09-17urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:notification:1.0urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.01
02:34:24,802 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Negotiation read invoked on channel [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]
02:34:24,802 PM [netconf-netty-e2e-4] [DEBUG] MessageEncoder - Switched framing to FramingSupport{mechanism=CHUNK, chunkSize=8192}
02:34:24,802 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Changing state from : OPEN_WAIT to : ESTABLISHED for channel: [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]
02:34:24,803 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Session SessionIdType{value=1} created
02:34:24,803 PM [netconf-netty-e2e-4] [DEBUG] NetconfClientSession - Client Session NetconfClientSession{sessionId=1, channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]} created
02:34:24,803 PM [netconf-netty-e2e-4] [DEBUG] NetconfClientSessionNegotiator - Netconf session NetconfClientSession{sessionId=1, channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]} should use exi.
02:34:24,804 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 393 down to 2096386
02:34:24,804 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #6 sending command=94[SSH_MSG_CHANNEL_DATA] len=402
02:34:24,810 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Session negotiation started on channel [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]
02:34:24,810 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendResponse(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) request=subsystem result=ReplySuccess, want-reply=true
02:34:24,810 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #6 sending command=99[SSH_MSG_CHANNEL_SUCCESS] len=5
02:34:24,811 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendResponse(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) request=subsystem activate command
02:34:24,811 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - start(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) starting runner for command=netconf
02:34:24,811 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #6 SSH_MSG_CHANNEL_SUCCESS
02:34:24,811 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - removePendingRequest(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) request=subsystem, pending=Wed Oct 16 14:34:24 UTC 2024
02:34:24,811 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleSuccess(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) subsystem=netconf, pending since=Wed Oct 16 14:34:24 UTC 2024
02:34:24,811 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #5 SSH_MSG_CHANNEL_DATA
02:34:24,811 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 373 down to 2096779
02:34:24,811 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=373
02:34:24,811 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 373 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,812 PM [netconf-device-simulator-threads-1] [DEBUG] EOMFrameDecoder - Context ChannelHandlerContext(frameDecoder, [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]) buffer UnpooledHeapByteBuf(ridx: 0, widx: 373, cap: 373/373) frame detected: length 367
02:34:24,812 PM [netconf-device-simulator-threads-1] [DEBUG] HelloXMLMessageDecoder - CONFIDENTIAL Parsing message
urn:ietf:params:netconf:capability:exi:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:base:1.0
02:34:24,812 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Negotiation read invoked on channel [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]
02:34:24,812 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched framing to FramingSupport{mechanism=CHUNK, chunkSize=8192}
02:34:24,812 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Changing state from : OPEN_WAIT to : ESTABLISHED for channel: [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionNegotiator - Additional header from hello parsed as NetconfHelloMessageAdditionalHeader{userName='unknown', hostAddress='127.0.0.1', port='40579', transport='tcp', sessionIdentifier='client'} from Optional.empty
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session SessionIdType{value=1} created
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]} created
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfSessionNegotiator - Negotiation on channel [id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480] successful with session NetconfServerSession{sessionId=1, channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]}
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]} up
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #6 SSH_MSG_CHANNEL_DATA
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 393 down to 2096386
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=393
02:34:24,813 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 393 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,814 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: byte-aligned
02:34:24,815 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,815 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message byte-aligned
to org.opendaylight.netconf.server.mapping.operations.DefaultStartExi{name=start-exi, namespace=urn:ietf:params:xml:ns:netconf:exi:1.0, session=1}
02:34:24,816 PM [netconf-device-simulator-threads-1] [DEBUG] DefaultStartExi - Received start-exi message byte-aligned
02:34:24,817 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switching to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@6ea8c625 after next message
02:34:24,817 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfExiSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 - R:/127.0.0.1:34480]} EXI handlers added to pipeline
02:34:24,817 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:24,818 PM [netconf-device-simulator-threads-1] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@6ea8c625
02:34:24,818 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 179 down to 2095649
02:34:24,818 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #7 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:24,818 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #7 SSH_MSG_CHANNEL_DATA
02:34:24,818 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="default-start-exi"
02:34:24,818 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 179 down to 2095649
02:34:24,818 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:24,818 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:24,820 PM [netconf-netty-e2e-4] [DEBUG] MessageEncoder - Switched writer to org.opendaylight.netconf.nettyutil.handler.EXIMessageWriter@3d570225
02:34:24,820 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfExiSession - Session NetconfClientSession{sessionId=1, channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]} EXI handlers added to pipeline
02:34:24,820 PM [netconf-netty-e2e-4] [DEBUG] NetconfSessionNegotiator - Negotiation on channel [id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579] successful with session NetconfClientSession{sessionId=1, channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]}
02:34:24,820 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Session NetconfClientSession{sessionId=1, channel=[id: 0x92680c2e, L:/127.0.0.1:34480 - R:/127.0.0.1:40579]} up
02:34:24,820 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Session established
02:34:24,820 PM [netconf-netty-e2e-4] [DEBUG] NetconfDevice - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Session to remote device established with NetconfSessionPreferences{capabilities={urn:ietf:params:netconf:capability:notification:1.0=DeviceAdvertised, urn:ietf:params:netconf:capability:exi:1.0=DeviceAdvertised, urn:ietf:params:netconf:capability:candidate:1.0=DeviceAdvertised, urn:ietf:params:netconf:base:1.1=DeviceAdvertised, urn:ietf:params:netconf:base:1.0=DeviceAdvertised}, moduleBasedCapabilities={(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types=DeviceAdvertised, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring=DeviceAdvertised, (test:device:simulator?revision=2024-09-17)device-sim=DeviceAdvertised, (urn:ietf:params:xml:ns:netconf:notification:1.0?revision=2008-07-14)notifications=DeviceAdvertised, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types=DeviceAdvertised, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring=DeviceAdvertised}, rollback=false, monitoring=true, candidate=true, writableRunning=false}
02:34:24,821 PM [netconf-netty-e2e-4] [DEBUG] DefaultBaseNetconfSchemaProvider - Loading base schema for Capabilities[writableRunning=false, candidate=true, confirmedCommit=false, rollbackOnError=false, validate=false, startup=false, url=false, xpath=false, notifications=true, library=false, monitoring=true]
02:34:24,860 PM [netconf-netty-e2e-4] [DEBUG] DefaultBaseNetconfSchemaProvider - Schema for Capabilities[writableRunning=false, candidate=true, confirmedCommit=false, rollbackOnError=false, validate=false, startup=false, url=false, xpath=false, notifications=true, library=false, monitoring=true] assembled in 39.69 ms
02:34:24,861 PM [netconf-netty-e2e-4] [DEBUG] NetconfStateSchemasResolverImpl - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: resolving YANG 1.0 conformance
02:34:24,863 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 340 down to 2096046
02:34:24,863 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #7 sending command=94[SSH_MSG_CHANNEL_DATA] len=349
02:34:24,864 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #7 SSH_MSG_CHANNEL_DATA
02:34:24,864 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 340 down to 2096046
02:34:24,864 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=340
02:34:24,864 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 340 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,866 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received:
02:34:24,867 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,867 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message
to org.opendaylight.netconf.test.tool.rpchandler.SettableRpc@49644c35
02:34:24,867 PM [netconf-device-simulator-threads-1] [INFO] RpcHandlerDefault - getResponse: XmlElement{name='get', namespace='urn:ietf:params:xml:ns:netconf:base:1.0'}
02:34:24,906 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='netconf-state', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='netconf-state', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in TAG_MATCH
02:34:24,906 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in TAG_MATCH
02:34:24,906 PM [netconf-device-simulator-threads-1] [DEBUG] SubtreeFilter - Matching XmlElement{name='sessions', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} to XmlElement{name='schemas', namespace='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'} resulted in NO_MATCH
02:34:24,906 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message yangietf-yang-typesNETCONFurn:ietf:params:xml:ns:yang:ietf-yang-types2013-07-15yangdevice-simNETCONFtest:device:simulator2024-09-17yangietf-netconf-monitoringNETCONFurn:ietf:params:xml:ns:yang:ietf-netconf-monitoring2010-10-04yangnotificationsNETCONFurn:ietf:params:xml:ns:netconf:notification:1.02008-07-14yangietf-inet-typesNETCONFurn:ietf:params:xml:ns:yang:ietf-inet-types2013-07-15yangodl-netconf-monitoringNETCONFurn:opendaylight:params:xml:ns:yang:netconf:monitoring2022-07-18
02:34:24,909 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 1029 down to 2094620
02:34:24,909 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #8 sending command=94[SSH_MSG_CHANNEL_DATA] len=1038
02:34:24,910 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-0"
02:34:24,910 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #8 SSH_MSG_CHANNEL_DATA
02:34:24,910 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 1029 down to 2094620
02:34:24,910 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=1029
02:34:24,910 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 1029 bytes of data
02:34:24,912 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received: yangietf-yang-typesNETCONFurn:ietf:params:xml:ns:yang:ietf-yang-types2013-07-15yangdevice-simNETCONFtest:device:simulator2024-09-17yangietf-netconf-monitoringNETCONFurn:ietf:params:xml:ns:yang:ietf-netconf-monitoring2010-10-04yangnotificationsNETCONFurn:ietf:params:xml:ns:netconf:notification:1.02008-07-14yangietf-inet-typesNETCONFurn:ietf:params:xml:ns:yang:ietf-inet-types2013-07-15yangodl-netconf-monitoringNETCONFurn:opendaylight:params:xml:ns:yang:netconf:monitoring2022-07-18
02:34:24,913 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,913 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received yangietf-yang-typesNETCONFurn:ietf:params:xml:ns:yang:ietf-yang-types2013-07-15yangdevice-simNETCONFtest:device:simulator2024-09-17yangietf-netconf-monitoringNETCONFurn:ietf:params:xml:ns:yang:ietf-netconf-monitoring2010-10-04yangnotificationsNETCONFurn:ietf:params:xml:ns:netconf:notification:1.02008-07-14yangietf-inet-typesNETCONFurn:ietf:params:xml:ns:yang:ietf-inet-types2013-07-15yangodl-netconf-monitoringNETCONFurn:opendaylight:params:xml:ns:yang:netconf:monitoring2022-07-18
02:34:24,917 PM [netconf-netty-e2e-4] [DEBUG] NetconfStateSchemasResolverImpl - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Schemas exposed by ietf-netconf-monitoring: [(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring, (test:device:simulator?revision=2024-09-17)device-sim, (urn:ietf:params:xml:ns:netconf:notification:1.0?revision=2008-07-14)notifications, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring]
02:34:24,917 PM [topology-schema-assembler-8] [DEBUG] DefaultDeviceNetconfSchemaProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Resolved device sources to NetconfDeviceSchemas[requiredSources=[(urn:ietf:params:xml:ns:netconf:notification:1.0?revision=2008-07-14)notifications, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring, (test:device:simulator?revision=2024-09-17)device-sim], features=Sparse{features={}}, librarySources=[], providedSources=[ProvidedSources[representation=class org.opendaylight.yangtools.yang.model.api.source.YangTextSource, provider=org.opendaylight.netconf.client.mdsal.impl.MonitoringSchemaSourceProvider@30253f2e, sources=[(urn:ietf:params:xml:ns:netconf:notification:1.0?revision=2008-07-14)notifications, (urn:opendaylight:params:xml:ns:yang:netconf:monitoring?revision=2022-07-18)odl-netconf-monitoring, (urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types, (urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types, (urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring, (test:device:simulator?revision=2024-09-17)device-sim]]]]
02:34:24,919 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 373 down to 2095673
02:34:24,920 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #8 sending command=94[SSH_MSG_CHANNEL_DATA] len=382
02:34:24,920 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #8 SSH_MSG_CHANNEL_DATA
02:34:24,920 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 373 down to 2095673
02:34:24,920 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=373
02:34:24,920 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 373 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,921 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 365 down to 2095308
02:34:24,921 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #9 sending command=94[SSH_MSG_CHANNEL_DATA] len=374
02:34:24,921 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 360 down to 2094948
02:34:24,921 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #10 sending command=94[SSH_MSG_CHANNEL_DATA] len=369
02:34:24,923 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 363 down to 2094585
02:34:24,923 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #11 sending command=94[SSH_MSG_CHANNEL_DATA] len=372
02:34:24,923 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-netconf-monitoring2010-10-04yang
02:34:24,924 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,924 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-netconf-monitoring2010-10-04yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:24,924 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:24,926 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 19051 down to 2075569
02:34:24,926 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #9 sending command=94[SSH_MSG_CHANNEL_DATA] len=19060
02:34:24,927 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #9 SSH_MSG_CHANNEL_DATA
02:34:24,927 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 19051 down to 2075569
02:34:24,927 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=19051
02:34:24,927 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 19051 bytes of data
02:34:24,929 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:24,929 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,930 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-1"
02:34:24,929 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
module ietf-netconf-monitoring {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
prefix ncm;
import ietf-yang-types {
prefix yang;
revision-date "2013-07-15";
}
import ietf-inet-types {
prefix inet;
revision-date "2013-07-15";
}
organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>
WG Chair: Mehmet Ersue
<mailto:mehmet.ersue@nsn.com>
WG Chair: Bert Wijnen
<mailto:bertietf@bwijnen.net>
Editor: Mark Scott
<mailto:mark.scott@ericsson.com>
Editor: Martin Bjorklund
<mailto:mbj@tail-f.com>";
description
"NETCONF Monitoring Module.
All elements in this module are read-only.
Copyright (c) 2010 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6022; see
the RFC itself for full legal notices.";
revision "2010-10-04" {
description "Initial revision.";
reference
"RFC 6022: YANG Module for NETCONF Monitoring";
}
typedef netconf-datastore-type {
type enumeration {
enum "running" {
value 0;
}
enum "candidate" {
value 1;
}
enum "startup" {
value 2;
}
}
description
"Enumeration of possible NETCONF datastore types.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
identity transport {
description
"Base identity for NETCONF transport types.";
}
identity netconf-ssh {
base transport;
description
"NETCONF over Secure Shell (SSH).";
reference
"RFC 4742: Using the NETCONF Configuration Protocol
over Secure SHell (SSH)";
}
identity netconf-soap-over-beep {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP) over
Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-soap-over-https {
base transport;
description
"NETCONF over Simple Object Access Protocol (SOAP)
over Hypertext Transfer Protocol Secure (HTTPS).";
reference
"RFC 4743: Using NETCONF over the Simple Object
Access Protocol (SOAP)";
}
identity netconf-beep {
base transport;
description
"NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
reference
"RFC 4744: Using the NETCONF Protocol over the
Blocks Extensible Exchange Protocol (BEEP)";
}
identity netconf-tls {
base transport;
description
"NETCONF over Transport Layer Security (TLS).";
reference
"RFC 5539: NETCONF over Transport Layer Security (TLS)";
}
identity schema-format {
description
"Base identity for data model schema languages.";
}
identity xsd {
base schema-format;
description
"W3C XML Schema Definition.";
reference
"W3C REC REC-xmlschema-1-20041028:
XML Schema Part 1: Structures";
}
identity yang {
base schema-format;
description
"The YANG data modeling language for NETCONF.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity yin {
base schema-format;
description "The YIN syntax for YANG.";
reference
"RFC 6020: YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)";
}
identity rng {
base schema-format;
description
"Regular Language for XML Next Generation (RELAX NG).";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
identity rnc {
base schema-format;
description "Relax NG Compact Syntax";
reference
"ISO/IEC 19757-2:2008: RELAX NG";
}
grouping common-counters {
description
"Counters that exist both per session, and also globally,
accumulated from all sessions.";
leaf in-rpcs {
type yang:zero-based-counter32;
description
"Number of correct <rpc> messages received.";
}
leaf in-bad-rpcs {
type yang:zero-based-counter32;
description
"Number of messages received when an <rpc> message was expected,
that were not correct <rpc> messages. This includes XML parse
errors and errors on the rpc layer.";
}
leaf out-rpc-errors {
type yang:zero-based-counter32;
description
"Number of <rpc-reply> messages sent that contained an
<rpc-error> element.";
}
leaf out-notifications {
type yang:zero-based-counter32;
description
"Number of <notification> messages sent.";
}
} // grouping common-counters
container netconf-state {
config false;
description
"The netconf-state container is the root of the monitoring
data model.";
container capabilities {
description
"Contains the list of NETCONF capabilities supported by the
server.";
leaf-list capability {
type inet:uri;
description
"List of NETCONF capabilities supported by the server.";
}
} // container capabilities
container datastores {
description
"Contains the list of NETCONF configuration datastores.";
list datastore {
key "name";
description
"List of NETCONF configuration datastores supported by
the NETCONF server and related information.";
leaf name {
type netconf-datastore-type;
description
"Name of the datastore associated with this list entry.";
}
container locks {
presence
"This container is present only if the datastore
is locked.";
description
"The NETCONF <lock> and <partial-lock> operations allow
a client to lock specific resources in a datastore. The
NETCONF server will prevent changes to the locked
resources by all sessions except the one that acquired
the lock(s).
Monitoring information is provided for each datastore
entry including details such as the session that acquired
the lock, the type of lock (global or partial) and the
list of locked resources. Multiple locks per datastore
are supported.";
grouping lock-info {
description
"Lock related parameters, common to both global and
partial locks.";
leaf locked-by-session {
type uint32;
mandatory true;
description
"The session ID of the session that has locked
this resource. Both a global lock and a partial
lock MUST contain the NETCONF session-id.
If the lock is held by a session that is not managed
by the NETCONF server (e.g., a CLI session), a session
id of 0 (zero) is reported.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf locked-time {
type yang:date-and-time;
mandatory true;
description
"The date and time of when the resource was
locked.";
}
} // grouping lock-info
choice lock-type {
description
"Indicates if a global lock or a set of partial locks
are set.";
container global-lock {
description
"Present if the global lock is set.";
uses lock-info;
} // container global-lock
list partial-lock {
key "lock-id";
description
"List of partial locks.";
reference
"RFC 5717: Partial Lock Remote Procedure Call (RPC) for
NETCONF";
leaf lock-id {
type uint32;
description
"This is the lock id returned in the <partial-lock>
response.";
}
uses lock-info;
leaf-list select {
type yang:xpath1.0;
min-elements 1;
description
"The xpath expression that was used to request
the lock. The select expression indicates the
original intended scope of the lock.";
}
leaf-list locked-node {
type instance-identifier;
description
"The list of instance-identifiers (i.e., the
locked nodes).
The scope of the partial lock is defined by the list
of locked nodes.";
}
} // list partial-lock
} // choice lock-type
} // container locks
} // list datastore
} // container datastores
container schemas {
description
"Contains the list of data model schemas supported by the
server.";
list schema {
key "identifier version format";
description
"List of data model schemas supported by the server.";
leaf identifier {
type string;
description
"Identifier to uniquely reference the schema. The
identifier is used in the <get-schema> operation and may
be used for other purposes such as file retrieval.
For modeling languages that support or require a data
model name (e.g., YANG module name) the identifier MUST
match that name. For YANG data models, the identifier is
the name of the module or submodule. In other cases, an
identifier such as a filename MAY be used instead.";
}
leaf version {
type string;
description
"Version of the schema supported. Multiple versions MAY be
supported simultaneously by a NETCONF server. Each
version MUST be reported individually in the schema list,
i.e., with same identifier, possibly different location,
but different version.
For YANG data models, version is the value of the most
recent YANG 'revision' statement in the module or
submodule, or the empty string if no 'revision' statement
is present.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language the schema is written
in (currently xsd, yang, yin, rng, or rnc).
For YANG data models, 'yang' format MUST be supported and
'yin' format MAY also be provided.";
}
leaf namespace {
type inet:uri;
mandatory true;
description
"The XML namespace defined by the data model.
For YANG data models, this is the module's namespace.
If the list entry describes a submodule, this field
contains the namespace of the module to which the
submodule belongs.";
}
leaf-list location {
type union {
type enumeration {
enum "NETCONF" {
value 0;
}
}
type inet:uri;
}
description
"One or more locations from which the schema can be
retrieved. This list SHOULD contain at least one
entry per schema.
A schema entry may be located on a remote file system
(e.g., reference to file system for ftp retrieval) or
retrieved directly from a server supporting the
<get-schema> operation (denoted by the value 'NETCONF').";
}
} // list schema
} // container schemas
container sessions {
description
"The sessions container includes session-specific data for
NETCONF management sessions. The session list MUST include
all currently active NETCONF sessions.";
list session {
key "session-id";
description
"All NETCONF sessions managed by the NETCONF server
MUST be reported in this list.";
leaf session-id {
type uint32 {
range "1..max";
}
description
"Unique identifier for the session. This value is the
NETCONF session identifier, as defined in RFC 4741.";
reference
"RFC 4741: NETCONF Configuration Protocol";
}
leaf transport {
type identityref {
base transport;
}
mandatory true;
description
"Identifies the transport for each session, e.g.,
'netconf-ssh', 'netconf-soap', etc.";
}
leaf username {
type string;
mandatory true;
description
"The username is the client identity that was authenticated
by the NETCONF transport protocol. The algorithm used to
derive the username is NETCONF transport protocol specific
and in addition specific to the authentication mechanism
used by the NETCONF transport protocol.";
}
leaf source-host {
type inet:host;
description
"Host identifier of the NETCONF client. The value
returned is implementation specific (e.g., hostname,
IPv4 address, IPv6 address)";
}
leaf login-time {
type yang:date-and-time;
mandatory true;
description
"Time at the server at which the session was established.";
}
uses common-counters {
description
"Per-session counters. Zero based with following reset
behaviour:
- at start of a session
- when max value is reached";
}
} // list session
} // container sessions
container statistics {
description
"Statistical data pertaining to the NETCONF server.";
leaf netconf-start-time {
type yang:date-and-time;
description
"Date and time at which the management subsystem was
started.";
}
leaf in-bad-hellos {
type yang:zero-based-counter32;
description
"Number of sessions silently dropped because an
invalid <hello> message was received. This includes <hello>
messages with a 'session-id' attribute, bad namespace, and
bad capability declarations.";
}
leaf in-sessions {
type yang:zero-based-counter32;
description
"Number of sessions started. This counter is incremented
when a <hello> message with a <session-id> is sent.
'in-sessions' - 'in-bad-hellos' =
'number of correctly started netconf sessions'";
}
leaf dropped-sessions {
type yang:zero-based-counter32;
description
"Number of sessions that were abnormally terminated, e.g.,
due to idle timeout or transport close. This counter is not
incremented when a session is properly closed by a
<close-session> operation, or killed by a <kill-session>
operation.";
}
uses common-counters {
description
"Global counters, accumulated from all sessions.
Zero based with following reset behaviour:
- re-initialization of NETCONF server
- when max value is reached";
}
} // container statistics
} // container netconf-state
rpc get-schema {
description
"This operation is used to retrieve a schema from the
NETCONF server.
Positive Response:
The NETCONF server returns the requested schema.
Negative Response:
If requested schema does not exist, the <error-tag> is
'invalid-value'.
If more than one schema matches the requested parameters, the
<error-tag> is 'operation-failed', and <error-app-tag> is
'data-not-unique'.";
input {
leaf identifier {
type string;
mandatory true;
description
"Identifier for the schema list entry.";
}
leaf version {
type string;
description
"Version of the schema requested. If this parameter is not
present, and more than one version of the schema exists on
the server, a 'data-not-unique' error is returned, as
described above.";
}
leaf format {
type identityref {
base schema-format;
}
description
"The data modeling language of the schema. If this
parameter is not present, and more than one formats of
the schema exists on the server, a 'data-not-unique' error
is returned, as described above.";
}
}
output {
anyxml data {
description
"Contains the schema content.";
}
}
} // rpc get-schema
} // module
02:34:24,930 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #9 SSH_MSG_CHANNEL_DATA
02:34:24,931 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 365 down to 2095308
02:34:24,931 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=365
02:34:24,931 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 365 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,931 PM [netconf-netty-e2e-4] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: YANG Schema successfully retrieved for ietf-netconf-monitoring:2010-10-04
02:34:24,931 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-yang-types2013-07-15yang
02:34:24,932 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,932 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-yang-types2013-07-15yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:24,932 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:24,933 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #10 SSH_MSG_CHANNEL_DATA
02:34:24,933 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 360 down to 2094948
02:34:24,933 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=360
02:34:24,933 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 360 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,933 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 372 down to 2094213
02:34:24,933 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #12 sending command=94[SSH_MSG_CHANNEL_DATA] len=381
02:34:24,933 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: device-sim2024-09-17yang
02:34:24,934 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,936 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message device-sim2024-09-17yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:24,936 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:24,936 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #11 SSH_MSG_CHANNEL_DATA
02:34:24,936 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 363 down to 2094585
02:34:24,936 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=363
02:34:24,936 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 363 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,937 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: notifications2008-07-14yang
02:34:24,937 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,937 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message notifications2008-07-14yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:24,938 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module notifications {
namespace "urn:ietf:params:xml:ns:netconf:notification:1.0";
prefix "ncEvent";
import ietf-yang-types { prefix yang; }
organization
"IETF NETCONF WG";
contact
"netconf@ops.ietf.org";
description
"Conversion of the 'ncEvent' XSD in the
NETCONF Notifications RFC.";
reference
"RFC 5277.";
revision 2008-07-14 {
description "RFC 5277 version.";
}
typedef streamNameType {
description
"The name of an event stream.";
type string;
}
rpc create-subscription {
description
"The command to create a notification subscription. It
takes as argument the name of the notification stream
and filter. Both of those options limit the content of
the subscription. In addition, there are two time-related
parameters, startTime and stopTime, which can be used to
select the time interval of interest to the notification
replay feature.";
input {
leaf stream {
description
"An optional parameter that indicates which stream of events
is of interest. If not present, then events in the default
NETCONF stream will be sent.";
type streamNameType;
default "NETCONF";
}
anyxml filter {
description
"An optional parameter that indicates which subset of all
possible events is of interest. The format of this
parameter is the same as that of the filter parameter
in the NETCONF protocol operations. If not present,
all events not precluded by other parameters will
be sent.";
}
leaf startTime {
description
"A parameter used to trigger the replay feature and
indicates that the replay should start at the time
specified. If start time is not present, this is not a
replay subscription.";
type yang:date-and-time;
}
leaf stopTime {
// must ". >= ../startTime";
description
"An optional parameter used with the optional replay
feature to indicate the newest notifications of
interest. If stop time is not present, the notifications
will continue until the subscription is terminated.
Must be used with startTime.";
type yang:date-and-time;
}
}
}
}
02:34:24,939 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 18245 down to 2057324
02:34:24,939 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #10 sending command=94[SSH_MSG_CHANNEL_DATA] len=18254
02:34:24,940 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #10 SSH_MSG_CHANNEL_DATA
02:34:24,940 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 18245 down to 2057324
02:34:24,940 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=18245
02:34:24,940 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 18245 bytes of data
02:34:24,941 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:24,941 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,941 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
module ietf-yang-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
prefix "yang";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- yang-identifier
- hex-string
- uuid
- dotted-quad";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of counter and gauge types ***/
typedef counter32 {
type uint32;
description
"The counter32 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter32 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter32 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter32.
In the value set and its semantics, this type is equivalent
to the Counter32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter32 {
type yang:counter32;
default "0";
description
"The zero-based-counter32 type represents a counter32
that has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^32-1 (4294967295 decimal), when it
wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter32 textual convention of the SMIv2.";
reference
"RFC 4502: Remote Network Monitoring Management Information
Base Version 2";
}
typedef counter64 {
type uint64;
description
"The counter64 type represents a non-negative integer
that monotonically increases until it reaches a
maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Counters have no defined 'initial' value, and thus, a
single value of a counter has (in general) no information
content. Discontinuities in the monotonically increasing
value normally occur at re-initialization of the
management system, and at other times as specified in the
description of a schema node using this type. If such
other times can occur, for example, the creation of
a schema node of type counter64 at times other than
re-initialization, then a corresponding schema node
should be defined, with an appropriate type, to indicate
the last discontinuity.
The counter64 type should not be used for configuration
schema nodes. A default statement SHOULD NOT be used in
combination with the type counter64.
In the value set and its semantics, this type is equivalent
to the Counter64 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef zero-based-counter64 {
type yang:counter64;
default "0";
description
"The zero-based-counter64 type represents a counter64 that
has the defined 'initial' value zero.
A schema node of this type will be set to zero (0) on creation
and will thereafter increase monotonically until it reaches
a maximum value of 2^64-1 (18446744073709551615 decimal),
when it wraps around and starts increasing again from zero.
Provided that an application discovers a new schema node
of this type within the minimum time to wrap, it can use the
'initial' value as a delta. It is important for a management
station to be aware of this minimum time and the actual time
between polls, and to discard data if the actual time is too
long or there is no defined minimum time.
In the value set and its semantics, this type is equivalent
to the ZeroBasedCounter64 textual convention of the SMIv2.";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
typedef gauge32 {
type uint32;
description
"The gauge32 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^32-1 (4294967295 decimal), and
the minimum value cannot be smaller than 0. The value of
a gauge32 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge32 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the Gauge32 type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef gauge64 {
type uint64;
description
"The gauge64 type represents a non-negative integer, which
may increase or decrease, but shall never exceed a maximum
value, nor fall below a minimum value. The maximum value
cannot be greater than 2^64-1 (18446744073709551615), and
the minimum value cannot be smaller than 0. The value of
a gauge64 has its maximum value whenever the information
being modeled is greater than or equal to its maximum
value, and has its minimum value whenever the information
being modeled is smaller than or equal to its minimum value.
If the information being modeled subsequently decreases
below (increases above) the maximum (minimum) value, the
gauge64 also decreases (increases).
In the value set and its semantics, this type is equivalent
to the CounterBasedGauge64 SMIv2 textual convention defined
in RFC 2856";
reference
"RFC 2856: Textual Conventions for Additional High Capacity
Data Types";
}
/*** collection of identifier-related types ***/
typedef object-identifier {
type string {
pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
+ '(\.(0|([1-9]\d*)))*';
}
description
"The object-identifier type represents administratively
assigned names in a registration-hierarchical-name tree.
Values of this type are denoted as a sequence of numerical
non-negative sub-identifier values. Each sub-identifier
value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers
are separated by single dots and without any intermediate
whitespace.
The ASN.1 standard restricts the value space of the first
sub-identifier to 0, 1, or 2. Furthermore, the value space
of the second sub-identifier is restricted to the range
0 to 39 if the first sub-identifier is 0 or 1. Finally,
the ASN.1 standard requires that an object identifier
has always at least two sub-identifiers. The pattern
captures these restrictions.
Although the number of sub-identifiers is not limited,
module designers should realize that there may be
implementations that stick with the SMIv2 limit of 128
sub-identifiers.
This type is a superset of the SMIv2 OBJECT IDENTIFIER type
since it is not restricted to 128 sub-identifiers. Hence,
this type SHOULD NOT be used to represent the SMIv2 OBJECT
IDENTIFIER type; the object-identifier-128 type SHOULD be
used instead.";
reference
"ISO9834-1: Information technology -- Open Systems
Interconnection -- Procedures for the operation of OSI
Registration Authorities: General procedures and top
arcs of the ASN.1 Object Identifier tree";
}
typedef object-identifier-128 {
type object-identifier {
pattern '\d*(\.\d*){1,127}';
}
description
"This type represents object-identifiers restricted to 128
sub-identifiers.
In the value set and its semantics, this type is equivalent
to the OBJECT IDENTIFIER type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef yang-identifier {
type string {
length "1..max";
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
}
description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020. An identifier must
start with an alphabetic character or an underscore
followed by an arbitrary sequence of alphabetic or
numeric characters, underscores, hyphens, or dots.
A YANG identifier MUST NOT start with any possible
combination of the lowercase or uppercase character
sequence 'xml'.";
reference
"RFC 6020: YANG - A Data Modeling Language for the Network
Configuration Protocol (NETCONF)";
}
/*** collection of types related to date and time***/
typedef date-and-time {
type string {
pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
+ '(Z|[\+\-]\d{2}:\d{2})';
}
description
"The date-and-time type is a profile of the ISO 8601
standard for representation of dates and times using the
Gregorian calendar. The profile is defined by the
date-time production in Section 5.6 of RFC 3339.
The date-and-time type is compatible with the dateTime XML
schema type with the following notable exceptions:
(a) The date-and-time type does not allow negative years.
(b) The date-and-time time-offset -00:00 indicates an unknown
time zone (see RFC 3339) while -00:00 and +00:00 and Z
all represent the same time zone in dateTime.
(c) The canonical format (see below) of data-and-time values
differs from the canonical format used by the dateTime XML
schema type, which requires all times to be in UTC using
the time-offset 'Z'.
This type is not equivalent to the DateAndTime textual
convention of the SMIv2 since RFC 3339 uses a different
separator between full-date and full-time and provides
higher resolution of time-secfrac.
The canonical format for date-and-time values with a known time
zone uses a numeric time zone offset that is calculated using
the device's configured known offset to UTC time. A change of
the device's offset to UTC time will cause date-and-time values
to change accordingly. Such changes might happen periodically
in case a server follows automatically daylight saving time
(DST) time zone offset changes. The canonical format for
date-and-time values with an unknown time zone (usually
referring to the notion of local time) uses the time-offset
-00:00.";
reference
"RFC 3339: Date and Time on the Internet: Timestamps
RFC 2579: Textual Conventions for SMIv2
XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
}
typedef timeticks {
type uint32;
description
"The timeticks type represents a non-negative integer that
represents the time, modulo 2^32 (4294967296 decimal), in
hundredths of a second between two epochs. When a schema
node is defined that uses this type, the description of
the schema node identifies both of the reference epochs.
In the value set and its semantics, this type is equivalent
to the TimeTicks type of the SMIv2.";
reference
"RFC 2578: Structure of Management Information Version 2
(SMIv2)";
}
typedef timestamp {
type yang:timeticks;
description
"The timestamp type represents the value of an associated
timeticks schema node at which a specific occurrence
happened. The specific occurrence must be defined in the
description of any schema node defined using this type. When
the specific occurrence occurred prior to the last time the
associated timeticks attribute was zero, then the timestamp
value is zero. Note that this requires all timestamp values
to be reset to zero when the value of the associated timeticks
attribute reaches 497+ days and wraps around to zero.
The associated timeticks schema node must be specified
in the description of any schema node using this type.
In the value set and its semantics, this type is equivalent
to the TimeStamp textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of generic address types ***/
typedef phys-address {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"Represents media- or physical-level addresses represented
as a sequence octets, each octet represented by two hexadecimal
numbers. Octets are separated by colons. The canonical
representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the PhysAddress textual convention of the SMIv2.";
reference
"RFC 2579: Textual Conventions for SMIv2";
}
typedef mac-address {
type string {
pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
}
description
"The mac-address type represents an IEEE 802 MAC address.
The canonical representation uses lowercase characters.
In the value set and its semantics, this type is equivalent
to the MacAddress textual convention of the SMIv2.";
reference
"IEEE 802: IEEE Standard for Local and Metropolitan Area
Networks: Overview and Architecture
RFC 2579: Textual Conventions for SMIv2";
}
/*** collection of XML-specific types ***/
typedef xpath1.0 {
type string;
description
"This type represents an XPATH 1.0 expression.
When a schema node is defined that uses this type, the
description of the schema node MUST specify the XPath
context in which the XPath expression is evaluated.";
reference
"XPATH: XML Path Language (XPath) Version 1.0";
}
/*** collection of string types ***/
typedef hex-string {
type string {
pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
}
description
"A hexadecimal string with octets represented as hex digits
separated by colons. The canonical representation uses
lowercase characters.";
}
typedef uuid {
type string {
pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
+ '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
}
description
"A Universally Unique IDentifier in the string representation
defined in RFC 4122. The canonical representation uses
lowercase characters.
The following is an example of a UUID in string representation:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
";
reference
"RFC 4122: A Universally Unique IDentifier (UUID) URN
Namespace";
}
typedef dotted-quad {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
}
description
"An unsigned 32-bit number expressed in the dotted-quad
notation, i.e., four octets written as decimal numbers
and separated with the '.' (full stop) character.";
}
}
02:34:24,942 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-2"
02:34:24,943 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 926 down to 2056398
02:34:24,943 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #11 sending command=94[SSH_MSG_CHANNEL_DATA] len=935
02:34:24,943 PM [netconf-netty-e2e-4] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: YANG Schema successfully retrieved for ietf-yang-types:2013-07-15
02:34:24,943 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-3"
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 2828 down to 2053570
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #11 SSH_MSG_CHANNEL_DATA
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 926 down to 2056398
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #12 sending command=94[SSH_MSG_CHANNEL_DATA] len=2837
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=926
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 926 bytes of data
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-4"
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #12 SSH_MSG_CHANNEL_DATA
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 372 down to 2094213
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=372
02:34:24,944 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 372 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,944 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
module device-sim {
yang-version 1.1;
namespace "test:device:simulator";
prefix "dsim";
description "Test model for device simulator";
revision "2024-09-17";
container data-root {
leaf name {
type string;
}
list properties {
key "id";
leaf id {
type string;
}
leaf name {
type string;
}
leaf value {
type string;
}
}
}
notification device-event {
leaf event-message {
type string;
}
}
}
02:34:24,945 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: odl-netconf-monitoring2022-07-18yang
02:34:24,945 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,945 PM [netconf-netty-e2e-4] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: YANG Schema successfully retrieved for device-sim:2024-09-17
02:34:24,946 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message odl-netconf-monitoring2022-07-18yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:24,946 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:24,946 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 365 down to 2093848
02:34:24,947 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #13 sending command=94[SSH_MSG_CHANNEL_DATA] len=374
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 761 down to 2052809
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #13 sending command=94[SSH_MSG_CHANNEL_DATA] len=770
02:34:24,947 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #12 SSH_MSG_CHANNEL_DATA
02:34:24,947 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 2828 down to 2053570
02:34:24,947 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=2828
02:34:24,947 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 2828 bytes of data
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-5"
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #13 SSH_MSG_CHANNEL_DATA
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 365 down to 2093848
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=365
02:34:24,947 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 365 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:24,948 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: ietf-inet-types2013-07-15yang
02:34:24,948 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
module notifications {
namespace "urn:ietf:params:xml:ns:netconf:notification:1.0";
prefix "ncEvent";
import ietf-yang-types { prefix yang; }
organization
"IETF NETCONF WG";
contact
"netconf@ops.ietf.org";
description
"Conversion of the 'ncEvent' XSD in the
NETCONF Notifications RFC.";
reference
"RFC 5277.";
revision 2008-07-14 {
description "RFC 5277 version.";
}
typedef streamNameType {
description
"The name of an event stream.";
type string;
}
rpc create-subscription {
description
"The command to create a notification subscription. It
takes as argument the name of the notification stream
and filter. Both of those options limit the content of
the subscription. In addition, there are two time-related
parameters, startTime and stopTime, which can be used to
select the time interval of interest to the notification
replay feature.";
input {
leaf stream {
description
"An optional parameter that indicates which stream of events
is of interest. If not present, then events in the default
NETCONF stream will be sent.";
type streamNameType;
default "NETCONF";
}
anyxml filter {
description
"An optional parameter that indicates which subset of all
possible events is of interest. The format of this
parameter is the same as that of the filter parameter
in the NETCONF protocol operations. If not present,
all events not precluded by other parameters will
be sent.";
}
leaf startTime {
description
"A parameter used to trigger the replay feature and
indicates that the replay should start at the time
specified. If start time is not present, this is not a
replay subscription.";
type yang:date-and-time;
}
leaf stopTime {
// must ". >= ../startTime";
description
"An optional parameter used with the optional replay
feature to indicate the newest notifications of
interest. If stop time is not present, the notifications
will continue until the subscription is terminated.
Must be used with startTime.";
type yang:date-and-time;
}
}
}
}
02:34:24,949 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,949 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,949 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
module notifications {
namespace "urn:ietf:params:xml:ns:netconf:notification:1.0";
prefix "ncEvent";
import ietf-yang-types { prefix yang; }
organization
"IETF NETCONF WG";
contact
"netconf@ops.ietf.org";
description
"Conversion of the 'ncEvent' XSD in the
NETCONF Notifications RFC.";
reference
"RFC 5277.";
revision 2008-07-14 {
description "RFC 5277 version.";
}
typedef streamNameType {
description
"The name of an event stream.";
type string;
}
rpc create-subscription {
description
"The command to create a notification subscription. It
takes as argument the name of the notification stream
and filter. Both of those options limit the content of
the subscription. In addition, there are two time-related
parameters, startTime and stopTime, which can be used to
select the time interval of interest to the notification
replay feature.";
input {
leaf stream {
description
"An optional parameter that indicates which stream of events
is of interest. If not present, then events in the default
NETCONF stream will be sent.";
type streamNameType;
default "NETCONF";
}
anyxml filter {
description
"An optional parameter that indicates which subset of all
possible events is of interest. The format of this
parameter is the same as that of the filter parameter
in the NETCONF protocol operations. If not present,
all events not precluded by other parameters will
be sent.";
}
leaf startTime {
description
"A parameter used to trigger the replay feature and
indicates that the replay should start at the time
specified. If start time is not present, this is not a
replay subscription.";
type yang:date-and-time;
}
leaf stopTime {
// must ". >= ../startTime";
description
"An optional parameter used with the optional replay
feature to indicate the newest notifications of
interest. If stop time is not present, the notifications
will continue until the subscription is terminated.
Must be used with startTime.";
type yang:date-and-time;
}
}
}
}
02:34:24,949 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message ietf-inet-types2013-07-15yang
to org.opendaylight.netconf.server.mdsal.monitoring.GetSchema{name=get-schema, namespace=urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring, session=1}
02:34:24,949 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:24,950 PM [netconf-netty-e2e-4] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: YANG Schema successfully retrieved for notifications:2008-07-14
02:34:24,951 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #13 SSH_MSG_CHANNEL_DATA
02:34:24,951 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 761 down to 2052809
02:34:24,951 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=761
02:34:24,951 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 761 bytes of data
02:34:24,951 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 17141 down to 2035668
02:34:24,951 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #14 sending command=94[SSH_MSG_CHANNEL_DATA] len=17150
02:34:24,951 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-6"
02:34:24,951 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:24,952 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,952 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
module odl-netconf-monitoring {
namespace "urn:opendaylight:params:xml:ns:yang:netconf:monitoring";
prefix "odlncm";
import ietf-netconf-monitoring {
prefix ncm;
}
revision "2022-07-18" {
description "Initial revision.";
}
identity netconf-tcp {
base ncm:transport;
description "NETCONF over plain TCP/IP.";
}
augment "/ncm:netconf-state/ncm:sessions/ncm:session" {
leaf session-identifier {
type string;
}
}
}
02:34:24,952 PM [netconf-netty-e2e-4] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: YANG Schema successfully retrieved for odl-netconf-monitoring:2022-07-18
02:34:24,953 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #14 SSH_MSG_CHANNEL_DATA
02:34:24,953 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 17141 down to 2035668
02:34:24,953 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=17141
02:34:24,953 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 17141 bytes of data
02:34:24,954 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:24,954 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:24,954 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
module ietf-inet-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
prefix "inet";
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: David Kessens
<mailto:david.kessens@nsn.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>";
description
"This module contains a collection of generally useful derived
YANG data types for Internet addresses and related things.
Copyright (c) 2013 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 6991; see
the RFC itself for full legal notices.";
revision 2013-07-15 {
description
"This revision adds the following new data types:
- ip-address-no-zone
- ipv4-address-no-zone
- ipv6-address-no-zone";
reference
"RFC 6991: Common YANG Data Types";
}
revision 2010-09-24 {
description
"Initial revision.";
reference
"RFC 6021: Common YANG Data Types";
}
/*** collection of types related to protocol fields ***/
typedef ip-version {
type enumeration {
enum unknown {
value "0";
description
"An unknown or unspecified version of the Internet
protocol.";
}
enum ipv4 {
value "1";
description
"The IPv4 protocol as defined in RFC 791.";
}
enum ipv6 {
value "2";
description
"The IPv6 protocol as defined in RFC 2460.";
}
}
description
"This value represents the version of the IP protocol.
In the value set and its semantics, this type is equivalent
to the InetVersion textual convention of the SMIv2.";
reference
"RFC 791: Internet Protocol
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
RFC 4001: Textual Conventions for Internet Network Addresses";
}
typedef dscp {
type uint8 {
range "0..63";
}
description
"The dscp type represents a Differentiated Services Code Point
that may be used for marking packets in a traffic stream.
In the value set and its semantics, this type is equivalent
to the Dscp textual convention of the SMIv2.";
reference
"RFC 3289: Management Information Base for the Differentiated
Services Architecture
RFC 2474: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers
RFC 2780: IANA Allocation Guidelines For Values In
the Internet Protocol and Related Headers";
}
typedef ipv6-flow-label {
type uint32 {
range "0..1048575";
}
description
"The ipv6-flow-label type represents the flow identifier or Flow
Label in an IPv6 packet header that may be used to
discriminate traffic flows.
In the value set and its semantics, this type is equivalent
to the IPv6FlowLabel textual convention of the SMIv2.";
reference
"RFC 3595: Textual Conventions for IPv6 Flow Label
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
}
typedef port-number {
type uint16 {
range "0..65535";
}
description
"The port-number type represents a 16-bit port number of an
Internet transport-layer protocol such as UDP, TCP, DCCP, or
SCTP. Port numbers are assigned by IANA. A current list of
all assignments is available from <http://www.iana.org/>.
Note that the port number value zero is reserved by IANA. In
situations where the value zero does not make sense, it can
be excluded by subtyping the port-number type.
In the value set and its semantics, this type is equivalent
to the InetPortNumber textual convention of the SMIv2.";
reference
"RFC 768: User Datagram Protocol
RFC 793: Transmission Control Protocol
RFC 4960: Stream Control Transmission Protocol
RFC 4340: Datagram Congestion Control Protocol (DCCP)
RFC 4001: Textual Conventions for Internet Network Addresses";
}
/*** collection of types related to autonomous systems ***/
typedef as-number {
type uint32;
description
"The as-number type represents autonomous system numbers
which identify an Autonomous System (AS). An AS is a set
of routers under a single technical administration, using
an interior gateway protocol and common metrics to route
packets within the AS, and using an exterior gateway
protocol to route packets to other ASes. IANA maintains
the AS number space and has delegated large parts to the
regional registries.
Autonomous system numbers were originally limited to 16
bits. BGP extensions have enlarged the autonomous system
number space to 32 bits. This type therefore uses an uint32
base type without a range restriction in order to support
a larger autonomous system number space.
In the value set and its semantics, this type is equivalent
to the InetAutonomousSystemNumber textual convention of
the SMIv2.";
reference
"RFC 1930: Guidelines for creation, selection, and registration
of an Autonomous System (AS)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
RFC 4001: Textual Conventions for Internet Network Addresses
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Number Space";
}
/*** collection of types related to IP addresses and hostnames ***/
typedef ip-address {
type union {
type inet:ipv4-address;
type inet:ipv6-address;
}
description
"The ip-address type represents an IP address and is IP
version neutral. The format of the textual representation
implies the IP version. This type supports scoped addresses
by allowing zone identifiers in the address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '(%[\p{N}\p{L}]+)?';
}
description
"The ipv4-address type represents an IPv4 address in
dotted-quad notation. The IPv4 address may include a zone
index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format for the zone index is the numerical
format";
}
typedef ipv6-address {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(%[\p{N}\p{L}]+)?';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(%.+)?';
}
description
"The ipv6-address type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed notation. The IPv6
address may include a zone index, separated by a % sign.
The zone index is used to disambiguate identical address
values. For link-local addresses, the zone index will
typically be the interface index number or the name of an
interface. If the zone index is not present, the default
zone of the device will be used.
The canonical format of IPv6 addresses uses the textual
representation defined in Section 4 of RFC 5952. The
canonical format for the zone index is the numerical
format as described in Section 11.2 of RFC 4007.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-address-no-zone {
type union {
type inet:ipv4-address-no-zone;
type inet:ipv6-address-no-zone;
}
description
"The ip-address-no-zone type represents an IP address and is
IP version neutral. The format of the textual representation
implies the IP version. This type does not support scoped
addresses since it does not allow zone identifiers in the
address format.";
reference
"RFC 4007: IPv6 Scoped Address Architecture";
}
typedef ipv4-address-no-zone {
type inet:ipv4-address {
pattern '[0-9\.]*';
}
description
"An IPv4 address without a zone index. This type, derived from
ipv4-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
}
typedef ipv6-address-no-zone {
type inet:ipv6-address {
pattern '[0-9a-fA-F:\.]*';
}
description
"An IPv6 address without a zone index. This type, derived from
ipv6-address, may be used in situations where the zone is
known from the context and hence no zone index is needed.";
reference
"RFC 4291: IP Version 6 Addressing Architecture
RFC 4007: IPv6 Scoped Address Architecture
RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
typedef ip-prefix {
type union {
type inet:ipv4-prefix;
type inet:ipv6-prefix;
}
description
"The ip-prefix type represents an IP prefix and is IP
version neutral. The format of the textual representations
implies the IP version.";
}
typedef ipv4-prefix {
type string {
pattern
'(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
+ '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
+ '/(([0-9])|([1-2][0-9])|(3[0-2]))';
}
description
"The ipv4-prefix type represents an IPv4 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 32.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The canonical format of an IPv4 prefix has all bits of
the IPv4 address set to zero that are not part of the
IPv4 prefix.";
}
typedef ipv6-prefix {
type string {
pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
+ '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
+ '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
+ '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
+ '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
+ '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
+ '(/.+)';
}
description
"The ipv6-prefix type represents an IPv6 address prefix.
The prefix length is given by the number following the
slash character and must be less than or equal to 128.
A prefix length value of n corresponds to an IP address
mask that has n contiguous 1-bits from the most
significant bit (MSB) and all other bits set to 0.
The IPv6 address should have all bits that do not belong
to the prefix set to zero.
The canonical format of an IPv6 prefix has all bits of
the IPv6 address set to zero that are not part of the
IPv6 prefix. Furthermore, the IPv6 address is represented
as defined in Section 4 of RFC 5952.";
reference
"RFC 5952: A Recommendation for IPv6 Address Text
Representation";
}
/*** collection of domain name and URI types ***/
typedef domain-name {
type string {
pattern
'((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
+ '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
+ '|\.';
length "1..253";
}
description
"The domain-name type represents a DNS domain name. The
name SHOULD be fully qualified whenever possible.
Internet domain names are only loosely specified. Section
3.5 of RFC 1034 recommends a syntax (modified in Section
2.1 of RFC 1123). The pattern above is intended to allow
for current practice in domain name use, and some possible
future expansion. It is designed to hold various types of
domain names, including names used for A or AAAA records
(host names) and other records, such as SRV records. Note
that Internet host names have a stricter syntax (described
in RFC 952) than the DNS recommendations in RFCs 1034 and
1123, and that systems that want to store host names in
schema nodes using the domain-name type are recommended to
adhere to this stricter standard to ensure interoperability.
The encoding of DNS names in the DNS protocol is limited
to 255 characters. Since the encoding consists of labels
prefixed by a length bytes and there is a trailing NULL
byte, only 253 characters can appear in the textual dotted
notation.
The description clause of schema nodes using the domain-name
type MUST describe when and how these names are resolved to
IP addresses. Note that the resolution of a domain-name value
may require to query multiple DNS records (e.g., A for IPv4
and AAAA for IPv6). The order of the resolution process and
which DNS record takes precedence can either be defined
explicitly or may depend on the configuration of the
resolver.
Domain-name values use the US-ASCII encoding. Their canonical
format uses lowercase US-ASCII characters. Internationalized
domain names MUST be A-labels as per RFC 5890.";
reference
"RFC 952: DoD Internet Host Table Specification
RFC 1034: Domain Names - Concepts and Facilities
RFC 1123: Requirements for Internet Hosts -- Application
and Support
RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)
RFC 5890: Internationalized Domain Names in Applications
(IDNA): Definitions and Document Framework";
}
typedef host {
type union {
type inet:ip-address;
type inet:domain-name;
}
description
"The host type represents either an IP address or a DNS
domain name.";
}
typedef uri {
type string;
description
"The uri type represents a Uniform Resource Identifier
(URI) as defined by STD 66.
Objects using the uri type MUST be in US-ASCII encoding,
and MUST be normalized as described by RFC 3986 Sections
6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary
percent-encoding is removed, and all case-insensitive
characters are set to lowercase except for hexadecimal
digits, which are normalized to uppercase as described in
Section 6.2.2.1.
The purpose of this normalization is to help provide
unique URIs. Note that this normalization is not
sufficient to provide uniqueness. Two URIs that are
textually distinct after this normalization may still be
equivalent.
Objects using the uri type may restrict the schemes that
they permit. For example, 'data:' and 'urn:' schemes
might not be appropriate.
A zero-length URI is not a valid URI. This can be used to
express 'URI absent' where required.
In the value set and its semantics, this type is equivalent
to the Uri SMIv2 textual convention defined in RFC 5017.";
reference
"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Group: Uniform Resource Identifiers (URIs), URLs,
and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 5017: MIB Textual Conventions for Uniform Resource
Identifiers (URIs)";
}
}
02:34:24,955 PM [netconf-netty-e2e-4] [DEBUG] MonitoringSchemaSourceProvider - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: YANG Schema successfully retrieved for ietf-inet-types:2013-07-15
02:34:24,955 PM [topology-schema-assembler-8] [DEBUG] SchemaSetup - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Unable to map any source identifiers to a capability reported by device : []
02:34:24,981 PM [topology-schema-assembler-8] [DEBUG] SchemaSetup - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Schema context built successfully from [SourceIdentifier [ietf-yang-types@2013-07-15], SourceIdentifier [ietf-netconf-monitoring@2010-10-04], SourceIdentifier [device-sim@2024-09-17], SourceIdentifier [notifications@2008-07-14], SourceIdentifier [ietf-inet-types@2013-07-15], SourceIdentifier [odl-netconf-monitoring@2022-07-18]]
02:34:24,983 PM [topology-schema-assembler-11] [DEBUG] NetconfDeviceMount - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Mountpoint exposed into MD-SAL {closed=false, instance=org.opendaylight.mdsal.dom.spi.SimpleDOMMountPoint@3c928990}
02:34:24,989 PM [topology-schema-assembler-11] [DEBUG] KeepaliveSalFacade - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Netconf session initiated, starting keepalives
02:34:24,990 PM [topology-schema-assembler-11] [INFO] NetconfDevice - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Netconf connector initialized successfully
02:34:24,993 PM [restconf-netty-e2e-5] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x7432f795, L:/127.0.0.1:46283 - R:/127.0.0.1:54532]
02:34:24,996 PM [restconf-netty-e2e-5] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:24,996 PM [restconf-netty-e2e-5] [DEBUG] APIResource - Preparing GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:24,996 PM [restconf-netty-e2e-5] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:46283/rests/data/network-topology:network-topology/topology=topology-netconf/node=device-sim/netconf-node-topology:netconf-node?fields=connection-status
02:34:25,7 PM [restconf-netty-e2e-6] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x93189ad7, L:/127.0.0.1:46283 - R:/127.0.0.1:54544]
02:34:25,9 PM [restconf-netty-e2e-6] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:25,9 PM [restconf-netty-e2e-6] [DEBUG] APIResource - Preparing POST http://127.0.0.1:46283/rests/operations/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/notifications:create-subscription
02:34:25,9 PM [restconf-netty-e2e-6] [DEBUG] HTTPServerSession - Dispatching POST http://127.0.0.1:46283/rests/operations/network-topology:network-topology/topology=topology-netconf/node=device-sim/yang-ext:mount/notifications:create-subscription
02:34:25,10 PM [restconf-netty-e2e-6] [DEBUG] YangLibraryVersionResource - Cannot find yang-library-version
java.lang.IllegalArgumentException: Module for QNameModule{ns=urn:ietf:params:xml:ns:yang:ietf-restconf, rev=2017-01-26} not found
at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterYangData(SchemaInferenceStack.java:567)
at org.opendaylight.restconf.server.spi.YangLibraryVersionResource.of(YangLibraryVersionResource.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalServerStrategy.(MdsalServerStrategy.java:50)
at org.opendaylight.restconf.server.mdsal.MdsalMountPointResolver.resolveMountPoint(MdsalMountPointResolver.java:79)
at org.opendaylight.restconf.server.spi.AbstractServerStrategy.resolveStrategy(AbstractServerStrategy.java:381)
at org.opendaylight.restconf.server.mdsal.MdsalRestconfServer.operationsPOST(MdsalRestconfServer.java:416)
at org.opendaylight.restconf.server.PendingOperationsPost.execute(PendingOperationsPost.java:37)
at org.opendaylight.restconf.server.PendingOperationsPost.execute(PendingOperationsPost.java:27)
at org.opendaylight.restconf.server.PendingRequestWithBody.execute(PendingRequestWithBody.java:61)
at org.opendaylight.restconf.server.AbstractPendingRequest.execute(AbstractPendingRequest.java:97)
at org.opendaylight.netconf.transport.http.HTTPServerSession.executeRequest(HTTPServerSession.java:265)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:202)
at org.opendaylight.netconf.transport.http.HTTPServerSession.channelRead0(HTTPServerSession.java:52)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:121)
at org.opendaylight.netconf.transport.http.ServerSseHandler.channelRead(ServerSseHandler.java:90)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:56)
at org.opendaylight.netconf.transport.http.AbstractBasicAuthHandler.channelRead0(AbstractBasicAuthHandler.java:35)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:537)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
02:34:25,13 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Consume RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 313 down to 2093535
02:34:25,13 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - encode(TransportClientSession[device-username@/127.0.0.1:40579]) packet #14 sending command=94[SSH_MSG_CHANNEL_DATA] len=322
02:34:25,14 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - doHandleMessage(TransportServerSession[device-username@/127.0.0.1:34480]) process #14 SSH_MSG_CHANNEL_DATA
02:34:25,14 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Consume LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 313 down to 2093535
02:34:25,14 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - handleData(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_DATA len=313
02:34:25,14 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - Forwarding 313 bytes of data on TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:25,15 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Message was received: NETCONF
02:34:25,16 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:25,16 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfOperationRouterImpl - Forwarding netconf message NETCONF
to org.opendaylight.netconf.test.tool.rpchandler.SettableRpc@49644c35
02:34:25,16 PM [netconf-device-simulator-threads-1] [INFO] RpcHandlerDefault - getResponse: XmlElement{name='create-subscription', namespace='urn:ietf:params:xml:ns:netconf:notification:1.0'}
02:34:25,17 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Responding with message
02:34:25,18 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 179 down to 2035489
02:34:25,19 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #15 sending command=94[SSH_MSG_CHANNEL_DATA] len=188
02:34:25,19 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Finished sending response message-id="m-0"
02:34:25,19 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #15 SSH_MSG_CHANNEL_DATA
02:34:25,19 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 179 down to 2035489
02:34:25,19 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=179
02:34:25,19 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 179 bytes of data
02:34:25,20 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received:
02:34:25,20 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:25,20 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Message received
02:34:25,26 PM [restconf-netty-e2e-7] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0xb97c3f95, L:/127.0.0.1:46283 - R:/127.0.0.1:54546]
02:34:25,28 PM [restconf-netty-e2e-7] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:25,28 PM [restconf-netty-e2e-7] [DEBUG] APIResource - Preparing POST http://127.0.0.1:46283/rests/operations/odl-device-notification:subscribe-device-notification
02:34:25,29 PM [restconf-netty-e2e-7] [DEBUG] HTTPServerSession - Dispatching POST http://127.0.0.1:46283/rests/operations/odl-device-notification:subscribe-device-notification
02:34:25,37 PM [restconf-netty-e2e-7] [DEBUG] AbstractRestconfStreamRegistry - Stream urn:uuid:ac42fdf8-a2a4-498f-9410-e2038d54eb65 added
02:34:25,43 PM [restconf-netty-e2e-0] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x34804f07, L:/127.0.0.1:46283 - R:/127.0.0.1:54550]
02:34:25,45 PM [restconf-netty-e2e-0] [DEBUG] AAAShiroPrincipalService - No x-restconf-principal-uuid header present
02:34:25,45 PM [restconf-netty-e2e-0] [DEBUG] APIResource - Preparing GET http://127.0.0.1:46283/rests/data/ietf-restconf-monitoring:restconf-state/streams/stream=urn:uuid:ac42fdf8-a2a4-498f-9410-e2038d54eb65
02:34:25,46 PM [restconf-netty-e2e-0] [DEBUG] HTTPServerSession - Dispatching GET http://127.0.0.1:46283/rests/data/ietf-restconf-monitoring:restconf-state/streams/stream=urn:uuid:ac42fdf8-a2a4-498f-9410-e2038d54eb65
02:34:25,50 PM [restconf-netty-e2e-1] [INFO] ClientHttp1SseService - Client SSE enabled on channel [id: 0xd036440d, L:/127.0.0.1:54558 - R:/127.0.0.1:46283]
02:34:25,51 PM [restconf-netty-e2e-2] [DEBUG] ServerSseHandler - Server SSE enabled on channel [id: 0x09026490, L:/127.0.0.1:46283 - R:/127.0.0.1:54558]
02:34:25,151 PM [main] [DEBUG] ClientHttp1SseService - SSE request sent to /rests/streams/json/urn:uuid:ac42fdf8-a2a4-498f-9410-e2038d54eb65
02:34:25,153 PM [restconf-netty-e2e-2] [DEBUG] RestconfStream - Subscriber org.opendaylight.restconf.server.RestconfStreamService$1@6bbb8831 is added.
02:34:25,157 PM [restconf-netty-e2e-2] [DEBUG] ServerSseHandler - Event Stream request accepted for URI=/rests/streams/json/urn:uuid:ac42fdf8-a2a4-498f-9410-e2038d54eb65
02:34:27,19 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Consume RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) by 364 down to 2035125
02:34:27,20 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #16 sending command=94[SSH_MSG_CHANNEL_DATA] len=373
02:34:27,21 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - doHandleMessage(TransportClientSession[device-username@/127.0.0.1:40579]) process #16 SSH_MSG_CHANNEL_DATA
02:34:27,21 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Consume LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) by 364 down to 2035125
02:34:27,21 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - handleData(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) SSH_MSG_CHANNEL_DATA len=364
02:34:27,21 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - Forwarding 364 bytes of data
02:34:27,23 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Message was received: 2024-10-16T14:34:24ZEvent message
02:34:27,24 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - handling incoming message
02:34:27,28 PM [netconf-netty-e2e-4] [DEBUG] NotificationHandler - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Forwarding notification org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformer$NetconfDeviceNotification@56f461d0
02:34:27,32 PM [restconf-netty-e2e-2] [DEBUG] RestconfStream - Subscriber Subscriber{closed=true} is removed
02:34:27,33 PM [restconf-netty-e2e-2] [DEBUG] AbstractRestconfStreamRegistry - Stream urn:uuid:ac42fdf8-a2a4-498f-9410-e2038d54eb65 removed
02:34:27,133 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - onExit(TransportServerSession[device-username@/127.0.0.1:34480])[TransportServerSubsystem[netconf]] exiting - value=0, message=
02:34:27,134 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - closeShell(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) exit code=0, immediate=false
02:34:27,134 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendEof(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_EOF (state=Opened)
02:34:27,134 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #17 sending command=96[SSH_MSG_CHANNEL_EOF] len=5
02:34:27,134 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) Closing immediately
02:34:27,134 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - sendExitStatus(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) SSH_MSG_CHANNEL_REQUEST exit-status=0
02:34:27,134 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) no EOF sent
02:34:27,134 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #18 sending command=98[SSH_MSG_CHANNEL_REQUEST] len=25
02:34:27,134 PM [netconf-netty-e2e-4] [DEBUG] LocalWindow - Closing LocalWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf])
02:34:27,134 PM [netconf-netty-e2e-4] [DEBUG] RemoteWindow - Closing RemoteWindow[client](TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf])
02:34:27,134 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) Closing gracefully
02:34:27,134 PM [netconf-netty-e2e-4] [DEBUG] ChannelSession$1 - close([TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]] cmd=SSH_MSG_CHANNEL_DATA) Closing immediately
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] LocalWindow - Closing LocalWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] ChannelSession$1 - close([TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]] cmd=SSH_MSG_CHANNEL_DATA)[Immediately] closed
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] RemoteWindow - Closing RemoteWindow[server](TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]]) Closing immediately
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]])[Immediately] closed
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]]) Closing immediately
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] ChannelAsyncInputStream - close(ChannelAsyncInputStream[TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]])[Immediately] closed
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf])[immediately=true] processing
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]] cmd=SSH_MSG_CHANNEL_DATA) Closing gracefully
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - unregisterChannel(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]) result=TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf]
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]] cmd=SSH_MSG_CHANNEL_DATA][Graceful] - operationComplete() closed
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@18a0ee02) signal close complete immediately=true
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA) Closing gracefully
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@23ff1e38) signal close complete immediately=true
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA][Graceful] - operationComplete() closed
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@662f81ad) signal close complete immediately=true
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[immediately=false] processing
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:40579]) Closing immediately
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[immediately=false] send SSH_MSG_CHANNEL_CLOSE
02:34:27,135 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - signalAuthFailure(TransportClientSession[device-username@/127.0.0.1:40579]) type=SshException, signalled=false, first=false: Session is being closed
02:34:27,135 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - encode(TransportServerSession[device-username@/127.0.0.1:34480]) packet #19 sending command=97[SSH_MSG_CHANNEL_CLOSE] len=5
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] SSHTransportStack - Session 1 closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - handleClosePacketWriteFailure(GracefulChannelCloseable[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]])[immediately=false] failed (StacklessClosedChannelException) to write SSH_MSG_CHANNEL_CLOSE on channel: null
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - close(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:40579]]) Closing immediately
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) Closing immediately
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:40579]) stopping
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - stopHeartBeat(TransportClientSession[device-username@/127.0.0.1:40579]) stopped
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] ClientConnectionService - close(ClientConnectionService[TransportClientSession[device-username@/127.0.0.1:40579]])[Immediately] closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]] cmd=SSH_MSG_CHANNEL_DATA)[Immediately] state already Closed
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] 1:34480] - close(TransportIoSession[local=/127.0.0.1:34480, remote=/127.0.0.1:40579]) Closing immediately
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] ChannelAsyncOutputStream - close(ChannelAsyncOutputStream[TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]] cmd=SSH_MSG_CHANNEL_EXTENDED_DATA)[Immediately] state already Closed
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] 1:34480] - close(TransportIoSession[local=/127.0.0.1:34480, remote=/127.0.0.1:40579])[Immediately] closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractChannel$GracefulChannelCloseable - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[immediately=true] processing
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@13a08659) signal close complete immediately=true
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - unregisterChannel(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) result=TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:40579])[Immediately] closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@44446879) signal close complete immediately=true
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSubsystem - close(TransportClientSubsystem[id=0, recipient=0]-TransportClientSession[device-username@/127.0.0.1:40579][netconf])[Immediately] closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSubsystem - destroy(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[TransportServerSubsystem[netconf]] - shutdown executor service - runners count=0
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@7a42679a) signal close complete immediately=true
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] TransportClientSession - close(TransportClientSession[device-username@/127.0.0.1:40579])[Immediately] state already Closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - close(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480])[Immediately] closed
02:34:27,136 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - unregisterChannel(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) result=null
02:34:27,136 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Channel [id: 0x92680c2e, L:/127.0.0.1:34480 ! R:/127.0.0.1:40579] inactive.
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@62e88efd) signal close complete immediately=false
02:34:27,137 PM [netconf-netty-e2e-4] [DEBUG] AbstractNetconfSession - Session NetconfClientSession{sessionId=1, channel=[id: 0x92680c2e, L:/127.0.0.1:34480 ! R:/127.0.0.1:40579]} end of input detected while session was in state up
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@7f698640) signal close complete immediately=false
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] TransportChannelSession - onExit(TransportChannelSession[id=0, recipient=0]-TransportServerSession[device-username@/127.0.0.1:34480]) code=0 message='' shell closed
02:34:27,137 PM [netconf-netty-e2e-4] [INFO] NetconfDeviceCommunicator - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Session went down: End of input
02:34:27,137 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceCommunicator - Tearing down null
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - close(TransportServerSession[device-username@/127.0.0.1:34480]) Closing immediately
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] SSHTransportStack - Session 1 closed
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - close(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:34480]]) Closing immediately
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:34480]) stopping
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - stopHeartBeat(TransportServerSession[device-username@/127.0.0.1:34480]) stopped
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] ServerConnectionService - close(ServerConnectionService[TransportServerSession[device-username@/127.0.0.1:34480]])[Immediately] closed
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] 1:40579] - close(TransportIoSession[local=/127.0.0.1:40579, remote=/127.0.0.1:34480]) Closing immediately
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] 1:40579] - close(TransportIoSession[local=/127.0.0.1:40579, remote=/127.0.0.1:34480])[Immediately] closed
02:34:27,137 PM [netconf-device-simulator-threads-1] [DEBUG] SequentialCloseable - doClose(org.opendaylight.netconf.shaded.sshd.common.util.closeable.SequentialCloseable$1@18892e74) signal close complete immediately=true
02:34:27,138 PM [netconf-device-simulator-threads-1] [DEBUG] TransportServerSession - close(TransportServerSession[device-username@/127.0.0.1:34480])[Immediately] closed
02:34:27,138 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Channel [id: 0x2cb6c688, L:/127.0.0.1:40579 ! R:/127.0.0.1:34480] inactive.
02:34:27,138 PM [netconf-device-simulator-threads-1] [DEBUG] AbstractNetconfSession - Session NetconfServerSession{sessionId=1, channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 ! R:/127.0.0.1:34480]} end of input detected while session was in state up
02:34:27,138 PM [netconf-device-simulator-threads-1] [DEBUG] NetconfServerSessionListener - Session NetconfServerSession{sessionId=1, channel=[id: 0x2cb6c688, L:/127.0.0.1:40579 ! R:/127.0.0.1:34480]} down, reason: End of input
02:34:27,139 PM [netconf-netty-e2e-4] [DEBUG] NetconfDeviceMount - RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579]: Mountpoint removed from MD-SAL {closed=true, instance=org.opendaylight.mdsal.dom.spi.SimpleDOMMountPoint@3c928990}
02:34:27,139 PM [netconf-netty-e2e-4] [DEBUG] NetconfNodeHandler - Retrying RemoteDeviceId[name=device-sim, address=/127.0.0.1:40579] connection attempt 1 after 2173 milliseconds