+++ /dev/null
-/*
- * Copyright IBM Corporation, 2013. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.samples.loadbalancer;
-
-import org.opendaylight.controller.sal.packet.IPv4;
-import org.opendaylight.controller.sal.packet.Packet;
-import org.opendaylight.controller.sal.packet.TCP;
-import org.opendaylight.controller.sal.packet.UDP;
-import org.opendaylight.controller.sal.utils.IPProtocols;
-import org.opendaylight.controller.sal.utils.NetUtils;
-import org.opendaylight.controller.samples.loadbalancer.entities.Client;
-import org.opendaylight.controller.samples.loadbalancer.entities.VIP;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Class defines utilty methods that will be used by different components
- * of the load balancer service
- *
- */
-public class LBUtil {
-
- private static final Logger lbuLogger = LoggerFactory.getLogger(LBUtil.class);
-
- public LBUtil(){}
-
- /**
- * Extract the details of the source machine that sent this packet 'inPkt'
- * @param inPkt Packet that is received by the controller
- * @return Details of the source machine in Client object.
- */
- public Client getClientFromPacket(IPv4 inPkt){
- lbuLogger.trace("Find client information from packet : {}",inPkt.toString());
-
- String ip = NetUtils.getInetAddress(inPkt.getSourceAddress()).getHostAddress();
-
- String protocol = IPProtocols.getProtocolName(inPkt.getProtocol());
-
- lbuLogger.trace("client ip {} and protocl {}",ip,protocol);
-
- Packet tpFrame= inPkt.getPayload();
-
- lbuLogger.trace("Get protocol layer {}",tpFrame.toString());
-
- short port = 0;
-
- if(protocol.equals(IPProtocols.TCP.toString())){
- TCP tcpFrame = (TCP)tpFrame;
- port = tcpFrame.getSourcePort();
- }else{
- UDP udpFrame = (UDP)tpFrame;
- port = udpFrame.getSourcePort();
- }
-
- lbuLogger.trace("Found port {}",port);
-
- Client source = new Client(ip, protocol,port);
-
- lbuLogger.trace("Client information : {}",source.toString());
-
- return source;
- }
-
- /**
- * Extract the details of the destination machine where this packet 'inPkt' need
- * to be delivered
- * @param inPkt Packet that is received by controller for forwarding
- * @return Details of the destination machine packet in VIP
- */
- public VIP getVIPFromPacket(IPv4 inPkt){
-
- lbuLogger.trace("Find VIP information from packet : {}",inPkt.toString());
-
- String ip = NetUtils.getInetAddress(inPkt.getDestinationAddress()).getHostAddress();
-
- String protocol = IPProtocols.getProtocolName(inPkt.getProtocol());
-
- Packet tpFrame= inPkt.getPayload();
-
- short port = 0;
-
- if(protocol.equals(IPProtocols.TCP.toString())){
- TCP tcpFrame = (TCP)tpFrame;
- port = tcpFrame.getDestinationPort();
- }else{
-
- UDP udpFrame = (UDP)tpFrame;
- port = udpFrame.getDestinationPort();
- }
-
- VIP dest = new VIP(null,ip, protocol,port,null);
-
- lbuLogger.trace("VIP information : {}",dest.toString());
-
- return dest;
- }
-}
\ No newline at end of file