[Xorp-users] problem when ppp interface down

LE Hong Boi lhboi at yahoo.com
Tue Dec 8 23:31:32 PST 2009


Hi all,
I am trying to set up a multicast router on a PPPoE server. I setup a Centos 5.2 machine with one NIC eth0, install VMware with host-only network vmnet1 (IP address: 192.168.24.1), install one guest Centos machine with host-only Ethernet. eth0 is used to serve PPPoE.
The purpose is to stream video file through multicast from the guest machine to PPPoE client. Streaming software is VLC.
The config.boot file is:

/*XORP Configuration File, v1.0*/
interfaces {
    restore-original-config-on-shutdown: false
    interface vmnet1 {
        description: "server"
        disable: false
        discard: false
        unreachable: false
        management: false
        default-system-config {
        }
    }
}


fea {
    unicast-forwarding4 {
	disable: false
    }
}

plumbing {
    mfea4 {
	disable: false
	interface vmnet1 {
	    vif vmnet1 {
		disable: false
	    }
	}
	interface register_vif {
	    vif register_vif {
		disable: false
	    }
	}
	traceoptions {
	    flag all {
		disable: false
	    }
	}
    }
}

protocols {
    igmp {
	disable: false
	interface vmnet1 {
	    vif vmnet1 {
		disable: false
	    }
	}
	traceoptions {
	    flag all {
		disable: false
	    }
	}
    }
}

protocols {
    pimsm4 {
	interface vmnet1 {
	    vif vmnet1 {
		disable: false
	    }
	}
	interface register_vif {
	    vif register_vif {
		/* Note: this vif should be always enabled */
		disable: false
	    }
	}

	/* Note: static-rps and bootstrap should not be mixed */
	static-rps {
	    rp 192.168.24.1 {
		group-prefix 224.0.0.0/4 {
		}
	    }
	}

	switch-to-spt-threshold {
	    /* approx. 1K bytes/s (10Kbps) threshold */
	    disable: false
	    interval: 100
	    bytes: 102400
	}

	traceoptions {
	    flag all {
		disable: false
	    }
	}
    }
}

protocols {
    fib2mrib {
	disable: false
    }
}

When a PPPoE client connect to this server, the script ip-up.local will call xorpsh to configure new ppp interface. For example:

Welcome to XORP on testiptvbas
xorp at testiptvbas> configure
Entering configuration mode.
There are no other users in configuration mode.
[edit]
xorp at testiptvbas# set interfaces interface ppp0
[edit]
xorp at testiptvbas# set interfaces interface ppp0 default-system-config
[edit]
xorp at testiptvbas# commit
OK
[edit]
xorp at testiptvbas# set plumbing mfea4 interface ppp0
[edit]
xorp at testiptvbas# set plumbing mfea4 interface ppp0 vif ppp0
[edit]
xorp at testiptvbas# commit
OK
[edit]
xorp at testiptvbas# set protocols igmp interface ppp0
[edit]
xorp at testiptvbas# set protocols igmp interface ppp0 vif ppp0
[edit]
xorp at testiptvbas# commit
OK
[edit]
xorp at testiptvbas# set protocols pimsm4 interface ppp0
[edit]
xorp at testiptvbas# set protocols pimsm4 interface ppp0 vif ppp0
[edit]
xorp at testiptvbas# commit
OK
[edit]
xorp at testiptvbas#

Now, the multicast works well. I can stream multicast video from the guest machine to the PPPoE client succesfully.

The problem appears when PPPoE session disconnects. Here is the error output:

