问题的解决似乎比较简单,办法有二,第一种办法就是为ip_vs_protocol结构体增加一个五元组变更通知的回调函数,比如叫做conn_in_update/conn_out_update,或者直接增加一个conn_in_delete/conn_out_delete,要么就是一种更加彻底的解决方案,即直接用sessionID来记录连接。而这后者正是我正准备为Linux的nf_conntrack所做的一个外科手术。
当然,我不会走火入魔到彻底放弃五元组的连接跟踪方式,我只是为nf_conntrack增加了一种选择,正如conntrack增加了zone的支持一样。我相信,即便我不动手,过一个一年半载,肯定会有人这么做的,以往的事实预示了这一点。