/* * Copyright 2015-present Open Networking Laboratory * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ package org.onosproject.bgp.controller.impl; import java.util.List; import org.onosproject.bgp.controller.BgpId; import org.onosproject.bgp.controller.BgpSessionInfo; import org.onosproject.bgpio.protocol.BgpVersion; import org.onosproject.bgpio.types.BgpValueType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Class maintains BGP peer session info. */ public class BgpSessionInfoImpl implements BgpSessionInfo { protected final Logger log = LoggerFactory.getLogger(BgpSessionInfoImpl.class); private BgpId remoteBgpId; private BgpVersion remoteBgpVersion; private long remoteBgpASNum; private short remoteBgpholdTime; private int remoteBgpIdentifier; private short negotiatedholdTime; private boolean isIbgpSession; List<BgpValueType> remoteBgpCapability; /** * Initialize session info. * *@param remoteBgpId remote peer id *@param remoteBgpVersion remote peer version *@param remoteBgpASNum remote peer AS number *@param remoteBgpholdTime remote peer hold time *@param remoteBgpIdentifier remote peer identifier *@param negotiatedholdTime negotiated hold time *@param isIbgpSession session type ibgp/ebgp *@param remoteBgpCapability remote peer capabilities */ public BgpSessionInfoImpl(BgpId remoteBgpId, BgpVersion remoteBgpVersion, long remoteBgpASNum, short remoteBgpholdTime, int remoteBgpIdentifier, short negotiatedholdTime, boolean isIbgpSession, List<BgpValueType> remoteBgpCapability) { this.remoteBgpId = remoteBgpId; this.remoteBgpVersion = remoteBgpVersion; this.remoteBgpASNum = remoteBgpASNum; this.remoteBgpholdTime = remoteBgpholdTime; this.remoteBgpIdentifier = remoteBgpIdentifier; this.negotiatedholdTime = negotiatedholdTime; this.isIbgpSession = isIbgpSession; this.remoteBgpCapability = remoteBgpCapability; } @Override public List<BgpValueType> remoteBgpCapability() { return remoteBgpCapability; } @Override public boolean isIbgpSession() { return isIbgpSession; } @Override public short negotiatedholdTime() { return negotiatedholdTime; } @Override public BgpId remoteBgpId() { return remoteBgpId; } @Override public BgpVersion remoteBgpVersion() { return remoteBgpVersion; } @Override public long remoteBgpASNum() { return remoteBgpASNum; } @Override public short remoteBgpHoldTime() { return remoteBgpholdTime; } @Override public int remoteBgpIdentifier() { return remoteBgpIdentifier; } }