X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=vpnservice%2Fbgpmanager%2Fbgpmanager-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Fbgpmanager%2Fcommands%2FNetwork.java;h=a2269dc42f16c8e5949853feae65cdf910ae12e6;hb=8189f937ba93cc7986b0b47c1a303eeefa57cfcb;hp=95f117cec2e641ca1e116f07db06ca281922724e;hpb=535bbf84704e9d9e93a2f26a909e9373538f09b7;p=netvirt.git diff --git a/vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Network.java b/vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Network.java index 95f117cec2..a2269dc42f 100644 --- a/vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Network.java +++ b/vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Network.java @@ -8,6 +8,7 @@ package org.opendaylight.netvirt.bgpmanager.commands; +import java.util.List; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; import org.apache.karaf.shell.commands.Option; @@ -15,13 +16,12 @@ import org.apache.karaf.shell.console.OsgiCommandSupport; import org.opendaylight.netvirt.bgpmanager.BgpManager; import org.opendaylight.netvirt.bgpmanager.thrift.gen.qbgpConstants; import org.opendaylight.netvirt.fibmanager.api.RouteOrigin; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentries.VrfEntry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.List; - @Command(scope = "odl", name = "bgp-network", - description = "Add or delete BGP static routes") + description = "Add or delete BGP static routes") public class Network extends OsgiCommandSupport { private static final String RD = "--rd"; private static final String PFX = "--prefix"; @@ -29,83 +29,84 @@ public class Network extends OsgiCommandSupport { private static final String LB = "--label"; static final Logger LOGGER = LoggerFactory.getLogger(Network.class); - @Argument(name="add|del", description="The desired operation", - required=true, multiValued = false) + @Argument(name = "add|del", description = "The desired operation", + required = true, multiValued = false) private String action = null; - @Option(name=RD, aliases={"-r"}, - description="Route distinguisher", - required=false, multiValued=false) + @Option(name = RD, aliases = {"-r"}, + description = "Route distinguisher", + required = false, multiValued = false) private String rd = null; - @Option(name=PFX, aliases={"-p"}, - description="prefix/length", - required=false, multiValued=false) + @Option(name = PFX, aliases = {"-p"}, + description = "prefix/length", + required = false, multiValued = false) private String pfx = null; - @Option(name=NH, aliases={"-n"}, - description="Nexthop", - required=false, multiValued=true) + @Option(name = NH, aliases = {"-n"}, + description = "Nexthop", + required = false, multiValued = true) private List nh = null; - @Option(name=LB, aliases={"-l"}, - description="Label", - required=false, multiValued=false) + @Option(name = LB, aliases = {"-l"}, + description = "Label", + required = false, multiValued = false) private String lbl = null; private RouteOrigin staticOrigin = RouteOrigin.STATIC; private Object usage() { - System.err.println( - "usage: bgp-network ["+RD+" rd] ["+PFX+" prefix/len] [" - +NH+" nexthop] ["+LB+" label] "); + session.getConsole().println( + "usage: bgp-network [" + RD + " rd] [" + PFX + " prefix/len] [" + + NH + " nexthop] [" + LB + " label] "); return null; } @Override protected Object doExecute() throws Exception { - if (!Commands.bgpRunning()) { + if (!Commands.bgpRunning(session.getConsole())) { return null; } BgpManager bm = Commands.getBgpManager(); switch (action) { case "add": int label = qbgpConstants.LBL_EXPLICIT_NULL; - if (pfx == null ) { - System.err.println("error: "+PFX+" is needed"); + if (pfx == null) { + session.getConsole().println("error: " + PFX + " is needed"); return null; } if (nh == null) { - System.err.println("error: "+NH+" is needed"); + session.getConsole().println("error: " + NH + " is needed"); return null; } //TODO: syntactic validation of prefix for (String nextHop : nh) { - if (!Commands.isValid(nextHop, Commands.IPADDR, NH)) { + if (!Commands.isValid(session.getConsole(), nextHop, Commands.Validators.IPADDR, NH)) { return null; } } if (lbl != null) { - if (!Commands.isValid(lbl, Commands.INT, LB)) { + if (!Commands.isValid(session.getConsole(), lbl, Commands.Validators.INT, LB)) { return null; } else { label = Integer.valueOf(lbl); } } else if (rd == null) { - System.err.println("error: "+RD+" is needed"); + session.getConsole().println("error: " + RD + " is needed"); return null; } LOGGER.info("ADD: Adding Fib entry rd {} prefix {} nexthop {} label {}", rd, pfx, nh, label); - bm.addPrefix(rd, pfx, nh, label, staticOrigin); + bm.addPrefix(rd, null /*maAddress*/, pfx, nh, + VrfEntry.EncapType.Mplsgre, label, 0 /*l3vni*/, null /*gatewayMacAddress*/, staticOrigin); LOGGER.info("ADD: Added Fib entry rd {} prefix {} nexthop {} label {}", rd, pfx, nh, label); break; case "del": if (pfx == null) { - System.err.println("error: "+PFX+" is needed"); + session.getConsole().println("error: " + PFX + " is needed"); return null; } if (nh != null || lbl != null) { - System.err.println("note: some option(s) not needed; ignored"); + session.getConsole().println("note: some option(s) not needed; ignored"); } LOGGER.info("REMOVE: Removing Fib entry rd {} prefix {}", rd, pfx); bm.deletePrefix(rd, pfx);