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.0 urn:ietf:params:netconf:base:1.1 urn: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-17 urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 urn:ietf:params:netconf:capability:notification:1.0 urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 urn:ietf:params:netconf:capability:exi:1.0 urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 urn:ietf:params:netconf:capability:candidate:1.0 urn:ietf:params:netconf:base:1.1 urn:ietf:params:netconf:base:1.0 1 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.0 urn:ietf:params:netconf:base:1.1 urn: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-17 urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 urn:ietf:params:netconf:capability:notification:1.0 urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 urn:ietf:params:netconf:capability:exi:1.0 urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 urn:ietf:params:netconf:capability:candidate:1.0 urn:ietf:params:netconf:base:1.1 urn:ietf:params:netconf:base:1.0 1 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-monitoring yang 2010-10-04 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring NETCONF device-sim yang 2024-09-17 test:device:simulator NETCONF odl-netconf-monitoring yang 2022-07-18 urn:opendaylight:params:xml:ns:yang:netconf:monitoring NETCONF ietf-yang-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-yang-types NETCONF ietf-inet-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-inet-types NETCONF 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-monitoring yang 2010-10-04 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring NETCONF device-sim yang 2024-09-17 test:device:simulator NETCONF odl-netconf-monitoring yang 2022-07-18 urn:opendaylight:params:xml:ns:yang:netconf:monitoring NETCONF ietf-yang-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-yang-types NETCONF ietf-inet-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-inet-types NETCONF 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-monitoring yang 2010-10-04 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring NETCONF device-sim yang 2024-09-17 test:device:simulator NETCONF odl-netconf-monitoring yang 2022-07-18 urn:opendaylight:params:xml:ns:yang:netconf:monitoring NETCONF ietf-yang-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-yang-types NETCONF ietf-inet-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-inet-types NETCONF 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-monitoring 2022-07-18 yang 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-monitoring 2022-07-18 yang 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-types 2013-07-15 yang 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-types 2013-07-15 yang 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-monitoring 2010-10-04 yang 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-monitoring 2010-10-04 yang 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-types 2013-07-15 yang 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-types 2013-07-15 yang 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-sim 2024-09-17 yang 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-sim 2024-09-17 yang 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: device id1 name1 value1 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 device id1 name1 value1 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 device id1 name1 value1 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: device id1 name1 value1 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 device id1 name1 value1 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: id1 value-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 id1 value-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 device id1 name1 value-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: device id1 name1 value-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 device id1 name1 value-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 device id1 name1 value-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: device id1 name1 value-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 device id1 name1 value-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: id2 name2 value2 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 id2 name2 value2 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 id2 name2 value2 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: id2 name2 value2 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 id2 name2 value2 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.0 urn:ietf:params:netconf:base:1.1 urn: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-17 urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 urn:ietf:params:netconf:capability:notification:1.0 urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 urn:ietf:params:netconf:capability:exi:1.0 urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 urn:ietf:params:netconf:capability:candidate:1.0 urn:ietf:params:netconf:base:1.1 urn:ietf:params:netconf:base:1.0 1 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-17 urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 urn:ietf:params:netconf:capability:notification:1.0 urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 urn:ietf:params:netconf:capability:exi:1.0 urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 urn:ietf:params:netconf:capability:candidate:1.0 urn:ietf:params:netconf:base:1.1 urn:ietf:params:netconf:base:1.0 1 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.0 urn:ietf:params:netconf:base:1.1 urn: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-monitoring yang 2010-10-04 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring NETCONF device-sim yang 2024-09-17 test:device:simulator NETCONF odl-netconf-monitoring yang 2022-07-18 urn:opendaylight:params:xml:ns:yang:netconf:monitoring NETCONF ietf-yang-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-yang-types NETCONF ietf-inet-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-inet-types NETCONF 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-monitoring yang 2010-10-04 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring NETCONF device-sim yang 2024-09-17 test:device:simulator NETCONF odl-netconf-monitoring yang 2022-07-18 urn:opendaylight:params:xml:ns:yang:netconf:monitoring NETCONF ietf-yang-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-yang-types NETCONF ietf-inet-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-inet-types NETCONF 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-monitoring yang 2010-10-04 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring NETCONF device-sim yang 2024-09-17 test:device:simulator NETCONF odl-netconf-monitoring yang 2022-07-18 urn:opendaylight:params:xml:ns:yang:netconf:monitoring NETCONF ietf-yang-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-yang-types NETCONF ietf-inet-types yang 2013-07-15 urn:ietf:params:xml:ns:yang:ietf-inet-types NETCONF 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-types 2013-07-15 yang 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-types 2013-07-15 yang 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-monitoring 2022-07-18 yang 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-monitoring 2022-07-18 yang 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-monitoring 2010-10-04 yang 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-monitoring 2010-10-04 yang 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-types 2013-07-15 yang 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-types 2013-07-15 yang 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-sim 2024-09-17 yang 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-sim 2024-09-17 yang 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: device id1 name1 value1 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 device id1 name1 value1 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: id2 name2 value2 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 id2 name2 value2 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 device id2 name2 value2 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: device id2 name2 value2 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 device id2 name2 value2 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.0 urn:ietf:params:netconf:base:1.1 urn: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-17 urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 urn:ietf:params:netconf:capability:notification:1.0 urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14 urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 urn:ietf:params:netconf:capability:exi:1.0 urn:ietf:params:netconf:capability:candidate:1.0 urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 urn:ietf:params:netconf:base:1.1 urn:ietf:params:netconf:base:1.0 1 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-17 urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 urn:ietf:params:netconf:capability:notification:1.0 urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14 urn:opendaylight:params:xml:ns:yang:netconf:monitoring?module=odl-netconf-monitoring&revision=2022-07-18 urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 urn:ietf:params:netconf:capability:exi:1.0 urn:ietf:params:netconf:capability:candidate:1.0 urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 urn:ietf:params:netconf:base:1.1 urn:ietf:params:netconf:base:1.0 1 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.0 urn:ietf:params:netconf:base:1.1 urn: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 yang ietf-yang-types NETCONF urn:ietf:params:xml:ns:yang:ietf-yang-types 2013-07-15 yang device-sim NETCONF test:device:simulator 2024-09-17 yang ietf-netconf-monitoring NETCONF urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring 2010-10-04 yang notifications NETCONF urn:ietf:params:xml:ns:netconf:notification:1.0 2008-07-14 yang ietf-inet-types NETCONF urn:ietf:params:xml:ns:yang:ietf-inet-types 2013-07-15 yang odl-netconf-monitoring NETCONF urn:opendaylight:params:xml:ns:yang:netconf:monitoring 2022-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: yang ietf-yang-types NETCONF urn:ietf:params:xml:ns:yang:ietf-yang-types 2013-07-15 yang device-sim NETCONF test:device:simulator 2024-09-17 yang ietf-netconf-monitoring NETCONF urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring 2010-10-04 yang notifications NETCONF urn:ietf:params:xml:ns:netconf:notification:1.0 2008-07-14 yang ietf-inet-types NETCONF urn:ietf:params:xml:ns:yang:ietf-inet-types 2013-07-15 yang odl-netconf-monitoring NETCONF urn:opendaylight:params:xml:ns:yang:netconf:monitoring 2022-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 yang ietf-yang-types NETCONF urn:ietf:params:xml:ns:yang:ietf-yang-types 2013-07-15 yang device-sim NETCONF test:device:simulator 2024-09-17 yang ietf-netconf-monitoring NETCONF urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring 2010-10-04 yang notifications NETCONF urn:ietf:params:xml:ns:netconf:notification:1.0 2008-07-14 yang ietf-inet-types NETCONF urn:ietf:params:xml:ns:yang:ietf-inet-types 2013-07-15 yang odl-netconf-monitoring NETCONF urn:opendaylight:params:xml:ns:yang:netconf:monitoring 2022-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-monitoring 2010-10-04 yang 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-monitoring 2010-10-04 yang 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-types 2013-07-15 yang 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-types 2013-07-15 yang 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-sim 2024-09-17 yang 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-sim 2024-09-17 yang 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: notifications 2008-07-14 yang 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 notifications 2008-07-14 yang 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-monitoring 2022-07-18 yang 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-monitoring 2022-07-18 yang 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-types 2013-07-15 yang 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-types 2013-07-15 yang 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:24Z Event 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