in src/analysis/nfs_parser.cpp [211:240]
static inline void analyze_nfsv4_procedure(const uint32_t procedure, XDRDecoder&& c, XDRDecoder&& r, const Session* s, Analyzers& analyzers)
{
using namespace NST::protocols::NFS4;
using namespace NST::protocols::NFS41;
switch(get_nfs4_compound_minor_version(procedure, c.data().data))
{
case NFS_V40:
switch(procedure)
{
case ProcEnumNFS4::NFS_NULL:
analyzers(&IAnalyzer::INFSv4rpcgen::null4, NFSPROC4RPCGEN_NULL{c, r, s});
break;
case ProcEnumNFS4::COMPOUND:
NFSPROC4RPCGEN_COMPOUND compound{c, r, s};
analyzers(&IAnalyzer::INFSv4rpcgen::compound4, compound);
analyze_nfs40_operations(analyzers, compound);
break;
}
break;
case NFS_V41:
if(ProcEnumNFS41::COMPOUND == procedure)
{
NFSPROC41RPCGEN_COMPOUND compound{c, r, s};
analyzers(&IAnalyzer::INFSv41rpcgen::compound41, compound);
analyze_nfs41_operations(analyzers, compound);
}
break;
}
}