David Erickson wrote:
> Dan Wendlandt wrote:
>   
>> David Erickson wrote:
>>     
>>> Hmm, I'm not sure that bindings_storage will work here since this is a 
>>> time sensitive lookup, holding back packets from a flow waiting for a 
>>> callback could be very detrimental, what do you think?
>>>
>>> -David
>>>   
>>>       
>> Hi David and Glen,
>>
>> We had a quick chat here about how to best meet your needs and decided 
>> that the best approach is actually the simplest:  you can just have your 
>> own component listen to all packet in events to fill a python dictionary 
>> of IP-to-location mappings based on the packet-in event's data.
>> Granted, this won't be super scalable in a large network, but if you 
>> need real scalability, you will probably want to port the app to C++, in 
>> which case you can easily access the same info via Authenticator.  Does 
>> that sound reasonable?
>>     
>
> Dan,
> Thanks for the reply. We currently do have code that creates and tracks 
> ip:mac:dpid mappings, the problem was getting this information back in 
> to authenticator for when it creates the flow_in events. However I think 
> what we can do is listen for flow_in's ourself, and if we determine the 
> destination chosen by authenticator is not optimal (ie it selected the 
> gateway when we can actually go directly to an ip), then we will issue a 
> STOP to the event, and post our own flow_in event with the fixed up 
> destination connector object.
>
> That will handle getting routing to set the correct route, then as a 
> quick hack we can add a member variable to the Flow_in_event object to 
> contain a dest mac for rewriting, which can be examined by the 
> handle_flow_in within Routing at the last hop in the Full Route, and add 
> the action to rewrite.
>
> Does that sound reasonable?
>
> Thanks,
> -David
>
> _______________________________________________
> nox-dev mailing list
> [email protected]
> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
>   
Instead of re-posting, you could also const cast the event and modify 
dst to point to a different connector inline.  Other than that, it 
sounds reasonable to me.

Natasha

_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to