>Number:         146377
>Category:       bin
>Synopsis:       Interface doesn't clear addresses when PPPoE connection closes
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 07 16:00:10 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     John Bayly
>Release:        7.2-RELEASE
>Organization:
TipsTrade
>Environment:
FreeBSD router.tipstrade.net 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue Oct  6 
11:49:42 BST 2009     
x...@router.tipstrade.net:/usr/obj/usr/src/sys/CUSTOM20091006  i386
>Description:
When using ppp to create an ADSL connection, the addresses for the tun 
interface aren't removed when either the connection drops (due to LCP/LQM 
echoes being lost), or when the connection is closed.

This means that even though a connection has been dropped, using ifconfig to 
check the state makes it appear as if a connection is still up.

When settings "set log +all", I've seen that the ioctl calls to remove the 
address (SIOCDIFADDR) is never called. Calling "iface clear" in ppp.linkdown 
doesn't work either, as it's executed before the connection has closed so the 
address cannot be removed.

I've confirmed this from looking at the ppp source: iface_Clear is only called 
from the following places:
1). ipcp_SetIPaddress & ipcp_SetIPv6address
2). IfaceClearCommand ie. the interactive command "iface clear"
3). bundle_destroy, which is in turn called solely from AbortProgram

Would it make sense to add a call to iface_Clear somewhere in bundle_close? 
Apologies for the vagueness, but I'm still getting my head around the code here.
>How-To-Repeat:
1). Open ppp in interactive mode
2). ppp> dial
3). PPP> iface show
4). PPP> close
5). ppp> iface show
6). ppp> iface clear
7). ppp> iface show

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to