sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2930回复:22

第一桶.hardware acceleration

楼主#
更多 发布于:2002-06-12 18:53
freeswan,偶要用硬件加密,怎么办呢..
1.see source.colubris.com
2.step by step
2.1 crypto lib
2.2 对freeswan的改变
2.3  等偶研究完再来和大家讨论.两周内不行就拉倒.
111
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-12 18:56
大水桶四处灌水。这问题我都看了3遍了。
按第一贴的“给分”键,给分。
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-12 18:59
上fpga?dsp?
按第一贴的“给分”键,给分。
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-13 10:21
不是啦,这个问题是早就有的问题了.
原来也做过,只能用中断方式,那样做速度太慢了
 
111
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-13 10:23
卡是反熔丝fpga...不过这不关卡的事
111
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-13 17:12
这个我没做过,但知道出现的问题很多。
两个星期太短了,不过,可能你很牛。
赫赫
有点意思。。。 呵呵!
hanking
驱动牛犊
驱动牛犊
  • 注册日期2002-02-18
  • 最后登录2002-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-15 20:25
hehe,我已做过了。
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-15 21:21
怎么做的能稍稍说说吗,关于这方面我总感觉很糊涂的样子。总之没概念。
按第一贴的“给分”键,给分。
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-16 10:55
hehe,我已做过了。


???
有点意思。。。 呵呵!
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-18 12:26
看来只有这里有点反应哈.,那么,就向这里灌了
111
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-18 13:55
接着说吧。系统构成,通信方法。。。。。。
按第一贴的“给分”键,给分。
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-18 17:04
首先要搞清的一个概念是中断上半部和下半部..
111
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-06-18 17:17
不清楚。。。说说吧,,,,
按第一贴的“给分”键,给分。
chaoswind
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2009-10-17
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望21点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-19 09:50
很容易的事情为什么要那么复杂?

修改freeswan源代码,懒惰的可以将DES处理程序换成你自己的
从加密硬件抽取出的加密/解密过程(内核)

而后你就等好吧.

计划时间 1~3天(硬件加密驱动已开发好,主要花在调试上)
        5  天(自己写硬件驱动(实际都可以不是完整的驱动程序))

给你源代码就是让你修改的!如果没时间就没有必要去使用什么接口.你们不觉得那样很烦?呵呵,恐怕连开源的意义都没有了.
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-19 10:34
你改过么,偶骨计没有.
所以,你不会知道细节.
想当然的说,我也会.
这个嘛,简单,半天就ok了,事实上也改完了
不过有个问题,跑起来效率
算了,懒得说了,知道的自然知道,不知道的自然不知道.如此而已
111
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-06-19 10:49
方法一完工,只是
The weak is that we HAVE TO POLL when  card do encryption and so CPU can not do other task. Because we do ipsec_rcv() and ipsec_tunnel_start_xmit() int NIC bottom-half procedule and so we CAN NOT sleep_on in here and HAVE TO POLL the card completion.
:(
还得改...........
111
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-06-19 10:54
In ipsec_tunnel_start_xmit() function (in ipsec_tunnel.c), modify the following code:
       Before modify:
                        ... ...
des_ede3_cbc_encrypt(idat, idat, ilen,
    (caddr_t)(&((struct des_eks*)(tdbp->tdb_key_e))[0]),
    (caddr_t)(&((struct des_eks*)(tdbp->tdb_key_e))[1]),
    (caddr_t)(&((struct des_eks*)(tdbp->tdb_key_e))[2]),
    (caddr_t)iv, 1);
... ...    

      After modify:
                        ... ...
 {
int num = 0;
/* To Enable hardware Card interrupt */ spin_unlock_irqrestore(&tdb_lock, tdb_flags);
des_ede_ofb64_encrypt_hardware(idat, idat, ilen,
    tdbp->tdb_key_e,
    &(tdbp->tdb_key_e[8]),
    tdbp->tdb_key_e,     (caddr_t)iv, &num);
spin_lock_irqsave(&tdb_lock, tdb_flags);


[编辑 -  6/19/02 by  sirroom]
111
iacceptit
驱动小牛
驱动小牛
  • 注册日期2002-05-30
  • 最后登录2003-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-06-19 11:11
方法一完工,只是
The weak is that we HAVE TO POLL when  card do encryption and so CPU can not do other task. Because we do ipsec_rcv() and ipsec_tunnel_start_xmit() int NIC bottom-half procedule and so we CAN NOT sleep_on in here and HAVE TO POLL the card completion.
:(
还得改...........


 :)
是呀,这就是核心了,一个中断,一个队列,
加密卡,网卡,冲突。问题来了。

祝你好运。
我帮不上什么忙,这一块不是我做。
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-06-20 17:43
说的都是些什么呀,看不懂,睡觉去了。
按第一贴的“给分”键,给分。
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-06-20 18:26
二楼的说的,
就是加密卡和网卡的中断问题!
有点意思。。。 呵呵!
上一页
游客

返回顶部