当前位置: 首页>>代码示例>>Java>>正文


Java IPv4.PROTOCOL_TCP属性代码示例

本文整理汇总了Java中net.floodlightcontroller.packet.IPv4.PROTOCOL_TCP属性的典型用法代码示例。如果您正苦于以下问题:Java IPv4.PROTOCOL_TCP属性的具体用法?Java IPv4.PROTOCOL_TCP怎么用?Java IPv4.PROTOCOL_TCP使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在net.floodlightcontroller.packet.IPv4的用法示例。


在下文中一共展示了IPv4.PROTOCOL_TCP属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testRuleDeletion

@Test
public void testRuleDeletion() throws Exception {
    // add TCP rule
    FirewallRule rule = new FirewallRule();
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    rule.priority = 1;
    firewall.addRule(rule);
    int rid = rule.ruleid;

    List<Map<String, Object>> rulesFromStorage = firewall.getStorageRules();
    assertEquals(1, rulesFromStorage.size());
    assertEquals(Integer.parseInt((String)rulesFromStorage.get(0).get("ruleid")), rid);

    // delete rule
    firewall.deleteRule(rid);
    rulesFromStorage = firewall.getStorageRules();
    assertEquals(0, rulesFromStorage.size());
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:19,代码来源:FirewallTest.java

示例2: testFirewallDisabled

@Test
public void testFirewallDisabled() throws Exception {
    // firewall isn't enabled by default
    // so, it shouldn't make any decision

    // add TCP rule
    FirewallRule rule = new FirewallRule();
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    rule.priority = 1;
    firewall.addRule(rule);

    this.setPacketIn(tcpPacket);
    firewall.receive(sw, this.packetIn, cntx);
    verify(sw);

    assertEquals(1, firewall.rules.size());

    IRoutingDecision decision = IRoutingDecision.rtStore.get(cntx, IRoutingDecision.CONTEXT_DECISION);
    assertNull(decision);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:21,代码来源:FirewallTest.java

示例3: testReadRulesFromStorage

@Test
public void testReadRulesFromStorage() throws Exception {
    // add 2 rules first
    FirewallRule rule = new FirewallRule();
    rule.in_port = 2;
    rule.dl_src = MACAddress.valueOf("00:00:00:00:00:01").toLong();
    rule.dl_dst = MACAddress.valueOf("00:00:00:00:00:02").toLong();
    rule.priority = 1;
    rule.action = FirewallRule.FirewallAction.DENY;
    firewall.addRule(rule);
    rule = new FirewallRule();
    rule.in_port = 3;
    rule.dl_src = MACAddress.valueOf("00:00:00:00:00:02").toLong();
    rule.dl_dst = MACAddress.valueOf("00:00:00:00:00:01").toLong();
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    rule.tp_dst = 80;
    rule.priority = 2;
    rule.action = FirewallRule.FirewallAction.ALLOW;
    firewall.addRule(rule);

    List<FirewallRule> rules = firewall.readRulesFromStorage();
    // verify rule 1
    FirewallRule r = rules.get(0);
    assertEquals(r.in_port, 2);
    assertEquals(r.priority, 1);
    assertEquals(r.dl_src, MACAddress.valueOf("00:00:00:00:00:01").toLong());
    assertEquals(r.dl_dst, MACAddress.valueOf("00:00:00:00:00:02").toLong());
    assertEquals(r.action, FirewallRule.FirewallAction.DENY);
    // verify rule 2
    r = rules.get(1);
    assertEquals(r.in_port, 3);
    assertEquals(r.priority, 2);
    assertEquals(r.dl_src, MACAddress.valueOf("00:00:00:00:00:02").toLong());
    assertEquals(r.dl_dst, MACAddress.valueOf("00:00:00:00:00:01").toLong());
    assertEquals(r.nw_proto, IPv4.PROTOCOL_TCP);
    assertEquals(r.tp_dst, 80);
    assertEquals(r.wildcard_nw_proto, false);
    assertEquals(r.action, FirewallRule.FirewallAction.ALLOW);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:40,代码来源:FirewallTest.java

示例4: testRuleInsertionIntoStorage

@Test
public void testRuleInsertionIntoStorage() throws Exception {
    // add TCP rule
    FirewallRule rule = new FirewallRule();
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    rule.priority = 1;
    firewall.addRule(rule);

    List<Map<String, Object>> rulesFromStorage = firewall.getStorageRules();
    assertEquals(1, rulesFromStorage.size());
    assertEquals(Integer.parseInt((String)rulesFromStorage.get(0).get("ruleid")), rule.ruleid);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:13,代码来源:FirewallTest.java

示例5: testSimpleAllowRule

@Test
public void testSimpleAllowRule() throws Exception {
    // enable firewall first
    firewall.enableFirewall(true);

    // add TCP rule
    FirewallRule rule = new FirewallRule();
    rule.dl_type = Ethernet.TYPE_IPv4;
    rule.wildcard_dl_type = false;
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    // source is IP 192.168.1.2
    rule.nw_src_prefix = IPv4.toIPv4Address("192.168.1.2");
    rule.wildcard_nw_src = false;
    // dest is network 192.168.1.0/24
    rule.nw_dst_prefix = IPv4.toIPv4Address("192.168.1.0");
    rule.nw_dst_maskbits = 24;
    rule.wildcard_nw_dst = false;
    rule.priority = 1;
    firewall.addRule(rule);

    // simulate a packet-in events

    this.setPacketIn(tcpPacketReply);
    firewall.receive(sw, this.packetIn, cntx);
    verify(sw);

    IRoutingDecision decision = IRoutingDecision.rtStore.get(cntx, IRoutingDecision.CONTEXT_DECISION);
    assertEquals(decision.getRoutingAction(), IRoutingDecision.RoutingAction.FORWARD_OR_FLOOD);

    // clear decision
    IRoutingDecision.rtStore.remove(cntx, IRoutingDecision.CONTEXT_DECISION);

    this.setPacketIn(tcpPacket);
    firewall.receive(sw, this.packetIn, cntx);
    verify(sw);

    decision = IRoutingDecision.rtStore.get(cntx, IRoutingDecision.CONTEXT_DECISION);
    assertEquals(decision.getRoutingAction(), IRoutingDecision.RoutingAction.DROP);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:40,代码来源:FirewallTest.java

示例6: testLayer2Rule

@Test
public void testLayer2Rule() throws Exception {
    // enable firewall first
    firewall.enableFirewall(true);

    // add L2 rule
    FirewallRule rule = new FirewallRule();
    rule.dl_src = MACAddress.valueOf("00:44:33:22:11:00").toLong();
    rule.wildcard_dl_src = false;
    rule.dl_dst = MACAddress.valueOf("00:11:22:33:44:55").toLong();
    rule.wildcard_dl_dst = false;
    rule.priority = 1;
    firewall.addRule(rule);

    // add TCP deny all rule
    rule = new FirewallRule();
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    rule.priority = 2;
    rule.action = FirewallRule.FirewallAction.DENY;
    firewall.addRule(rule);

    // simulate a packet-in event

    this.setPacketIn(tcpPacket);
    firewall.receive(sw, this.packetIn, cntx);
    verify(sw);

    IRoutingDecision decision = IRoutingDecision.rtStore.get(cntx, IRoutingDecision.CONTEXT_DECISION);
    assertEquals(decision.getRoutingAction(), IRoutingDecision.RoutingAction.FORWARD_OR_FLOOD);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:31,代码来源:FirewallTest.java

示例7: jsonToVip

protected LBVip jsonToVip(String json) throws IOException {
    
    if (json==null) return null;
    
    MappingJsonFactory f = new MappingJsonFactory();
    JsonParser jp;
    LBVip vip = new LBVip();
    
    try {
        jp = f.createJsonParser(json);
    } catch (JsonParseException e) {
        throw new IOException(e);
    }
    
    jp.nextToken();
    if (jp.getCurrentToken() != JsonToken.START_OBJECT) {
        throw new IOException("Expected START_OBJECT");
    }
    
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        if (jp.getCurrentToken() != JsonToken.FIELD_NAME) {
            throw new IOException("Expected FIELD_NAME");
        }
        
        String n = jp.getCurrentName();
        jp.nextToken();
        if (jp.getText().equals("")) 
            continue;
 
        if (n.equals("id")) {
            vip.id = jp.getText();
            continue;
        } 
        if (n.equals("tenant_id")) {
            vip.tenantId = jp.getText();
            continue;
        } 
        if (n.equals("name")) {
            vip.name = jp.getText();
            continue;
        }
        if (n.equals("network_id")) {
            vip.netId = jp.getText();
            continue;
        }
        if (n.equals("protocol")) {
            String tmp = jp.getText();
            if (tmp.equalsIgnoreCase("TCP")) {
                vip.protocol = IPv4.PROTOCOL_TCP;
            } else if (tmp.equalsIgnoreCase("UDP")) {
                vip.protocol = IPv4.PROTOCOL_UDP;
            } else if (tmp.equalsIgnoreCase("ICMP")) {
                vip.protocol = IPv4.PROTOCOL_ICMP;
            } 
            continue;
        }
        if (n.equals("address")) {
            vip.address = IPv4.toIPv4Address(jp.getText());
            continue;
        }
        if (n.equals("port")) {
            vip.port = Short.parseShort(jp.getText());
            continue;
        }
        if (n.equals("pool_id")) {
            vip.pools.add(jp.getText());
            continue;
        }
        
        log.warn("Unrecognized field {} in " +
                "parsing Vips", 
                jp.getText());
    }
    jp.close();
    
    return vip;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:77,代码来源:VipsResource.java

示例8: jsonToPool

protected LBPool jsonToPool(String json) throws IOException {
    if (json==null) return null;

    MappingJsonFactory f = new MappingJsonFactory();
    JsonParser jp;
    LBPool pool = new LBPool();
    
    try {
        jp = f.createJsonParser(json);
    } catch (JsonParseException e) {
        throw new IOException(e);
    }
    
    jp.nextToken();
    if (jp.getCurrentToken() != JsonToken.START_OBJECT) {
        throw new IOException("Expected START_OBJECT");
    }
    
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        if (jp.getCurrentToken() != JsonToken.FIELD_NAME) {
            throw new IOException("Expected FIELD_NAME");
        }
        
        String n = jp.getCurrentName();
        jp.nextToken();
        if (jp.getText().equals("")) 
            continue;
        if (n.equals("id")) {
            pool.id = jp.getText();
            continue;
        } 
        if (n.equals("tenant_id")) {
            pool.tenantId = jp.getText();
            continue;
        } 
        if (n.equals("name")) {
            pool.name = jp.getText();
            continue;
        }
        if (n.equals("network_id")) {
            pool.netId = jp.getText();
            continue;
        }
        if (n.equals("lb_method")) {
            pool.lbMethod = Short.parseShort(jp.getText());
            continue;
        }
        if (n.equals("protocol")) {
            String tmp = jp.getText();
            if (tmp.equalsIgnoreCase("TCP")) {
                pool.protocol = IPv4.PROTOCOL_TCP;
            } else if (tmp.equalsIgnoreCase("UDP")) {
                pool.protocol = IPv4.PROTOCOL_UDP;
            } else if (tmp.equalsIgnoreCase("ICMP")) {
                pool.protocol = IPv4.PROTOCOL_ICMP;
            } 
            continue;
        }                    
        if (n.equals("vip_id")) {
            pool.vipId = jp.getText();
            continue;
        } 
        
        log.warn("Unrecognized field {} in " +
                "parsing Pools", 
                jp.getText());
    }
    jp.close();

    return pool;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:71,代码来源:PoolsResource.java

示例9: testOverlappingRules

@Test
public void testOverlappingRules() throws Exception {
    firewall.enableFirewall(true);

    // add TCP port 80 (destination only) allow rule
    FirewallRule rule = new FirewallRule();
    rule.dl_type = Ethernet.TYPE_IPv4;
    rule.wildcard_dl_type = false;
    rule.nw_proto = IPv4.PROTOCOL_TCP;
    rule.wildcard_nw_proto = false;
    rule.tp_dst = 80;
    rule.priority = 1;
    firewall.addRule(rule);

    // add block all rule
    rule = new FirewallRule();
    rule.action = FirewallRule.FirewallAction.DENY;
    rule.priority = 2;
    firewall.addRule(rule);

    assertEquals(2, firewall.rules.size());

    // packet destined to TCP port 80 - should be allowed

    this.setPacketIn(tcpPacket);
    firewall.receive(sw, this.packetIn, cntx);
    verify(sw);

    IRoutingDecision decision = IRoutingDecision.rtStore.get(cntx, IRoutingDecision.CONTEXT_DECISION);
    assertEquals(decision.getRoutingAction(), IRoutingDecision.RoutingAction.FORWARD_OR_FLOOD);

    // clear decision
    IRoutingDecision.rtStore.remove(cntx, IRoutingDecision.CONTEXT_DECISION);

    // packet destined for port 81 - should be denied

    this.setPacketIn(tcpPacketReply);
    firewall.receive(sw, this.packetIn, cntx);
    verify(sw);

    decision = IRoutingDecision.rtStore.get(cntx, IRoutingDecision.CONTEXT_DECISION);
    assertEquals(decision.getRoutingAction(), IRoutingDecision.RoutingAction.DROP);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:43,代码来源:FirewallTest.java


注:本文中的net.floodlightcontroller.packet.IPv4.PROTOCOL_TCP属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。