git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Catalli's threaded switch
[sliver-openvswitch.git]
/
ofproto
/
ofproto.c
diff --git
a/ofproto/ofproto.c
b/ofproto/ofproto.c
index
844083d
..
d9a278e
100644
(file)
--- a/
ofproto/ofproto.c
+++ b/
ofproto/ofproto.c
@@
-995,6
+995,7
@@
ofproto_destroy(struct ofproto *p)
int
ofproto_run(struct ofproto *p)
{
int
ofproto_run(struct ofproto *p)
{
+ /* handle protocol messages coming from the datapath */
int error = ofproto_run1(p);
if (!error) {
error = ofproto_run2(p, false);
int error = ofproto_run1(p);
if (!error) {
error = ofproto_run2(p, false);
@@
-1056,6
+1057,11
@@
add_snooper(struct ofproto *ofproto, struct vconn *vconn)
}
}
}
}
+/*
+ * Calls the netdevice dpif_netdev_recv() callback,
+ * that read a protocol packet from the dpif queue
+ * and handle the message
+ */
int
ofproto_run1(struct ofproto *p)
{
int
ofproto_run1(struct ofproto *p)
{
@@
-1278,6
+1284,7
@@
ofproto_send_packet(struct ofproto *p, const flow_t *flow,
/* XXX Should we translate the dpif_execute() errno value into an OpenFlow
* error code? */
/* XXX Should we translate the dpif_execute() errno value into an OpenFlow
* error code? */
+ fprintf(stderr, "OFPROTO EXECUTE\n");
dpif_execute(p->dpif, flow->in_port, odp_actions.actions,
odp_actions.n_actions, packet);
return 0;
dpif_execute(p->dpif, flow->in_port, odp_actions.actions,
odp_actions.n_actions, packet);
return 0;