我一直在使用Linux(2.6.x)RPDB(路由策略数据库),以便实现基于源地址的路由,为所需的源设置专用路由表,如下所示:
此外,我的应用程序使用原始套接字生成ICMP回送消息。问题是,当'IP_HDRINCL'套接字选项设置为'1'并且应用程序将整个IP标头与源IP地址一起构建时,相应的路由表不会被命中而是命中主路由表。
但是,如果我修改应用程序而不是设置IP_HDRINCL套接字选项并在原始套接字上显式绑定以指定源地址,那么它会正确地命中所需的路由表。
是否需要在套接字上绑定才能使用RPDB的基于源的路由功能?
提前致谢!!