freebsd-dev/sys/netgraph
Maksim Yevmenkin 48bd0712bc Make sure RFCOMM multiplexor channel does not hang in DISCONNECTING
state. Apparently it happens when both devices try to disconnect RFCOMM
multiplexor channel at the same time.

The scenario is as follows:

- local device initiates RFCOMM connection to the remote device. This
  creates both RFCOMM multiplexor channel and data channel;

- remote device terminates RFCOMM data channel (inactivity timeout);

- local device acknowledges RFCOMM data channel termination. Because
  there is no more active data channels and local device has initiated
  connection it terminates RFCOMM multiplexor channel;

- remote device does not acknowledges RFCOMM multiplexor channel
  termination. Instead it sends its own request to terminate RFCOMM
  multiplexor channel. Even though local device acknowledges RFCOMM
  multiplexor channel termination the remote device still keeps
  L2CAP connection open.

Because of hanging RFCOMM multiplexor channel subsequent RFCOMM
connections between local and remote devices will fail.

Reported by:	Johann Hugo <jhugo@icomtek.csir.co.za>
2004-04-23 20:21:17 +00:00
..
atm
bluetooth Make sure RFCOMM multiplexor channel does not hang in DISCONNECTING 2004-04-23 20:21:17 +00:00
netgraph.h
ng_async.c
ng_async.h
ng_atmllc.c Add a netgraph node to handle ATM LLC encapsulation. This currently handles 2004-03-08 10:54:35 +00:00
ng_atmllc.h Add a netgraph node to handle ATM LLC encapsulation. This currently handles 2004-03-08 10:54:35 +00:00
ng_base.c
ng_bpf.c
ng_bpf.h
ng_bridge.c
ng_bridge.h
ng_cisco.c
ng_cisco.h
ng_device.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
ng_device.h
ng_echo.c
ng_echo.h
ng_eiface.c + rename and document an unused field in struct arpcom (field is still 2004-04-18 01:15:32 +00:00
ng_eiface.h
ng_etf.c
ng_etf.h
ng_ether.c + rename and document an unused field in struct arpcom (field is still 2004-04-18 01:15:32 +00:00
ng_ether.h Backout previous change, it breaks build and it is not needed 2004-02-20 08:26:27 +00:00
ng_fec.c Consistently use ifaddr_byindex() to access the link-level address 2004-04-16 08:15:37 +00:00
ng_fec.h
ng_frame_relay.c
ng_frame_relay.h
ng_gif_demux.c
ng_gif_demux.h
ng_gif.c Unconst. Somebody didn't compile LINT. 2004-02-24 22:16:40 +00:00
ng_gif.h
ng_hole.c
ng_hole.h
ng_hub.c Don't give up if sending to one link fails, continue. 2004-04-17 23:52:57 +00:00
ng_hub.h A simple packet distribution node type that acts like an Ethernet hub. 2004-04-17 12:42:17 +00:00
ng_iface.c Implemented the "getifindex" control message. 2004-03-07 23:00:44 +00:00
ng_iface.h Implemented the "getifindex" control message. 2004-03-07 23:00:44 +00:00
ng_ip_input.c
ng_ip_input.h
ng_ksocket.c
ng_ksocket.h
ng_l2tp.c Rename internal structure to fix cut & paste error. 2004-04-04 21:33:09 +00:00
ng_l2tp.h
ng_lmi.c
ng_lmi.h
ng_message.h
ng_mppc.c
ng_mppc.h
ng_one2many.c Backout previous change, it breaks build and it is not needed 2004-02-20 08:26:27 +00:00
ng_one2many.h Backout previous change, it breaks build and it is not needed 2004-02-20 08:26:27 +00:00
ng_parse.c
ng_parse.h
ng_ppp.c
ng_ppp.h
ng_pppoe.c
ng_pppoe.h Make the vaule of PTT_RELAY_SID match the RFC. This should help PPPoE 2004-03-18 12:34:14 +00:00
ng_pptpgre.c
ng_pptpgre.h
ng_rfc1490.c
ng_rfc1490.h
ng_sample.c
ng_sample.h
ng_socket.c
ng_socket.h
ng_socketvar.h
ng_source.c
ng_source.h
ng_split.c
ng_split.h
ng_sppp.c sppp (4) to netgraph (4) node. As always: I'l connect it to the 2004-03-24 17:24:01 +00:00
ng_sppp.h sppp (4) to netgraph (4) node. As always: I'l connect it to the 2004-03-24 17:24:01 +00:00
ng_tee.c Don't duplicate a packet, just to throw it away when we discover the 2004-03-24 08:53:45 +00:00
ng_tee.h
ng_tty.c
ng_tty.h
ng_UI.c
ng_UI.h
ng_vjc.c
ng_vjc.h
ng_vlan.c Netgraph node type for IEEE 802.1Q VLAN tagging. 2004-03-01 17:22:16 +00:00
ng_vlan.h Netgraph node type for IEEE 802.1Q VLAN tagging. 2004-03-01 17:22:16 +00:00
NOTES