I have a question regarding routes in FreeBSD 7.X I have a static route that I've added with:
This works correctly, and
If I change it to use a different interface, I can do that as well via:
However, if I try and add BACK the original interface, it complains:
I wanted to know if this is expected behavior. I did some debugging in with sys/net/route.c and saw that it's sending back an EEXIST code, but I'm unsure why it would choose to do that. I'm assuming its because of a duplicate dst/netmask/gw pairs, but this doesn't seem right in that context. Can anyone confirm this is expected behavior? I looked at FreeBSD-CURRENT and it looks like there's a slightly different implementation. Wasn't sure if this had been a known bug or not (searched for it, but wasn't turning up results).
route add -host 255.255.255.255 -interface lagg0This works correctly, and
netstat -r shows:
Code:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default some-router UGS 0 24050 lagg0
< some other entries >
255.255.255.255 ff:ff:ff:ff:ff:ff UHLSb 1 0 lagg0
If I change it to use a different interface, I can do that as well via:
route add -host 255.255.255.255 -interface bge0
Code:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default some-router UGS 0 24050 lagg0
< some other entries >
255.255.255.255 00:60:dd:45:8a:ec UHSb 0 0 bge0
However, if I try and add BACK the original interface, it complains:
route add -host 255.255.255.255 -interface lagg0
Code:
route: writing to routing socket: File exists
add host 255.255.255.255: gateway lagg0: route already in table
I wanted to know if this is expected behavior. I did some debugging in with sys/net/route.c and saw that it's sending back an EEXIST code, but I'm unsure why it would choose to do that. I'm assuming its because of a duplicate dst/netmask/gw pairs, but this doesn't seem right in that context. Can anyone confirm this is expected behavior? I looked at FreeBSD-CURRENT and it looks like there's a slightly different implementation. Wasn't sure if this had been a known bug or not (searched for it, but wasn't turning up results).