Re: Making controller compatible with multicast.


Darío César Luzuriaga Sorribes <darioluzuriaga@...>
 

Hi, Kai.
Thanks for your feedback.
I'm getting the same error with "100.1.1.1/32" and other
variations.I've been following all the steps from
https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:End_to_End_Groups.
It looks like the previous set ups are okay (in the right directories) as well.
./karaf
sudo mn --custom topology.py --topo mytopo
--controller=remote,ip=192.168.56.101 xterm h1 h3 h5
Is there's something else for me to do? Otherwise, I'll have to look
for other alternatives (if any).
Have a great day.

Dario.

On Sat, Apr 7, 2018 at 2:41 AM, Kai GAO <godrickk@...> wrote:
Hello Dario,

It seems that it's the <ipv4-source>100.1.1.1</ipv4-source> tag. It requires
an IPv4 prefix (from the regular expression) instead of an IPv4 address.

You can try "100.1.1.1/32" instead.

Good luck!

Best,
Kai


On Sat, Apr 7, 2018 at 3:20 AM, Darío César Luzuriaga Sorribes
<darioluzuriaga@...> wrote:

I’m working on a multicast project. It requieres simulation of data flow
over an SDN controller. Unfortunately most controller simulators do not
support multicast.
I followed the instructions on https://pymotw.com/2/socket/multicast.html
on how to make OpenDayLight controllers able to manage multicast flux.
While following the procedure over Postman, I found the errors indicated
on the bottom. The code used is the same proposed on the link.
Do you have any idea about how to fix this problem?
Thanks.

Dario.


CODE:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<group xmlns="urn:opendaylight:flow:inventory">
<group-type>group-all</group-type>
<buckets>
<bucket>
<action>
<pop-vlan-action/>
<order>0</order>
</action>
<bucket-id>12</bucket-id>
<watch_group>14</watch_group>
<watch_port>1234</watch_port>
</bucket>
<bucket>
<action>
<set-field>
<ipv4-source>100.1.1.1</ipv4-source>
</set-field>
<order>0</order>
</action>
<action>
<set-field>
<ipv4-destination>200.71.9.5210</ipv4-destination>
</set-field>
<order>1</order>
</action>
<bucket-id>13</bucket-id>
<watch_group>14</watch_group>
<watch_port>1234</watch_port>
</bucket>
</buckets>
<barrier>false</barrier>
<group-name>Foo</group-name>
<group-id>1</group-id>
</group>


ERRORS:

{
"errors": {
"error": [
{
"error-type": "protocol",
"error-tag": "malformed-message",
"error-message": "Error parsing input: Supplied value
does not match the regular expression

^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))$.
[100.1.1.1]",
"error-info": "java.lang.IllegalArgumentException:
Supplied value does not match the regular expression

^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))$.
[100.1.1.1]\n\tat

com.google.common.base.Preconditions.checkArgument(Preconditions.java:203)\n\tat

org.opendaylight.yangtools.yang.data.impl.codec.CompiledPatternContext.validate(CompiledPatternContext.java:36)\n\tat

org.opendaylight.yangtools.yang.data.impl.codec.StringPatternCheckingCodec.validate(StringPatternCheckingCodec.java:39)\n\tat

org.opendaylight.yangtools.yang.data.impl.codec.StringStringCodec.deserialize(StringStringCodec.java:62)\n\tat

org.opendaylight.yangtools.yang.data.impl.codec.StringStringCodec.deserialize(StringStringCodec.java:26)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.AbstractXmlCodec.parseValue(AbstractXmlCodec.java:36)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.AbstractXmlCodec.parseValue(AbstractXmlCodec.java:21)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.translateValueByType(XmlParserStream.java:453)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.setValue(XmlParserStream.java:435)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:279)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:297)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:297)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:373)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.read(XmlParserStream.java:297)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.parse(XmlParserStream.java:191)\n\tat

org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.traverse(XmlParserStream.java:220)\n\tat

org.opendaylight.netconf.sal.rest.impl.XmlNormalizedNodeBodyReader.parse(XmlNormalizedNodeBodyReader.java:170)\n\tat

org.opendaylight.netconf.sal.rest.impl.XmlNormalizedNodeBodyReader.readFrom(XmlNormalizedNodeBodyReader.java:115)\n\tat

org.opendaylight.netconf.sal.rest.impl.XmlNormalizedNodeBodyReader.readFrom(XmlNormalizedNodeBodyReader.java:93)\n\tat

org.opendaylight.netconf.sal.rest.impl.XmlNormalizedNodeBodyReader.readFrom(XmlNormalizedNodeBodyReader.java:66)\n\tat

com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:488)\n\tat

com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:123)\n\tat

com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)\n\tat

com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:153)\n\tat

com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:203)\n\tat

com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)\n\tat

com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)\n\tat

com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)\n\tat

com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100)\n\tat

com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)\n\tat

com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)\n\tat

com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)\n\tat

com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)\n\tat

com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)\n\tat

com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)\n\tat

com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)\n\tat

com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)\n\tat

com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)\n\tat
javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\tat

org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)\n\tat

org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)\n\tat

org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:201)\n\tat

org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat

org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:257)\n\tat

org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:220)\n\tat

org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat

org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)\n\tat
org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:301)\n\tat

org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat

org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter.doFilter(CustomFilterAdapter.java:83)\n\tat

org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat

org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)\n\tat

org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)\n\tat

org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)\n\tat

org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)\n\tat

org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)\n\tat

org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)\n\tat

org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)\n\tat

org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)\n\tat

org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)\n\tat

org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)\n\tat

org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)\n\tat

org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)\n\tat

org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)\n\tat

org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)\n\tat

org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)\n\tat

org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)\n\tat

org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat

org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)\n\tat

org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:72)\n\tat

org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat

org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)\n\tat

org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)\n\tat

org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)\n\tat

org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)\n\tat

org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)\n\tat

org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\n\tat

org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)\n\tat

org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat

org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)\n\tat

org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)\n\tat
org.eclipse.jetty.server.Server.handle(Server.java:499)\n\tat
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)\n\tat

org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258)\n\tat

org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)\n\tat

org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)\n\tat

org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)\n\tat
java.lang.Thread.run(Thread.java:748)\n"
}
]
}
}

_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev


--
Kai Gao
PhD Candidate at Institute of Network Science and Cyberspace
Department of Computer Science and Technology
Tsinghua University, Beijing, China

Join z.archive.alto-dev@lists.opendaylight.org to automatically receive all group messages.