Messages in this thread |  | | Subject | Re: some trouble when using vrf | From | linmiaohe <> | Date | Wed, 17 Apr 2019 14:52:30 +0800 |
| |
On 2019/4/17 12:56, David Ahern wrote: > On 4/16/19 8:22 PM, linmiaohe wrote: >> >> >> On 2019/4/16 23:20, David Ahern wrote: >>> On 4/16/19 5:26 AM, linmiaohe wrote: >>>> ... >>>> bind(sock_fd, (struct sockaddr *)&addr_serv, sizeof(addr_serv)); >>>> ... >>>> ret = setsockopt(sock_fd, SOL_SOCKET, SO_BINDTODEVICE, bind_dev, strlen(bind_dev)+1); >>>> ... >>>> This code snipet doesn't work if the ip address of addr_serv is not in default vrf. And >>>> "Cannot assign requested address" will occurs. >>> >>> Applications must bind to the device first and then bind to the local >>> address. As I recall this applies regardless of whether it is a VRF or >>> other. >>> >>> >> It should be, but unfortunately some applications break this. >> > > Sure, I have an open item on my to-do list about re-verifying bound > addresses when the device binding changes (and vice versa). This is not > a problem VRF introduced, but VRF use case does bring more attention to it. > >
Cherrs! I can't wait to enjoy the source code of the item. Please let me know if you work out it. Thanks a lot.
|  |