[ 2009/12/08 13:17:24 INFO xorp_fea MFEA ] Interface stopped Vif[ppp0] pif_index: 12 vif_index: 2 addr: 192.168.30.1 subnet: 192.168.30.1/32 broadcast: 0.0.0.0 peer: 192.168.30.3 Flags: P2P MULTICAST MTU: 1492 DOWN IPv4 ENABLED
[ 2009/12/08 13:17:24 INFO xorp_igmp MLD6IGMP ] Interface flags changed: Vif[ppp0] pif_index: 12 vif_index: 2 addr: 192.168.30.1 subnet: 192.168.30.1/32 broadcast: 0.0.0.0 peer: 192.168.30.3 Flags: P2P MULTICAST MTU: 1492
[ 2009/12/08 13:17:24 INFO xorp_pimsm4 PIM ] Interface flags changed: Vif[ppp0] pif_index: 12 vif_index: 2 addr: 192.168.30.1 subnet: 192.168.30.1/32 broadcast: 0.0.0.0 peer: 192.168.30.3 Flags: P2P MULTICAST MTU: 1492
[ 2009/12/08 13:17:24 TRACE xorp_igmp MLD6IGMP ] Notify routing delete membership for (0.0.0.0, 224.0.0.2) on vif ppp0
[ 2009/12/08 13:17:24 TRACE xorp_igmp MLD6IGMP ] Notify routing delete membership for (0.0.0.0, 224.0.0.13) on vif ppp0
[ 2009/12/08 13:17:24 TRACE xorp_igmp MLD6IGMP ] Notify routing delete membership for (0.0.0.0, 224.0.0.22) on vif ppp0
[ 2009/12/08 13:17:24 INFO xorp_igmp MLD6IGMP ] Interface stopped: Vif[ppp0] pif_index: 12 vif_index: 2 addr: 192.168.30.1 subnet: 192.168.30.1/32 broadcast: 0.0.0.0 peer: 192.168.30.3 Flags: P2P MULTICAST MTU: 1492 DOWN IPv4 ENABLED
[ 2009/12/08 13:17:24 INFO xorp_igmp MLD6IGMP ] Deleted address on interface ppp0: addr: 192.168.30.1 subnet: 192.168.30.1/32 broadcast: 0.0.0.0 peer: 192.168.30.3
[ 2009/12/08 13:17:24  ERROR xorp_igmp:5912 MLD6IGMP +1003 mld6igmp_node.cc delete_vif_addr ] Error updating primary address for vif ppp0: invalid primary address
[ 2009/12/08 13:17:24 TRACE xorp_pimsm4 PIM ] TX PIM_HELLO from 192.168.30.1 to 224.0.0.13 on vif ppp0
[ 2009/12/08 13:17:24 INFO xorp_pimsm4 PIM ] Deleted address on interface ppp0: addr: 192.168.30.1 subnet: 192.168.30.1/32 broadcast: 0.0.0.0 peer: 192.168.30.3
[ 2009/12/08 13:17:24  ERROR xorp_pimsm4:5913 PIM +1109 pim_node.cc delete_vif_addr ] Error updating primary and domain-wide addresses for vif ppp0: invalid primary address
[ 2009/12/08 13:17:24 TRACE xorp_pimsm4 PIM ] TX PIM_HELLO from 0.0.0.0 to 224.0.0.13 on vif ppp0
[ 2009/12/08 13:17:24 INFO xorp_pimsm4 PIM ] Interface stopped: Vif[ppp0] pif_index: 12 vif_index: 2 Flags: P2P MULTICAST MTU: 1492 DOWN IPv4 ENABLED
[ 2009/12/08 13:17:24 WARNING xorp_igmp XrlMld6igmpTarget ] Handling method for mld6igmp/0.1/delete_protocol4 failed: XrlCmdError 102 Command failed Cannot delete protocol instance 'PIMSM_4' on vif ppp0 with vif_index 2
[ 2009/12/08 13:17:24  FATAL xorp_pimsm4:5913 PIM +2217 xrl_pim_node.cc mld6igmp_client_send_add_delete_protocol_mld6igmp_cb ] Cannot deregister with the MLD6IGMP: 102 Command failed Cannot delete protocol instance 'PIMSM_4' on vif ppp0 with vif_index 2
[ 2009/12/08 13:17:24 WARNING xorp_fea XrlFeaTarget ] Handling method for raw_packet4/0.1/send failed: XrlCmdError 102 Command failed Interface ppp0 is down
[ 2009/12/08 13:17:24  ERROR xorp_rtrmgr:5888 RTRMGR +754 module_manager.cc done_cb ] Command "/usr/local/xorp/pim/xorp_pimsm4": terminated with signal 6.
[ 2009/12/08 13:17:24  INFO xorp_rtrmgr:5888 RTRMGR +299 module_manager.cc module_exited ] Module abnormally killed: pimsm4
[ 2009/12/08 13:17:24  ERROR xorp_fea:5889 LIBXORP +226 buffered_asyncio.cc io_event ] read error 104
[ 2009/12/08 13:17:24  ERROR xorp_fea:5889 XRL +169 xrl_pf_stcp.cc read_event ] Read failed (error = 104)
[ 2009/12/08 13:17:24  ERROR xorp_fea:5889 XRL +378 xrl_pf_stcp.cc die ] STCPRequestHandler died: read error
[ 2009/12/08 13:17:24 TRACE xorp_igmp MLD6IGMP ] RX IGMP_V2_LEAVE_GROUP from 192.168.24.1 to 224.0.0.2 on vif vmnet1
[ 2009/12/08 13:17:24 TRACE xorp_igmp MLD6IGMP ] TX IGMP_MEMBERSHIP_QUERY from 192.168.24.1 to 224.0.0.13
[ 2009/12/08 13:17:25 TRACE xorp_igmp MLD6IGMP ] TX IGMP_MEMBERSHIP_QUERY from 192.168.24.1 to 224.0.0.13
[ 2009/12/08 13:17:26 TRACE xorp_igmp MLD6IGMP ] Notify routing delete membership for (0.0.0.0, 224.0.0.13) on vif vmnet1
[ 2009/12/08 13:17:26  WARNING xorp_rtrmgr:5888 XrlFinderTarget +407 ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed Target "PIMSM_4" does not exist or is not enabled.
[ 2009/12/08 13:17:26  ERROR xorp_igmp:5912 MLD6IGMP +1106 xrl_mld6igmp_node.cc mld6igmp_client_send_add_delete_membership_cb ] XRL communication error: 201 Resolve failed
[ 2009/12/08 13:17:27 INFO xorp_fea MFEA ] Interface deleted: ppp0
[ 2009/12/08 13:17:27  WARNING xorp_rtrmgr:5888 XrlFinderTarget +407 ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed Target "ifmgr_mirror-f81d1286737407c92dea75aaab3c6eed at 127.0.0.1" does not exist or is not enabled.
[ 2009/12/08 13:17:27 INFO xorp_fea LIBFEACLIENT ] An error occurred sending an Xrl to "ifmgr_mirror-f81d1286737407c92dea75aaab3c6eed at 127.0.0.1".  Target is being removed from list of interface update receivers.

Then pim stops working.

The problem is similar when I replace ppp0 with eth0 (instead of disconnect PPPoE, I ifdown eth0): pim stops working.
How to fix this problem?
Thanks in advance.

LE Hong Boi
Homepage: http://lhboi.homelinux.net


      



More information about the Xorp-users mailing list