• 大小: 5.15MB
    文件类型: .tar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-08
  • 语言: 其他
  • 标签: openflow  SDN  

资源简介

openflow源代码, 介绍各个结构体,datapath,controller 可以直接用boot.sh进行安装

资源截图

代码片段和文件信息

/* Copyright (c) 2008 The Board of Trustees of The Leland Stanford
 * Junior University
 * 
 * We are making the OpenFlow specification and associated documentation
 * (Software) available for public use and benefit with the expectation
 * that others will use modify and enhance the Software and contribute
 * those enhancements back to the community. However since we would
 * like to make the Software available for broadest use with as few
 * restrictions as possible permission is hereby granted free of
 * charge to any person obtaining a copy of this Software to deal in
 * the Software under the copyrights without restriction including
 * without limitation the rights to use copy modify merge publish
 * distribute sublicense and/or sell copies of the Software and to
 * permit persons to whom the Software is furnished to do so subject to
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED “AS IS“ WITHOUT WARRANTY OF ANY KIND
 * EXPRESS OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER LIABILITY WHETHER IN AN
 * ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * 
 * The name and trademarks of copyright holder(s) may NOT be used in
 * advertising or publicity pertaining to the Software or any
 * derivatives without specific written prior permission.
 */

#include 

#include 
#include 
#include 
#include 
#include 
#include 

#include “command-line.h“
#include “compiler.h“
#include “daemon.h“
#include “fault.h“
#include “learning-switch.h“
#include “ofpbuf.h“
#include “openflow/openflow.h“
#include “poll-loop.h“
#include “rconn.h“
#include “timeval.h“
#include “util.h“
#include “vconn-ssl.h“
#include “vconn.h“
#include “vlog-socket.h“

#include “vlog.h“
#define THIS_MODULE VLM_controller

#define MAX_SWITCHES 16
#define MAX_LISTENERS 16

struct switch_ {
    struct lswitch *lswitch;
    struct rconn *rconn;
};

/* Learn the ports on which MAC addresses appear? */
static bool learn_macs = true;

/* Set up flows?  (If not every packet is processed at the controller.) */
static bool setup_flows = true;

/* --max-idle: Maximum idle time in seconds before flows expire. */
static int max_idle = 60;

static int do_switching(struct switch_ *);
static void new_switch(struct switch_ * struct vconn * const char *name);
static void parse_options(int argc char *argv[]);
static void usage(void) NO_RETURN;

int
main(int argc char *argv[])
{
    struct switch_ switches[MAX_SWITCHES];
    struct pvconn *listeners[MAX_LISTENERS];
    int n_switches n_li

评论

共有 条评论