Lines Matching refs:extack
210 self.extack = None
212 self.extack = dict()
214 for extack in extack_attrs:
215 if extack.type == Netlink.NLMSGERR_ATTR_MSG:
216 self.extack['msg'] = extack.as_strz()
217 elif extack.type == Netlink.NLMSGERR_ATTR_MISS_TYPE:
218 self.extack['miss-type'] = extack.as_scalar('u32')
219 elif extack.type == Netlink.NLMSGERR_ATTR_MISS_NEST:
220 self.extack['miss-nest'] = extack.as_scalar('u32')
221 elif extack.type == Netlink.NLMSGERR_ATTR_OFFS:
222 self.extack['bad-attr-offs'] = extack.as_scalar('u32')
223 elif extack.type == Netlink.NLMSGERR_ATTR_POLICY:
224 self.extack['policy'] = self._decode_policy(extack.raw)
226 if 'unknown' not in self.extack:
227 self.extack['unknown'] = []
228 self.extack['unknown'].append(extack)
232 if 'miss-type' in self.extack and 'miss-nest' not in self.extack:
233 miss_type = self.extack['miss-type']
236 self.extack['miss-type'] = spec['name']
238 self.extack['miss-type-doc'] = spec['doc']
271 if self.extack:
272 msg += '\n\textack: ' + repr(self.extack)
782 raise Exception(f"Can't dive into {attr.type} ({attr_spec['name']}) for extack")
793 def _decode_extack(self, request, op, extack):
794 if 'bad-attr-offs' not in extack:
800 extack['bad-attr-offs'])
802 del extack['bad-attr-offs']
803 extack['bad-attr'] = path
978 if nl_msg.extack:
979 self._decode_extack(req_msg, op, nl_msg.extack)
987 if nl_msg.extack: