Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_mtu(self):
- '''Use socket ioctl call to get MTU size'''
- s = socket.socket(type=socket.SOCK_DGRAM)
- ifr = self.ifname + '\x00'*(32-len(self.ifname))
- try:
- ifs = ioctl(s, SIOCGIFMTU, ifr)
- mtu = struct.unpack('<H',ifs[16:18])[0]
- except Exception, s:
- logger.critical('socket ioctl call failed: {0}'.format(s))
- raise
- logger.debug('get_mtu: mtu of {0} = {1}'.format(self.ifname, mtu))
- self.mtu = mtu
- return mtu
- def set_mtu(self, mtu):
- '''Use socket ioctl call to set MTU size'''
- s = socket.socket(type=socket.SOCK_DGRAM)
- ifr = struct.pack('<16sH', self.ifname, mtu) + '\x00'*14
- try:
- ifs = ioctl(s, SIOCSIFMTU, ifr)
- self.mtu = struct.unpack('<H',ifs[16:18])[0]
- except Exception, s:
- logger.critical('socket ioctl call failed: {0}'.format(s))
- raise
- logger.debug('set_mtu: mtu of {0} = {1}'.format(self.ifname, self.mtu))
- return self.mtu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement