/* Supports OSPF and Multicast routing for IPv4 and IPv6 */
/* RDD interfaces may be though of as ethernet. */
/* Created by LANforge, but should be a good example for */
/* more normal uses as well. 
/* See top part of ospf-mcast-diag.pdf for a visual representation. */

interfaces {
    interface my_discard {
        unreachable: true
        vif my_discard {
        }
    }

    interface "rddVR6" {
        vif "rddVR6" {
            address 2.2.2.1 {
                prefix-length: 24
            }
            address 2002:1::1 {
                prefix-length: 64
                disable: false
            }
            address fe80::e854:85ff:fe6e:f865 {
                prefix-length: 64
                disable: false
            }
        }
    }

    interface "rddVR4" {
        vif "rddVR4" {
            address 4.1.1.1 {
                prefix-length: 24
            }
            address fe80::b00e:2aff:fe03:60ab {
                prefix-length: 64
                disable: false
            }
        }
    }

    interface "rddVR8" {
        vif "rddVR8" {
            address 10.1.1.1 {
                prefix-length: 24
            }
            address 2002:10::2 {
                prefix-length: 64
                disable: false
            }
            address fe80::9836:24ff:fecf:f18f {
                prefix-length: 64
                disable: false
            }
        }
    }

    interface "rddVR3" {
        vif "rddVR3" {
            address 8.1.2.1 {
                prefix-length: 24
            }
            address 2002:8::1 {
                prefix-length: 64
                disable: false
            }
            address fe80::b404:43ff:fea2:5967 {
                prefix-length: 64
                disable: false
            }
        }
    }

}

fea {
    unicast-forwarding4 {
        disable: false
/*        table-id: 10001 */
    }
    unicast-forwarding6 {
        disable: false
/*        table-id: 10001 */
    }
}

