searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

ODL netconf连接处理机制

2023-10-24 06:00:02
38
0

连接建立过程

1)先ssh连接上

2)netconf协商

3)session建立触发上层,调用handleAdd,然后sessionUp

4)调用deivceConnected

5)设置currentDeivceRpc

6)添加挂载点,注册监听

7)更新device信息,新起一个线程通知vpp上线

8)新建一个保活定时任务

 

重连任务创建

1)进行connectNode操作

2)创建一个 执行重连任务的listener,监听channel inactive事件;

3)监听到channel inactive事件,触发ssh重连。

 

保活任务流程

1)报文定时任务提交之后,会定时执行保活任务。

2)获取上一次任务执行结果lastKeepAliveSucceeded,并将其设置为false;

       2-1)如果上一次执行结果为true,则发送一个rpc交互,如果收到返回信息则更新lastKeepAliveSucceeded为true,如果没有收到返回信息则设置为false,认为保活失败。

       2-2)如果上一次保护执行结果为false,则直接取消后续的保活任务,将channel close触发重连任务。

 

0条评论
作者已关闭评论
z****n
2文章数
0粉丝数
z****n
2 文章 | 0 粉丝
z****n
2文章数
0粉丝数
z****n
2 文章 | 0 粉丝
原创

ODL netconf连接处理机制

2023-10-24 06:00:02
38
0

连接建立过程

1)先ssh连接上

2)netconf协商

3)session建立触发上层,调用handleAdd,然后sessionUp

4)调用deivceConnected

5)设置currentDeivceRpc

6)添加挂载点,注册监听

7)更新device信息,新起一个线程通知vpp上线

8)新建一个保活定时任务

 

重连任务创建

1)进行connectNode操作

2)创建一个 执行重连任务的listener,监听channel inactive事件;

3)监听到channel inactive事件,触发ssh重连。

 

保活任务流程

1)报文定时任务提交之后,会定时执行保活任务。

2)获取上一次任务执行结果lastKeepAliveSucceeded,并将其设置为false;

       2-1)如果上一次执行结果为true,则发送一个rpc交互,如果收到返回信息则更新lastKeepAliveSucceeded为true,如果没有收到返回信息则设置为false,认为保活失败。

       2-2)如果上一次保护执行结果为false,则直接取消后续的保活任务,将channel close触发重连任务。

 

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0