Hi,

In an attempt to limit it to only two interfaces, I added this:
protocol device {
        interface "eth2r", "ppp0";
}

Nevertheless, "birdc show interface" displays _all_ interfaces.

But it still says Network not found.  So I also added a kernel stanza:

protocol kernel {
        learn;
        persist;
        ipv6 {export all;};
}

Now it shows routes!  I have:
588-north:bird# birdc show route
BIRD 2.0.7 ready.
Table master6:
::/0                 unicast [kernel1 12:10:08.587] (10)
        dev ppp0
2a02:29e1:300:e922::/64 unicast [kernel1 12:10:08.587] (10)
        dev eth2r

Thank you!

However, I thought that with static having

        route 2a02:29e1:300:e900::/56 unreachable;

After learning the local interface addresses, bird would gather that (only) the addresses not configured are unreachable. It says:

589-north:bird# birdc show route for 2a02:29e1:300:e918::5
BIRD 2.0.7 ready.
Table master6:
::/0                 unicast [kernel1 12:10:08.587] (10)
        dev ppp0

That IP should be unreachable.  How do I tell it that?

Best
Ale


On Mon 24/Apr/2023 20:23:32 +0200 Maria Matejka via Bird-users wrote:
Hello!

It looks like you are missing "protocol device {}" which you need for BIRD to 
actually know about the interfaces and assigned addresses.

Maria

On 24 April 2023 21:01:31 EEST, Alessandro Vesely <ves...@tana.it> wrote:
Hi all,

I installed bird2 (Debian stock) and configured radv, following the documented 
example.

When bird it started, it said:
Apr 24 12:36:55 31 north bird: static1: Channel ipv6 connected to table 
radv_routes
Apr 24 12:36:55 31 north bird: static1: Initializing
Apr 24 12:36:55 31 north bird: radv1: Channel ipv6 connected to table 
radv_routes
Apr 24 12:36:55 31 north bird: radv1: Initializing
Apr 24 12:36:55 31 north bird: static1: Starting
Apr 24 12:36:55 31 north bird: static1: State changed to up
Apr 24 12:36:55 31 north bird: radv1: Starting
Apr 24 12:36:55 31 north bird: radv1: State changed to up
Apr 24 12:36:55 30 north bird: Started
Apr 24 12:36:55 31 north bird: radv1 < interface eth2r created
Apr 24 12:36:55 31 north bird: radv1 < interface ppp0 created


No more logging.  After some hours I get this:
541-north:bird# birdc show route for 2a02:29e1:300:e922::2
BIRD 2.0.7 ready.
Network not found

What does it mean?  I configured static routes in the kernel.  Perhaps I should 
only configure them in bird.
542-north:bird# ip route get 2a02:29e1:300:e922::2
2a02:29e1:300:e922::2 from :: dev eth2r proto kernel src 2a02:29e1:300:e922::1 
metric 256 pref medium

My ISP assigned to me 2a02:29e1:300:e900/56.  I have a few addresses assigned 
locally, and 2a02:29e1:300:e922::1 to the lan interface (eth2r), reserving that 
/64 for lan hosts.  A neighboring PC has 2a02:29e1:300:e922::2/64.

External routing doesn't work, but this is another question (also asked on 
stackexchange: https://unix.stackexchange.com/questions/742826/ipv6-over-pppoe)

There must be something wrong in the config, which I don't know how to fix.  I 
paste it below.  What did I get wrong?

TIA
Ale


-----8<-----
# This is a basic configuration file, which contains boilerplate options and
# some basic examples. It allows the BIRD daemon to start but will not cause
# anything else to happen.
#
# Please refer to the BIRD User's Guide documentation, which is also available
# online at http://bird.network.cz/ in HTML format, for more information on
# configuring BIRD and adding routing protocols.

# Configure logging
log syslog all;

# Set router ID. It is a unique identification of your router, usually one of
# IPv4 addresses of the router. It is recommended to configure it explicitly.
router id 185.8.198.188;

# Turn on global debugging of all protocols (all messages or just selected 
classes)
debug protocols all;
debug protocols { interfaces, states };

ipv6 table radv_routes;             # Manually configured routes go here

protocol static {
        ipv6 { table radv_routes; };

        route 2a02:29e1:300:e922::/64 via "eth2r";
        route 2a02:29e1:300:e900::/56 unreachable;
        route ::0/0 via "ppp0";
}

protocol radv {
        propagate routes yes;           # Propagate the routes from the 
radv_routes table
        ipv6 { table radv_routes; export all; };

        interface "ppp0" {
                prefix ::/0 {
                        autonomous off;         # So do not autoconfigure any IP
                };
        };

        interface "eth2r";              # No need for any other options
}
----->8-----

Reply via email to