Subject: PIM-SM IPv6 Bootstrap

From: Per Geil <[email-masked]>
Date: Fri, 19 Feb 1999 13:26:43 +0100

Hi,

I have a question concerning the Bootstrap message when using PIM-SM for
IPv6.

      LAN1 --------------------------------
             |                     |
             |                     |
           --B--                 --A--
             |                     | BSR
             |                     |
      LAN2 --------------------------------
                       |
                       |
                     --C--

The figure shows that router A is the Bootstrap Router. It sends a
bootstrap message on LAN1 and one on LAN2. Router B is supposed to
forward the bootstrap message received on LAN1 to LAN2.

In the IPv4 PIM-SM, router C accepts the bootstrap message from A
because:

1) RPF for the BSR address gives the "directly attached" result.
2) The BSR address is identical to the source address of the BSR
message.

router C drops the forwarded bootstrap message from B because:

1) RPF for the BSR address gives the "directly attached" result.
2) The BSR address is NOT identical to the source address of the BSR
message.

In the IPv6 PIM-SM, I believe it is more complicated to decide if the
forwarded bootstrap message from B should be dropped. If the same tests
as for IPv4 are used for IPv6 the results are:

1) RPF for the BSR address gives the "directly attached" result.
2) The BSR address (global IPv6) cannot be compared with the source
address (link-local IPv6) of the BSR address.

So the question is, how can router C decide if the bootstrap message
came from the directly connected BSR or was forwarded by another router
?

Thanks,

Per Geil
--
Telebit Communications A/S          Tel: + 45 86 28 81 76
Fabrikvej 11                        E-mail: [email-masked]
DK-8260  Viby J                     URL: http://www.tbit.dk/

---

From: "Hal J. Sandick" <[email-masked]>
Date: Mon, 22 Feb 1999 13:21:54 -0500

Per,

The source address in the IPv4 header does not have to be the same as the
BSR address inside the PIM packet.   The IP source address is typically
the address of the transmitting interface, so the source address will be
differnt for each interface.  On the other hand the BSR address is "The
address of the bootstrap router for  the  domain." [section 4.6], so it
will be the same regardless of the interface used.  So PIM IPv6 is
working pretty much the same way as IPv4.

regards,

Hal 

At 01:26 PM 2/19/99 +0100, Per Geil wrote: 

<excerpt>Hi, 

             |                     | 

             |                     | 

           --B--                 --A-- 

             |                     | BSR 

             |                     | 

                       | 

                       | 

                     --C-- 

2) The BSR address is identical to the source address of the BSR message. 

So the question is, how can router C decide if the bootstrap message came
from the directly connected BSR or was forwarded by another router ? 

Thanks, 

Per Geil 

-- 

DK-8260  Viby J                     URL:
<<http://www.tbit.dk/>http://www.tbit.dk/ 

</excerpt><<<<<<<<

---

From: Per Geil <[email-masked]>
Date: Tue, 23 Feb 1999 10:30:21 +0100

"Hal J. Sandick" wrote:

> Per,
>
> The source address in the IPv4 header does not have to be the same as the BSR address inside the PIM packet. The IP source address is typically the address of the transmitting interface, so the source address will be differnt for each interface. On the other hand the BSR address is "The address of the bootstrap router for the domain." [section 4.6], so it will be the same regardless of the interface used. So PIM IPv6 is working pretty much the same way as IPv4.
>
> regards,
>
> Hal
>

Hal,

Thanks for your answer.
I agree with your answer, but in this particular case I believe there is a problem:

      LAN1 --------------------------------
             |                     |
             |                     |
           --B--                 --A--
           #2|                   #1|  BSR=#1 global IPv6 address
             |                     |
      LAN2 --------------------------------
                       |
                       |
                     --C--

Router C receives two bootstrap messages, one from A and one from B (forwarded) and must process and forward only the one received directly from the BSR (A).
The bootstrap message from A has the following contents:

- IPv6 header source address: interface #1 link-local address.
- BSR address inside the PIM packet: interface #1 global IPv6 address.

while the bootstrap message which B received from LAN1 and forwards to LAN2 has the following contents:

- IPv6 header source address: interface #2 link-local address.
- BSR address inside the PIM packet: interface #1 global IPv6 address.

Router C would normally make a unicast routing table lookup for the global BSR address in order to decide if the bootstrap message came the right way from the BSR router i.e. from the next-hop router towards the BSR router.
But in this case the BSR address inside the PIM packet is on the same link as C, so router C cannot look the link-local address of the next-hop router up in the unicast routing table, the routing table only returns an on-link indication.
I believe the problem is that router C cannot map the global IPv6 BSR address to any of router A or router B's link-local addresses.

regards,

Per

---

From: "Hal J. Sandick" <[email-masked]>
Date: Tue, 23 Feb 1999 10:55:10 -0500

Per,

You are correct.  In your scenario below, IPv4 could detect which
advertisement came from the BSR.  However if everything is the same and
router c is on lan 2, then router c can not determine which is the
correct router to receive the advertisment from.  So I think that in many
situations IPv4 will have the same problem (depending on the routing
protocol).  In any event, this situation will cause "router c" to forward
an extra advertisement.  IMHO, I think this probably is a corner case
which we can live with.

If the WG thinks this needs to be fixed the underlying routing protocol
could advertise the BSR's global ID as a host route.  This would add one
route to the domain routing table.  However, as I said earlier I don't
think things have to be changed.

Comments?

regards,

Hal

At 10:30 AM 2/23/99 +0100, Per Geil wrote: 

<excerpt>"Hal J. Sandick" wrote: 

<excerpt>Per, 

The source address in the IPv4 header does not have to be the same as the
BSR address inside the PIM packet. The IP source address is typically the
address of the transmitting interface, so the source address will be
differnt for each interface. On the other hand the BSR address is "The
address of the bootstrap router for the domain." [section 4.6], so it
will be the same regardless of the interface used. So PIM IPv6 is working
pretty much the same way as IPv4. 

regards, 

Hal 

</excerpt>  Hal, 

Thanks for your answer. 

I agree with your answer, but in this particular case I believe there is
a problem: 

             |                     | 

             |                     | 

           --B--                 --A-- 

             |                     | 

                       | 

                       | 

                     --C-- 

Router C receives two bootstrap messages, one from A and one from B
(forwarded) and must process and forward only the one received directly
from the BSR (A). 

while the bootstrap message which B received from LAN1 and forwards to
LAN2 has the following contents: 

Router C would normally make a unicast routing table lookup for the
global BSR address in order to decide if the bootstrap message came the
right way from the BSR router i.e. from the next-hop router towards the
BSR router. 

But in this case the BSR address inside the PIM packet is on the same
link as C, so router C cannot look the link-local address of the next-hop
router up in the unicast routing table, the routing table only returns an
on-link indication. 

I believe the problem is that router C cannot map the global IPv6 BSR
address to any of router A or router B's link-local addresses. 

regards, 

Per 

</excerpt><<<<<<<<