def set_fwd_socket(self, ip_adr):
"""
Set classifier forward port base on the ip_adrr version provided
:param ip_adr: IP address
:type ip: str
"""
ipver = self._get_current_ip_version(ip_adr)
# logger.info('IP version for classifier forward socket is :"%s"', ipver)
if ipver == 4:
adrr_family = socket.AF_INET
elif ipver == 6:
adrr_family = socket.AF_INET6
else:
adrr_family = socket.AF_INET
if self.fwd_socket != None:
self.fwd_socket.close()
self.fwd_socket = socket.socket(adrr_family, socket.SOCK_DGRAM)
self.fwd_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
logger.debug("Forward socket created in classifier with IP %s", ip_adr)
# res = self.fwd_socket.getsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY)
# logger.info('IPV6_V6ONLY set to :"%s"', res)
# self.fwd_socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
try:
self.fwd_socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
except (AttributeError, socket.error):
# Apparently, the socket option is not available in
# this machine's TCP stack
logger.info("Apparently, the socket option is not available in this machine's TCP stack")
pass
评论列表
文章目录