Creating a socket in a Python script defaults to the management interface. You can change the VR when the socket is create by using the following example:
import socket
EXTREME_SO_VRID = 37
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
f = open('/proc/self/ns_id', 'w')
f.write('2\n')
f.close()
except:
udp_sock.setsockopt(socket.SOL_SOCKET, EXTREME_SO_VRID, 2)
# your program here

Note
Do not use os.system('echo 2 > /proc/self/ns_id‘) to do this because os.system() spawns a subprocess. The subprocess will switch to vr-default, and then exit. The calling process will still be using the same VR as before.Finding the VR ID of any VR can be accomplished with the following example:
def vrNameToNumber(vrName):
vrId = None
with open('/proc/net/vr','r') as f:
for l in f.readlines():
rslt = l.split()
if rslt[3] == vrName:
vrId = int(rslt[0]
break
return vrId
Print
this page
Email this topic
Feedback