Justin Pettit
af04b055a7
Revert "Make vconns keep track of their names and include them in log messages."
...
This reverts commit a39a2431c1 .
2008-09-03 17:43:30 -07:00
Ben Pfaff
bb93ad418c
Also disable atexit hooks in fatal_signal_fork().
...
This fixes a problem in ofp-discover, where it would daemonize itself
after setting an IP address on one of its interfaces. The daemonize
function would call fatal_signal_fork() then exit(0), which would in turn
cause the netdev code to disable the interface and thereby remove the IP
address.
The bug that this fixes was introduced in commit 3cc1ae6a3 , "Add ability
to run fatal signal hooks upon normal termination too."
2008-09-03 10:10:39 -07:00
Ben Pfaff
123301f8b5
Do not send in-band control traffic to the controller.
...
This commit prevents the secure channel from sending any traffic to
or from the controller up to the controller over its OpenFlow connection.
Instead, such traffic is always handled completely locally. This is
what the changes to in-band control up until now have been converging on:
each time, we have reduced the category of traffic that can be sent up
to the controller because we have found that doing so can cause a control
loop. This change goes all the way.
2008-09-02 15:44:58 -07:00
Ben Pfaff
cfc54b8793
Minimal fix for in-band control loop with hub.
...
When a hub has two switches and the controller on three of its ports,
control traffic from the controller to switch 1 is seen by switch 2 as
data traffic, and switch 2 sends it up over its OpenFlow connection. That
control traffic is in turn seen by the switch 1 as data traffic, and so
switch 1 sends it up over its OpenFlow connection. And so on: this is a
loop.
This commit fixes the situation by not sending up over the OpenFlow
connection traffic to the controller that arrived on the controller's
port, as well as traffic from the controller.
2008-09-02 15:42:34 -07:00
Ben Pfaff
a39a2431c1
Make vconns keep track of their names and include them in log messages.
2008-09-02 14:28:22 -07:00
Ben Pfaff
b67a54201f
Update ext.
2008-09-02 13:44:49 -07:00
Ben Pfaff
13e9c27b20
Make "make dist", "make clean" work without extensions submodule present.
2008-08-29 10:05:14 -07:00
Ben Pfaff
27dadb6bc6
Fix detection of OpenFlow extensions submodule.
2008-08-29 09:56:01 -07:00
Ben Pfaff
7b8b6bac10
Fix "make distcheck" error due to failure to clean files added by Automake.
2008-08-28 17:47:01 -07:00
Ben Pfaff
263aa64c49
Add support for extensions submodule.
2008-08-28 17:36:33 -07:00
Ben Pfaff
80e0e1e029
Remove duplicate prefixes on switch-status items.
2008-08-28 14:25:05 -07:00
Ben Pfaff
686e34c8b7
Make the secchan report a few more switch-status items.
2008-08-28 14:25:05 -07:00
Ben Pfaff
3cc1ae6a32
Add ability to run fatal signal hooks upon normal termination too.
...
This is convenient since in many cases we want these hooks to run in
both cases.
2008-08-28 14:24:39 -07:00
Ben Pfaff
7129a314b2
Add license notice to acinclude.m4, configure.ac.
2008-08-28 14:24:39 -07:00
Ben Pfaff
e9ab3dbf6d
Make -P or --pidfile keep programs from running if already running.
2008-08-28 13:17:16 -07:00
Ben Pfaff
3059085830
Fix test for fcntl return value.
...
POSIX only says that -1 is an error; other return values have unspecified
meanings.
2008-08-28 13:15:32 -07:00
Ben Pfaff
637bae3222
Make OpenFlow kernel module print protocol version.
2008-08-28 09:54:50 -07:00
Ben Pfaff
7518061f7d
Allow multiple -l or --listen options on secchan command line.
...
Bug #149 .
2008-08-27 11:50:11 -07:00
Ben Pfaff
ab43666b20
vlog: Apply rate-limiting everywhere it seems warranted.
2008-08-26 13:25:21 -07:00
Ben Pfaff
1a41889356
vlog: Implement rate-limiting.
2008-08-26 13:25:19 -07:00
Ben Pfaff
c1d17df989
vlog: Simplify vlog() by using dynamic-string functions.
2008-08-26 13:25:17 -07:00
Ben Pfaff
2667dfda01
New functions ds_put_strftime(), ds_chomp().
2008-08-26 13:25:17 -07:00
Ben Pfaff
394270a0e5
New header for saturating arithmetic.
2008-08-26 12:04:41 -07:00
Ben Pfaff
5d3042a11f
Eliminate dpctl dependency on /sbin/ifconfig.
2008-08-26 12:03:14 -07:00
Ben Pfaff
23e60ce176
Allow multiple ports on dpctl addif and delif commands, for convenience.
2008-08-26 12:02:59 -07:00
Ben Pfaff
e3d722e73b
Implement new OpenFlow "switch statistics" feature.
...
This should be useful for reporting the status of a switch on its
front-panel display (for those switches that have one) or in the
controller UI.
2008-08-26 11:53:51 -07:00
Ben Pfaff
b057b10a74
rconn: Add functions for reporting connection statistics.
2008-08-26 11:51:17 -07:00
Ben Pfaff
3e464f2c68
Add functions for reporting dhcp client statistics.
2008-08-26 11:51:17 -07:00
Ben Pfaff
16c4a745d7
Change netdev_get_in4() to re-check the IP address on each call.
...
As part of implementing switch stats, secchan wants to report the
IP address currently configured on an interface. Caching it for
all time defeats that purpose.
2008-08-26 11:51:17 -07:00
Ben Pfaff
12e6e0e2dd
New functions ds_truncate(), ds_last().
2008-08-26 11:51:17 -07:00
Ben Pfaff
0415ee1ac9
New function ds_put_printable().
...
Use the function in dhcp_option_to_string().
2008-08-26 11:51:17 -07:00
Justin Pettit
a9485e1c39
Fix a couple of typos.
2008-08-22 13:21:58 -07:00
Justin Pettit
f1c6daebf3
Send PORT_STATUS messages on port and link changes. Add ability to remotely enable and disable a port through the PORT_MOD message.
2008-08-22 12:47:54 -07:00
Ben Pfaff
8f133305af
rconn: Fix bug #100 , "Inactivity time-out slow under heavy load."
...
The timeout() function returns a duration relative to the time at which the
current state was entered, but rconn_run_wait() was treating it as the
waiting time remaining.
2008-08-22 10:34:15 -07:00
Ben Pfaff
95eb308262
Un-learn the port on which a MAC is located after some time.
...
Otherwise, we can send frames the wrong port indefinitely, if the device
in question does not itself initiate sending data.
2008-08-22 10:30:29 -07:00
Justin Pettit
de98090721
Remove unnecessary AC_PROG_LD since OpenFlow no longer uses libtool.
2008-08-21 16:16:33 -07:00
Justin Pettit
b5348aef10
Initialize the table structures to zero.
2008-08-19 17:06:10 -07:00
Justin Pettit
68106c1676
Cleanup git-status by not showing some unnecessary files.
2008-08-18 23:48:58 -07:00
Justin Pettit
3be2832bf4
Fix problem where packets never matched in hash table and flows always added regardless of whether they currently exist.
2008-08-18 22:23:03 -07:00
Justin Pettit
829f7d3961
Link to the normal OpenFlow lib directory, not this hidden one.
2008-08-18 22:13:36 -07:00
Ben Pfaff
15938f6d22
Don't compare wildcards, nw_src_mask, nw_dst_mask fields in hash table.
...
They should always compare equal, so there's no point in wasting the
time.
2008-08-18 14:26:50 -07:00
Ben Pfaff
3dcacb2268
Allow and use shorthands such as "ip" or "tcp" for specifying flows.
2008-08-18 14:26:50 -07:00
Ben Pfaff
1aa7f822ed
Make ofp_packet_in() print the flow corresponding to the buffer also.
2008-08-18 14:26:50 -07:00
Ben Pfaff
9630e41005
Implement subnet mask matching in OpenFlow.
2008-08-18 14:26:50 -07:00
Ben Pfaff
73105a7ca6
Use ETH_ALEN in place of hard-coded 6 in datapath/flow.h.
2008-08-18 14:22:39 -07:00
Ben Pfaff
17a6a6dade
Fix typo in comment.
2008-08-18 14:02:48 -07:00
Justin Pettit
a71357e8f7
Fix dump-flows to be usable by add-flows.
...
Some of the fields when printing a flow are hex, but they don't have a
preceeding "0x". When one tries to import them, they're treated as decimal
and weird results occur. Bug 27.
2008-08-17 23:17:07 -07:00
Justin Pettit
fc13a47f4d
Use a consistent naming convention for counts.
2008-08-17 23:15:21 -07:00
Justin Pettit
d6a1e67a8d
Add stats message that allows querying description of components in OpenFlow.
2008-08-16 09:43:05 -07:00
Justin Pettit
b41a6a0a6d
Added new interface statistics.
2008-08-14 23:12:37 -07:00