# freebsd 7.1 default ipv6 gateway problem



## yavuzg (Jun 5, 2009)

Hi,

I have network consists of 2 computers(say A and B) and a router.

When I use rtsol in A, I can get the global scope ipv6 address and the default gateway properly.

But when I send fake router advertisement messages from B, A accepts advertisements and makes fake address as default gateway. Ä°s this the expected behaviour?

What is the procedure for selecting default router?  

thanks in advance...

before I send fake messages from B


```
# netstat -finet6 -rn

Routing tables
Internet6:
Destination                       Gateway                       Flags      Netif Expire
default                           fe80::***:cb0(real gateway)  UG         fxp0
```

after I send fake messages from B,


```
# netstat -finet6 -rn

Routing tables
Internet6:
Destination                       Gateway                       Flags      Netif Expire
default                           fe80::***:a(fake gateway)  UG         fxp0
```

my configuration is:


```
# sysctl -a | grep ip6
net.inet6.ip6.forwarding: 0
net.inet6.ip6.redirect: 1
net.inet6.ip6.hlim: 64
net.inet6.ip6.maxfragpackets: 4112
net.inet6.ip6.accept_rtadv: 1
net.inet6.ip6.keepfaith: 0
net.inet6.ip6.log_interval: 5
net.inet6.ip6.hdrnestlimit: 15
net.inet6.ip6.dad_count: 1
net.inet6.ip6.auto_flowlabel: 1
net.inet6.ip6.defmcasthlim: 1
net.inet6.ip6.gifhlim: 30
net.inet6.ip6.kame_version: FreeBSD
net.inet6.ip6.use_deprecated: 1
net.inet6.ip6.rr_prune: 5
net.inet6.ip6.v6only: 1
net.inet6.ip6.rtexpire: 3600
net.inet6.ip6.rtminexpire: 10
net.inet6.ip6.rtmaxcache: 128
net.inet6.ip6.use_tempaddr: 0
net.inet6.ip6.temppltime: 86400
net.inet6.ip6.tempvltime: 604800
net.inet6.ip6.auto_linklocal: 1
net.inet6.ip6.prefer_tempaddr: 0
net.inet6.ip6.use_defaultzone: 0
net.inet6.ip6.maxfrags: 4112
net.inet6.ip6.mcast_pmtu: 0
```

my system:

```
# uname -a
FreeBSD pcname 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan  1 14:37:25 UTC 2009     root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
```


----------



## SirDice (Jun 5, 2009)

yavuzg said:
			
		

> I have network consists of 2 computers(say A and B) and a router.
> 
> When I use rtsol in A, I can get the global scope ipv6 address and the default gateway properly.
> 
> But when I send fake router advertisement messages from B, A accepts advertisements and makes fake address as default gateway. Ä°s this the expected behaviour?


Unfortunately, yes.



> What is the procedure for selecting default router?


Running a properly setup rtadvd on the gateway or use dhcp6.

NB fe80:: addresses are link-local, non-routable addresses.


----------



## yavuzg (Jun 5, 2009)

> What is the procedure for selecting default router?



According to RFC 2461 "6.3.6.  Default Router Selection" section, I think there is no need to update default router in my case.


----------



## SirDice (Jun 5, 2009)

I've been playing with IPv6 for some time now and I see no reason why a client wouldn't pick up any 'new' router advertisements. How would the client know the gateway was changed? What if there appeared a 'better' route? As far as I understood it the purpose of using rtsol/rtadvd is to make the whole network more dynamic. The downside of this would be rogue router advertisements ruining it.


----------



## yavuzg (Jun 9, 2009)

SirDice said:
			
		

> How would the client know the gateway was changed? What if there appeared a 'better' route? As far as I understood it the purpose of using rtsol/rtadvd is to make the whole network more dynamic. The downside of this would be rogue router advertisements ruining it.



Thanks for the answer. You are true, a client has to accept rtadvd messages in some manner. I want to learn the exact mechanism behind the router selection of freebsd network implementation. 

in rfc 2461, section 6.3.6 says that:


> The policy for selecting routers from the Default Router List is as
> follows:
> 
> 1) Routers that are reachable or probably reachable (i.e., in any
> ...



I think freebsd use round-robin fashion and this is the reason of my router change...


----------

