我知道这不是一个典型的,法律上的堆叠溢出问题,但这似乎是一个非常棘手的问题,因为没有人有一个准确的答案。所以,回到主题,我知道有一个隧道-id元数据匹配字段,它是在1.3OpenFlow版本中引入的,如果我没有弄错的话。但是,在支持像GTP这样的隧道协议的封装和解除封装过程方面有什么行动吗?我想,由于隧道元数据存在于openflow匹配实现中,所以在这种情况下,为了在实际的隧道ip数据包上应用路由决定,具体的encap/decap操作是什么?
发布于 2016-06-17 20:54:16
tunnel_id是一个应该匹配隧道协议标识符的泛型字段(cf )。OpenFlow规范1.5):
隧道ID字段中可选封装元数据的映射是由逻辑端口实现定义的,它依赖于逻辑端口的类型,并且是特定于实现的。我们建议,对于通过GRE隧道接收的包,包括(32位)密钥,密钥存储在较低的32位中,高比特被归零。我们建议对于MPLS逻辑端口,较低的20位代表MPLS标签。我们建议对于VxLAN逻辑端口,较低的24位代表VNI。
因此,基本上,是的,如果某个设备将解析GTP头,它应该(可以)将TEID映射到tunnel_id字段,所有这些似乎都是直接在数据路径内完成的--根据规范--无需任何可以/必须应用的进一步操作。
关于GTP:我不知道在任何通用的OpenFlow硬件中支持它(我很乐意,我们有用例)。
https://stackoverflow.com/questions/37673935
复制相似问题