Skip to content

Commit

Permalink
Merge pull request #139 from batfish/unstable
Browse files Browse the repository at this point in the history
Unstable
  • Loading branch information
arifogel committed Jun 2, 2017
2 parents d3e6150 + 10bd8df commit f5218e4
Show file tree
Hide file tree
Showing 54 changed files with 1,783 additions and 498 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public final class Version {

private static final String UNKNOWN_VERSION = "0.0.0";

private static final String VERSION = "0.22.0";
private static final String VERSION = "0.23.0";

public static void checkCompatibleVersion(String myName, String otherName,
String otherVersion) {
Expand Down
318 changes: 318 additions & 0 deletions projects/batfish-common-protocol/src/org/batfish/datamodel/Flow.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package org.batfish.datamodel;

import org.batfish.common.BatfishException;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand All @@ -8,6 +10,321 @@
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
public final class Flow implements Comparable<Flow> {

public static class Builder {

private Integer _dscp;

private Ip _dstIp;

private Integer _dstPort;

private Integer _ecn;

private Integer _fragmentOffset;

private Integer _icmpCode;

private Integer _icmpType;

private String _ingressInterface;

private String _ingressNode;

private String _ingressVrf;

private IpProtocol _ipProtocol;

private Integer _packetLength;

private Ip _srcIp;

private Integer _srcPort;

private State _state;

private String _tag;

private Integer _tcpFlagsAck;

private Integer _tcpFlagsCwr;

private Integer _tcpFlagsEce;

private Integer _tcpFlagsFin;

private Integer _tcpFlagsPsh;

private Integer _tcpFlagsRst;

private Integer _tcpFlagsSyn;

private Integer _tcpFlagsUrg;

public Builder() {
_dscp = 0;
_dstIp = Ip.ZERO;
_dstPort = 0;
_ecn = 0;
_fragmentOffset = 0;
_ipProtocol = IpProtocol.IP;
_srcIp = Ip.ZERO;
_srcPort = 0;
_icmpType = IcmpType.UNSET;
_icmpCode = IcmpCode.UNSET;
_ingressVrf = Configuration.DEFAULT_VRF_NAME;
_packetLength = 0;
_state = State.NEW;
_tcpFlagsCwr = 0;
_tcpFlagsEce = 0;
_tcpFlagsUrg = 0;
_tcpFlagsAck = 0;
_tcpFlagsPsh = 0;
_tcpFlagsRst = 0;
_tcpFlagsSyn = 0;
_tcpFlagsFin = 0;
}

public Builder(Flow flow) {
_ingressNode = flow._ingressNode;
_ingressInterface = flow._ingressInterface;
_ingressVrf = flow._ingressVrf;
_srcIp = flow._srcIp;
_dstIp = flow._dstIp;
_srcPort = flow._srcPort;
_dstPort = flow._dstPort;
_ipProtocol = flow._ipProtocol;
_dscp = flow._dscp;
_ecn = flow._ecn;
_fragmentOffset = flow._fragmentOffset;
_icmpType = flow._icmpType;
_icmpCode = flow._icmpCode;
_packetLength = flow._packetLength;
_state = flow._state;
_tcpFlagsCwr = flow._tcpFlagsCwr;
_tcpFlagsEce = flow._tcpFlagsEce;
_tcpFlagsUrg = flow._tcpFlagsUrg;
_tcpFlagsAck = flow._tcpFlagsAck;
_tcpFlagsPsh = flow._tcpFlagsPsh;
_tcpFlagsRst = flow._tcpFlagsRst;
_tcpFlagsSyn = flow._tcpFlagsSyn;
_tcpFlagsFin = flow._tcpFlagsFin;
_tag = flow._tag;
}

public Flow build() {
if (_ingressNode == null) {
throw new BatfishException(
"Cannot build flow without at least specifying ingress node");
}
if (_tag == null) {
throw new BatfishException(
"Cannot build flow without specifying tag");
}
return new Flow(_ingressNode, _ingressInterface, _ingressVrf, _srcIp,
_dstIp, _srcPort, _dstPort, _ipProtocol, _dscp, _ecn,
_fragmentOffset, _icmpType, _icmpCode, _packetLength, _state,
_tcpFlagsCwr, _tcpFlagsEce, _tcpFlagsUrg, _tcpFlagsAck,
_tcpFlagsPsh, _tcpFlagsRst, _tcpFlagsSyn, _tcpFlagsFin, _tag);
}

public Integer getDscp() {
return _dscp;
}

public Ip getDstIp() {
return _dstIp;
}

public Integer getDstPort() {
return _dstPort;
}

public Integer getEcn() {
return _ecn;
}

public Integer getIcmpCode() {
return _icmpCode;
}

public Integer getIcmpType() {
return _icmpType;
}

public String getIngressInterface() {
return _ingressInterface;
}

public String getIngressNode() {
return _ingressNode;
}

public String getIngressVrf() {
return _ingressVrf;
}

public IpProtocol getIpProtocol() {
return _ipProtocol;
}

public Integer getPacketLength() {
return _packetLength;
}

public Ip getSrcIp() {
return _srcIp;
}

public Integer getSrcPort() {
return _srcPort;
}

public State getState() {
return _state;
}

public String getTag() {
return _tag;
}

public Integer getTcpFlagsAck() {
return _tcpFlagsAck;
}

public Integer getTcpFlagsCwr() {
return _tcpFlagsCwr;
}

public Integer getTcpFlagsEce() {
return _tcpFlagsEce;
}

public Integer getTcpFlagsFin() {
return _tcpFlagsFin;
}

public Integer getTcpFlagsPsh() {
return _tcpFlagsPsh;
}

public Integer getTcpFlagsRst() {
return _tcpFlagsRst;
}

public Integer getTcpFlagsSyn() {
return _tcpFlagsSyn;
}

public Integer getTcpFlagsUrg() {
return _tcpFlagsUrg;
}

public void setDscp(Integer dscp) {
_dscp = dscp;
}

public void setDstIp(Ip dstIp) {
_dstIp = dstIp;
}

public void setDstPort(int dstPort) {
_dstPort = dstPort;
}

public void setDstPort(Integer dstPort) {
_dstPort = dstPort;
}

public void setEcn(Integer ecn) {
_ecn = ecn;
}

public void setFragmentOffset(int fragmentOffset) {
_fragmentOffset = fragmentOffset;
}

public void setIcmpCode(Integer icmpCode) {
_icmpCode = icmpCode;
}

public void setIcmpType(Integer icmpType) {
_icmpType = icmpType;
}

public void setIngressInterface(String ingressInterface) {
_ingressInterface = ingressInterface;
}

public void setIngressNode(String ingressNode) {
_ingressNode = ingressNode;
}

public void setIngressVrf(String ingressVrf) {
_ingressVrf = ingressVrf;
}

public void setIpProtocol(IpProtocol ipProtocol) {
_ipProtocol = ipProtocol;
}

public void setPacketLength(Integer packetLength) {
_packetLength = packetLength;
}

public void setSrcIp(Ip srcIp) {
_srcIp = srcIp;
}

public void setSrcPort(int srcPort) {
_srcPort = srcPort;
}

public void setSrcPort(Integer srcPort) {
_srcPort = srcPort;
}

public void setState(State state) {
_state = state;
}

public void setTag(String tag) {
_tag = tag;
}

public void setTcpFlagsAck(Integer tcpFlagsAck) {
_tcpFlagsAck = tcpFlagsAck;
}

public void setTcpFlagsCwr(Integer tcpFlagsCwr) {
_tcpFlagsCwr = tcpFlagsCwr;
}

public void setTcpFlagsEce(Integer tcpFlagsEce) {
_tcpFlagsEce = tcpFlagsEce;
}

public void setTcpFlagsFin(Integer tcpFlagsFin) {
_tcpFlagsFin = tcpFlagsFin;
}

public void setTcpFlagsPsh(Integer tcpFlagsPsh) {
_tcpFlagsPsh = tcpFlagsPsh;
}

public void setTcpFlagsRst(Integer tcpFlagsRst) {
_tcpFlagsRst = tcpFlagsRst;
}

public void setTcpFlagsSyn(Integer tcpFlagsSyn) {
_tcpFlagsSyn = tcpFlagsSyn;
}

public void setTcpFlagsUrg(Integer tcpFlagsUrg) {
_tcpFlagsUrg = tcpFlagsUrg;
}

}

private static final String DSCP_VAR = "dscp";

private static final String DST_IP_VAR = "dstIp";
Expand Down Expand Up @@ -532,4 +849,5 @@ public String toString() {
+ icmpTypeStr + icmpCodeStr + " packetLength:" + _packetLength
+ " state:" + _state + tcpFlagsStr + " tag:" + _tag + ">";
}

}

0 comments on commit f5218e4

Please sign in to comment.