Changeset 5600
- Timestamp:
- 06/05/10 20:15:52 (3 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
UMPA/branch/link-layer-integration/umit/umpa/_sockets.py
r5599 r5600 33 33 import sys 34 34 import os 35 from errno import EBUSY 35 36 36 37 from umit.umpa.utils.exceptions import UMPAException, UMPANotPermittedException … … 132 133 self._sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 2**20) 133 134 elif _l2model == 'bpf': 134 try: 135 self._sock = open("/dev/bpf", 'w') 136 except IOError, msg: 137 raise UMPAException('cannot open /dev/bpf: ' + msg) 135 # Loop over /dev/bpf* devices, looking for a free one. 136 self._sock = None 137 suffix = 0 138 while self._sock is None: 139 try: 140 self._sock = open('/dev/bpf'+str(suffix), 'wb') 141 except IOError, error: 142 if error.errno == EBUSY: 143 suffix = suffix + 1 144 else: 145 raise UMPAException(str(error)) 138 146 139 147 ioctl(self._sock, BIOCSETIF, iface)
