Re: [zeromq-dev] simple publish subscribe not working with zeromq

2014-10-12 Thread Karthik Sharma
Hi Justin,

I did try the following

flow_mod['in_port']
flow_mod['dst']
flow_mod['actions']


TypeError: string indices must be integers, not str

It seems to me that it is treated as a string rather than an integer.

Any thoughts,

Regards,
Karthik.

On 12 October 2014 17:58, Justin Karneges jus...@affinix.com wrote:

  Maybe you mean flow_mod['in_port'] ?


 On Sat, Oct 11, 2014, at 08:23 PM, Karthik Sharma wrote:

 Hi Justin,

 Thanks for the reply.That did work!

 I have a follow on question.

 I am tying to send the following structure.

  msg = {'in_port':in_port,'dst':dst,'actions':actions}
  self.push_messages(msg)

 However on the recieving side,I can decode the msg using format(msg) but I
 can acess the members in the dictionary.

  print('flow_mod recieved from ryu-primary {}'.format(flow_mod[in_port]))

 - flow_mod recieved from ryu-primary {'dst':
 u'00:00:00:00:00:04', 'actions': [OFPActionOutput(max_len=65509,port=2)],
 'in_port': 1}


 self.add_flow(datapath, flow_mod[in_port], flow_mod[dst],
 flow_mod[actions])

 --- doesn't work?   -- gives error NameError: global name
 'in_port' is not defined


 Regards,
 Karthik.





 On 12 October 2014 12:31, Justin Karneges jus...@affinix.com wrote:


 Hi Karthik,

 You need to subscribe to a topic, not merely connect. You can subscribe to
 an empty string to receive all messages. E.g.:
 sub_socket.setsockopt(zmq.SUBSCRIBE, '')

 On Sat, Oct 11, 2014, at 04:16 PM, Karthik Sharma wrote:

 I want to establish publish subscribe communication between to
 machines.The two machines that I have are
 `ryu-primary` and `ryu-secondary`

 The steps I follow in each of the machines are as follows.In the
 initializer for `ryu-primary` (IP address is 192.168.241.131)

  self.context = zmq.Context()
  self.sub_socket = self.context.socket(zmq.SUB)
  self.pub_socket = self.context.socket(zmq.PUB)
  self.pub_port = 5566
  self.sub_port = 5566


 def establish_zmq_connection(self):
 # Socket to talk to server
 print Connection to ryu-secondary...
 self.sub_socket.connect (tcp://192.168.241.132:%s %
 self.sub_port)

 def listen_zmq_connection(self):
 print('Listen to zmq connection')
 self.pub_socket.bind(tcp://*:%s % self.pub_port)

 def recieve_messages(self):
 while True:
 try:
 string = self.sub_socket.recv(flags=zmq.NOBLOCK)
 print('flow mod messages recieved {}'.format(string))
 return string
 except zmq.ZMQError:
 break

 def push_messages(self,msg):
 self.pub_socket.send(%s % (msg))


 From ryu-secondary (IP address - 192.168.241.132)

 In the initializer

 self.context = zmq.Context()
 self.sub_socket = self.context.socket(zmq.SUB)
 self.pub_socket = self.context.socket(zmq.PUB)
 self.pub_port = 5566
 self.sub_port = 5566


 def establish_zmq_connection(self):
  # Socket to talk to server
  print Connection to ryu-secondary...
  self.sub_socket.connect (tcp://192.168.241.131:%s %
 self.sub_port)

 def listen_zmq_connection(self):
  print('Listen to zmq connection')
  self.pub_socket.bind(tcp://*:%s % self.pub_port)

 def recieve_messages(self):
 while True:
 try:
  string = self.sub_socket.recv(flags=zmq.NOBLOCK)
  print('flow mod messages recieved
 {}'.format(string))
  return string
 except zmq.ZMQError:
 break

 def push_messages(self,msg):
  print('pushing message to publish socket')
  self.pub_socket.send(%s % (msg))


 These are the functions that I have.

 I am calling
 establish_zmq_connections()
 push_messages()
 from `ryu-secondary`,

 But I am not recieving those messages when I am calling
 listen_zmq_connection()
 recieve_messages()
 from `ryu-primary`.

 Can someone point out to me what I am doing wrong?
   *___*
 zeromq-dev mailing list
 zeromq-dev@lists.zeromq.org
 http://lists.zeromq.org/mailman/listinfo/zeromq-dev



 ___
  zeromq-dev mailing list
  zeromq-dev@lists.zeromq.org
  http://lists.zeromq.org/mailman/listinfo/zeromq-dev






___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] simple publish subscribe not working with zeromq

2014-10-11 Thread Karthik Sharma
I want to establish publish subscribe communication between to machines.The
two machines that I have are
`ryu-primary` and `ryu-secondary`

The steps I follow in each of the machines are as follows.In the
initializer for `ryu-primary` (IP address is 192.168.241.131)

 self.context = zmq.Context()
 self.sub_socket = self.context.socket(zmq.SUB)
 self.pub_socket = self.context.socket(zmq.PUB)
 self.pub_port = 5566
 self.sub_port = 5566


def establish_zmq_connection(self):
# Socket to talk to server
print Connection to ryu-secondary...
self.sub_socket.connect (tcp://192.168.241.132:%s % self.sub_port)

def listen_zmq_connection(self):
print('Listen to zmq connection')
self.pub_socket.bind(tcp://*:%s % self.pub_port)

def recieve_messages(self):
while True:
try:
string = self.sub_socket.recv(flags=zmq.NOBLOCK)
print('flow mod messages recieved {}'.format(string))
return string
except zmq.ZMQError:
break

def push_messages(self,msg):
self.pub_socket.send(%s % (msg))


From ryu-secondary (IP address - 192.168.241.132)

In the initializer

self.context = zmq.Context()
self.sub_socket = self.context.socket(zmq.SUB)
self.pub_socket = self.context.socket(zmq.PUB)
self.pub_port = 5566
self.sub_port = 5566


def establish_zmq_connection(self):
 # Socket to talk to server
 print Connection to ryu-secondary...
 self.sub_socket.connect (tcp://192.168.241.131:%s %
self.sub_port)

def listen_zmq_connection(self):
 print('Listen to zmq connection')
 self.pub_socket.bind(tcp://*:%s % self.pub_port)

def recieve_messages(self):
while True:
try:
 string = self.sub_socket.recv(flags=zmq.NOBLOCK)
 print('flow mod messages recieved
{}'.format(string))
 return string
except zmq.ZMQError:
break

def push_messages(self,msg):
 print('pushing message to publish socket')
 self.pub_socket.send(%s % (msg))


These are the functions that I have.

I am calling
establish_zmq_connections()
push_messages()
from `ryu-secondary`,

But I am not recieving those messages when I am calling
listen_zmq_connection()
recieve_messages()
from `ryu-primary`.

Can someone point out to me what I am doing wrong?
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] simple publish subscribe not working with zeromq

2014-10-11 Thread Justin Karneges
Hi Karthik,



You need to subscribe to a topic, not merely connect. You can
subscribe to an empty string to receive all messages. E.g.:
sub_socket.setsockopt(zmq.SUBSCRIBE, '')



On Sat, Oct 11, 2014, at 04:16 PM, Karthik Sharma wrote:

I want to establish publish subscribe communication between to
machines.The two machines that I have are
`ryu-primary` and `ryu-secondary`

The steps I follow in each of the machines are as follows.In
the initializer for `ryu-primary` (IP address is
192.168.241.131)

 self.context = zmq.Context()
 self.sub_socket = self.context.socket(zmq.SUB)
 self.pub_socket = self.context.socket(zmq.PUB)
 self.pub_port = 5566
 self.sub_port = 5566


def establish_zmq_connection(self):
# Socket to talk to server
print Connection to ryu-secondary...
self.sub_socket.connect (tcp://192.168.241.132:%s %
self.sub_port)

def listen_zmq_connection(self):
print('Listen to zmq connection')
self.pub_socket.bind(tcp://*:%s % self.pub_port)

def recieve_messages(self):
while True:
try:
string =
self.sub_socket.recv(flags=zmq.NOBLOCK)
print('flow mod messages recieved
{}'.format(string))
return string
except zmq.ZMQError:
break

def push_messages(self,msg):
self.pub_socket.send(%s % (msg))


From ryu-secondary (IP address - 192.168.241.132)

In the initializer

self.context = zmq.Context()
self.sub_socket = self.context.socket(zmq.SUB)
self.pub_socket = self.context.socket(zmq.PUB)
self.pub_port = 5566
self.sub_port = 5566


def establish_zmq_connection(self):
 # Socket to talk to server
 print Connection to ryu-secondary...
 self.sub_socket.connect (tcp://192.168.241.131:%s %
self.sub_port)

def listen_zmq_connection(self):
 print('Listen to zmq connection')
 self.pub_socket.bind(tcp://*:%s % self.pub_port)

def recieve_messages(self):
while True:
try:
 string =
self.sub_socket.recv(flags=zmq.NOBLOCK)
 print('flow mod messages recieved
{}'.format(string))
 return string
except zmq.ZMQError:
break

def push_messages(self,msg):
 print('pushing message to publish socket')
 self.pub_socket.send(%s % (msg))


These are the functions that I have.

I am calling
establish_zmq_connections()
push_messages()
from `ryu-secondary`,

But I am not recieving those messages when I am calling
listen_zmq_connection()
recieve_messages()
from `ryu-primary`.

Can someone point out to me what I am doing wrong?

___

zeromq-dev mailing list

[1]zeromq-dev@lists.zeromq.org

[2]http://lists.zeromq.org/mailman/listinfo/zeromq-dev

References

1. mailto:zeromq-dev@lists.zeromq.org
2. http://lists.zeromq.org/mailman/listinfo/zeromq-dev
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] simple publish subscribe not working with zeromq

2014-10-11 Thread Karthik Sharma
Hi Justin,

Thanks for the reply.That did work!

I have a follow on question.

I am tying to send the following structure.

 msg = {'in_port':in_port,'dst':dst,'actions':actions}
 self.push_messages(msg)

However on the recieving side,I can decode the msg using format(msg) but I
can acess the members in the dictionary.

 print('flow_mod recieved from ryu-primary {}'.format(flow_mod[in_port]))

- flow_mod recieved from ryu-primary {'dst': u'00:00:00:00:00:04',
'actions': [OFPActionOutput(max_len=65509,port=2)], 'in_port': 1}


self.add_flow(datapath, flow_mod[in_port], flow_mod[dst], flow_mod[actions])

--- doesn't work?   -- gives error NameError: global name
'in_port' is not defined


Regards,
Karthik.





On 12 October 2014 12:31, Justin Karneges jus...@affinix.com wrote:

  Hi Karthik,

 You need to subscribe to a topic, not merely connect. You can subscribe to
 an empty string to receive all messages. E.g.:
 sub_socket.setsockopt(zmq.SUBSCRIBE, '')

 On Sat, Oct 11, 2014, at 04:16 PM, Karthik Sharma wrote:

 I want to establish publish subscribe communication between to
 machines.The two machines that I have are
 `ryu-primary` and `ryu-secondary`

 The steps I follow in each of the machines are as follows.In the
 initializer for `ryu-primary` (IP address is 192.168.241.131)

  self.context = zmq.Context()
  self.sub_socket = self.context.socket(zmq.SUB)
  self.pub_socket = self.context.socket(zmq.PUB)
  self.pub_port = 5566
  self.sub_port = 5566


 def establish_zmq_connection(self):
 # Socket to talk to server
 print Connection to ryu-secondary...
 self.sub_socket.connect (tcp://192.168.241.132:%s %
 self.sub_port)

 def listen_zmq_connection(self):
 print('Listen to zmq connection')
 self.pub_socket.bind(tcp://*:%s % self.pub_port)

 def recieve_messages(self):
 while True:
 try:
 string = self.sub_socket.recv(flags=zmq.NOBLOCK)
 print('flow mod messages recieved {}'.format(string))
 return string
 except zmq.ZMQError:
 break

 def push_messages(self,msg):
 self.pub_socket.send(%s % (msg))


 From ryu-secondary (IP address - 192.168.241.132)

 In the initializer

 self.context = zmq.Context()
 self.sub_socket = self.context.socket(zmq.SUB)
 self.pub_socket = self.context.socket(zmq.PUB)
 self.pub_port = 5566
 self.sub_port = 5566


 def establish_zmq_connection(self):
  # Socket to talk to server
  print Connection to ryu-secondary...
  self.sub_socket.connect (tcp://192.168.241.131:%s %
 self.sub_port)

 def listen_zmq_connection(self):
  print('Listen to zmq connection')
  self.pub_socket.bind(tcp://*:%s % self.pub_port)

 def recieve_messages(self):
 while True:
 try:
  string = self.sub_socket.recv(flags=zmq.NOBLOCK)
  print('flow mod messages recieved
 {}'.format(string))
  return string
 except zmq.ZMQError:
 break

 def push_messages(self,msg):
  print('pushing message to publish socket')
  self.pub_socket.send(%s % (msg))


 These are the functions that I have.

 I am calling
 establish_zmq_connections()
 push_messages()
 from `ryu-secondary`,

 But I am not recieving those messages when I am calling
 listen_zmq_connection()
 recieve_messages()
 from `ryu-primary`.

 Can someone point out to me what I am doing wrong?
  *___*
 zeromq-dev mailing list
 zeromq-dev@lists.zeromq.org
 http://lists.zeromq.org/mailman/listinfo/zeromq-dev



 ___
 zeromq-dev mailing list
 zeromq-dev@lists.zeromq.org
 http://lists.zeromq.org/mailman/listinfo/zeromq-dev


___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] simple publish subscribe not working with zeromq

2014-10-11 Thread Justin Karneges
Maybe you mean flow_mod['in_port'] ?





On Sat, Oct 11, 2014, at 08:23 PM, Karthik Sharma wrote:

Hi Justin,

Thanks for the reply.That did work!

I have a follow on question.

I am tying to send the following structure.

 msg = {'in_port':in_port,'dst':dst,'actions':actions}
 self.push_messages(msg)

However on the recieving side,I can decode the msg using
format(msg) but I can acess the members in the dictionary.

 print('flow_mod recieved from ryu-primary
{}'.format(flow_mod[in_port]))

- flow_mod recieved from ryu-primary {'dst':
u'00:00:00:00:00:04', 'actions':
[OFPActionOutput(max_len=65509,port=2)], 'in_port': 1}


self.add_flow(datapath, flow_mod[in_port], flow_mod[dst],
flow_mod[actions])

--- doesn't work?   -- gives error NameError: global
name 'in_port' is not defined


Regards,
Karthik.





On 12 October 2014 12:31, Justin Karneges
[1]jus...@affinix.com wrote:

Hi Karthik,

You need to subscribe to a topic, not merely connect. You can
subscribe to an empty string to receive all messages. E.g.:
sub_socket.setsockopt(zmq.SUBSCRIBE, '')

On Sat, Oct 11, 2014, at 04:16 PM, Karthik Sharma wrote:

I want to establish publish subscribe communication between to
machines.The two machines that I have are
`ryu-primary` and `ryu-secondary`

The steps I follow in each of the machines are as follows.In
the initializer for `ryu-primary` (IP address is
192.168.241.131)

 self.context = zmq.Context()
 self.sub_socket = self.context.socket(zmq.SUB)
 self.pub_socket = self.context.socket(zmq.PUB)
 self.pub_port = 5566
 self.sub_port = 5566


def establish_zmq_connection(self):
# Socket to talk to server
print Connection to ryu-secondary...
self.sub_socket.connect (tcp://192.168.241.132:%s %
self.sub_port)

def listen_zmq_connection(self):
print('Listen to zmq connection')
self.pub_socket.bind(tcp://*:%s % self.pub_port)

def recieve_messages(self):
while True:
try:
string =
self.sub_socket.recv(flags=zmq.NOBLOCK)
print('flow mod messages recieved
{}'.format(string))
return string
except zmq.ZMQError:
break

def push_messages(self,msg):
self.pub_socket.send(%s % (msg))


From ryu-secondary (IP address - 192.168.241.132)

In the initializer

self.context = zmq.Context()
self.sub_socket = self.context.socket(zmq.SUB)
self.pub_socket = self.context.socket(zmq.PUB)
self.pub_port = 5566
self.sub_port = 5566


def establish_zmq_connection(self):
 # Socket to talk to server
 print Connection to ryu-secondary...
 self.sub_socket.connect (tcp://192.168.241.131:%s %
self.sub_port)

def listen_zmq_connection(self):
 print('Listen to zmq connection')
 self.pub_socket.bind(tcp://*:%s % self.pub_port)

def recieve_messages(self):
while True:
try:
 string =
self.sub_socket.recv(flags=zmq.NOBLOCK)
 print('flow mod messages recieved
{}'.format(string))
 return string
except zmq.ZMQError:
break

def push_messages(self,msg):
 print('pushing message to publish socket')
 self.pub_socket.send(%s % (msg))


These are the functions that I have.

I am calling
establish_zmq_connections()
push_messages()
from `ryu-secondary`,

But I am not recieving those messages when I am calling
listen_zmq_connection()
recieve_messages()
from `ryu-primary`.

Can someone point out to me what I am doing wrong?

___

zeromq-dev mailing list

[2]zeromq-dev@lists.zeromq.org

[3]http://lists.zeromq.org/mailman/listinfo/zeromq-dev




___

zeromq-dev mailing list

[4]zeromq-dev@lists.zeromq.org

[5]http://lists.zeromq.org/mailman/listinfo/zeromq-dev

References

1. mailto:jus...@affinix.com
2. mailto:zeromq-dev@lists.zeromq.org
3. http://lists.zeromq.org/mailman/listinfo/zeromq-dev
4. mailto:zeromq-dev@lists.zeromq.org
5. http://lists.zeromq.org/mailman/listinfo/zeromq-dev
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev