On 17/02/16 03:31, Alexei Starovoitov wrote:
> On Thu, Feb 11, 2016 at 07:57:05PM +0000, Brian Russell wrote:
>> Support encap/decap of Network Service Header (NSH) as defined in
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dsfc-2Dnsh-2D01&d=CwIBAg&c=IL_XqQWOjubgfqINi2jTzg&r=Doie302MT-sezztwQymkPQ3_4X5Q3a0mKbiZzzoNm-0&m=TRPN3Zh-t31lBDA9ENrL1q3xeXBbMVLbXQhuldfgGN4&s=2lOXPH9TaoFa0x2lbk74kXi0vaLni54K6Hwjlb_Zs5k&e=
>>  
>>
>> Includes support for Type 1 and Type 2 metadata and a simple registration
>> for listeners to see decapsulated packets based on the Type/Class.
>>
>> Signed-off-by: Brian Russell <bruss...@brocade.com>
> ...
>> +int nsh_register_listener(struct nsh_listener *listener)
>> +{
>> +    if (listener->max_ctx_hdrs > limit_ctx_hdrs)
>> +            return -ENOMEM;
>> +
>> +    mutex_lock(&nsh_listener_mutex);
>> +    list_add(&listener->list, &nsh_listeners);
>> +    mutex_unlock(&nsh_listener_mutex);
>> +    return 0;
>> +}
>> +EXPORT_SYMBOL(nsh_register_listener);
>> +EXPORT_SYMBOL(nsh_unregister_listener);
> 
> looks like this patch doesn't actually implement the protocol,
> but rather provides a placeholder for out of tree modules?
> 

It implements the protocol in terms of the NSH base and service path headers 
and it decaps the metadata if present. However, the actual interpretation of 
that metadata is left to registered listeners which might be out of tree 
modules. The NSH standard defines the mechanism to carry metadata but does not 
limit how it is used.

Thanks,

Brian

Reply via email to