protocols {
    static {
        interface-route 0.0.0.0/0 {
            next-hop-interface: "my_discard"
            next-hop-vif: "my_discard"
        }
        interface-route ::/0 {
            next-hop-interface: "my_discard"
            next-hop-vif: "my_discard"
        }
    }

    ospf4 {
        router-id: 127.1.0.1
        area 0.0.0.0 {
            interface "rddVR6" {
                vif "rddVR6" {
                    address 2.2.2.1 {
                       interface-cost: 1
                    }
                }
            }

            interface "rddVR4" {
                vif "rddVR4" {
                    address 4.1.1.1 {
                       interface-cost: 1
                    }
                }
            }

            interface "rddVR8" {
                vif "rddVR8" {
                    address 10.1.1.1 {
                       interface-cost: 1
                    }
                }
            }

            interface "rddVR3" {
                vif "rddVR3" {
                    address 8.1.2.1 {
                       interface-cost: 1
                    }
                }
            }

        } /* area */

        /* traceoptions {
            flag all {
                disable: false
            }
        } */ 
    }
    ospf6 0 {
        router-id: 127.1.0.1
        area 0.0.0.0 {
            interface "rddVR6" {
                vif "rddVR6" {
                       interface-cost: 1
                }
            }

            interface "rddVR8" {
                vif "rddVR8" {
                       interface-cost: 1
                }
            }

            interface "rddVR3" {
                vif "rddVR3" {
                       interface-cost: 1
                }
            }

        } /* area */

    } /* ospfv6 protocol */

    fib2mrib {
        disable: false
    }
    igmp {
        disable: false
        interface "rddVR6" {
            vif "rddVR6" {
                disable: false
                version: 2
                enable-ip-router-alert-option-check: false
                query-interval: 125
                query-last-member-interval: 1
                query-response-interval: 10
                robust-count: 2
            }
        }

        interface "rddVR4" {
            vif "rddVR4" {
                disable: false
                version: 2
                enable-ip-router-alert-option-check: false
                query-interval: 125
                query-last-member-interval: 1
                query-response-interval: 10
                robust-count: 2
            }
        }

        interface "rddVR8" {
            vif "rddVR8" {
                disable: false
                version: 2
                enable-ip-router-alert-option-check: false
                query-interval: 125
                query-last-member-interval: 1
                query-response-interval: 10
                robust-count: 2
            }
        }

        interface "rddVR3" {
            vif "rddVR3" {
                disable: false
                version: 2
                enable-ip-router-alert-option-check: false
                query-interval: 125
                query-last-member-interval: 1
                query-response-interval: 10
                robust-count: 2
            }
        }

        /* traceoptions {
            flag {
                all {
                    disable: false
                }
            }
        }*/
    } /* igmp */

    mld {
        disable: false
        interface "rddVR6" {
            vif "rddVR6" {
                disable: false
                version: 1
            }
        }

        interface "rddVR8" {
            vif "rddVR8" {
                disable: false
                version: 1
            }
        }

        interface "rddVR3" {
            vif "rddVR3" {
                disable: false
                version: 1
            }
        }

    } /* mld */

    pimsm4 {
        disable: false
        interface "rddVR6" {
            vif "rddVR6" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

        interface "rddVR4" {
            vif "rddVR4" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

        interface "rddVR8" {
            vif "rddVR8" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

        interface "rddVR3" {
            vif "rddVR3" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

        interface "register_vif" {
            vif "register_vif" {
                disable: false
                dr-priority: 1
                hello-period: 30
                hello-triggered-delay: 5
            }
        }
        bootstrap {
            disable: false
            cand-bsr {
                scope-zone 224.0.0.0/4 {
                    is-scope-zone: false
                    cand-bsr-by-vif-name: "rddVR6"
                    /*cand-bsr-by-vif-addr: 0.0.0.0*/
                    bsr-priority: 199
                }
            }

            cand-rp {
                group-prefix 224.0.0.0/4 {
                    is-scope-zone: false
                    cand-rp-by-vif-name: "rddVR6"
                    /*cand-rp-by-vif-addr: 0.0.0.0*/
                    rp-priority: 101
                    rp-holdtime: 150
                }
            }
        } /* bootstrap */

        switch-to-spt-threshold {
            disable: false
            interval: 100
            bytes: 1024000
        }

    } /* pimsm4 */

    pimsm6 {
        disable: false
        interface "register_vif" {
            vif "register_vif" {
                disable: false
                dr-priority: 1
                hello-period: 30
                hello-triggered-delay: 5
            }
        }
        bootstrap {
            disable: false
            cand-bsr {
                scope-zone ff00::/8 {
                    is-scope-zone: false
                    cand-bsr-by-vif-name: "rddVR6"
                    bsr-priority: 199
                }
            }

            cand-rp {
                group-prefix ff00::/8 {
                    is-scope-zone: false
                    cand-rp-by-vif-name: "rddVR6"
                    rp-priority: 101
                    rp-holdtime: 150
                }
            }
        } /* bootstrap */

        switch-to-spt-threshold {
            disable: false
            interval: 100
            bytes: 102400
        }

        interface "rddVR6" {
            vif "rddVR6" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

        interface "rddVR8" {
            vif "rddVR8" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

        interface "rddVR3" {
            vif "rddVR3" {
                disable: false
                dr-priority: 125
                hello-period: 30
                hello-triggered-delay: 5
            }
        }

    } /* pimsm6 */

}  /* protocols */

plumbing {
    mfea4 {
        disable: false
        interface "rddVR6" {
            vif "rddVR6" {
                disable: false
            }
        }
        interface "rddVR4" {
            vif "rddVR4" {
                disable: false
            }
        }
        interface "rddVR8" {
            vif "rddVR8" {
                disable: false
            }
        }
        interface "rddVR3" {
            vif "rddVR3" {
                disable: false
            }
        }
        interface "register_vif" {
            vif "register_vif" {
                disable: false
            }
        }
    } /*  mfea4  */
} /* plumbing */

plumbing {
    mfea6 {
        disable: false
        interface "rddVR6" {
            vif "rddVR6" {
                disable: false
            }
        }
        interface "rddVR8" {
            vif "rddVR8" {
                disable: false
            }
        }
        interface "rddVR3" {
            vif "rddVR3" {
                disable: false
            }
        }
        interface "register_vif" {
            vif "register_vif" {
                disable: false
            }
        }
    } /*  mfea6  */
} /* plumbing */

/* End of Config File */
