使用IP_HDRINCL选项时,在Linux上面临路由(RPDB)问题

时间:2012-09-17 13:21:32

标签: linux sockets routing

我一直在使用Linux(2.6.x)RPDB(路由策略数据库),以便实现基于源地址的路由,为所需的源设置专用路由表,如下所示:

  1. 0:来自所有查找本地
  2. 32765:来自source-IP-address lookup table-id
  3. 32766:来自所有查找主
  4. 32767:来自所有查询默认
  5. 此外,我的应用程序使用原始套接字生成ICMP回送消息。问题是,当'IP_HDRINCL'套接字选项设置为'1'并且应用程序将整个IP标头与源IP地址一起构建时,相应的路由表不会被命中而是命中主路由表。

    但是,如果我修改应用程序而不是设置IP_HDRINCL套接字选项并在原始套接字上显式绑定以指定源地址,那么它会正确地命中所需的路由表。

    是否需要在套接字上绑定才能使用RPDB的基于源的路由功能?

    提前致谢!!

0 个答案:

没有答案